데이터베이스: Difference between revisions

From IT Wiki
No edit summary
No edit summary
 
(7 intermediate revisions by 2 users not shown)
Line 2: Line 2:
;Database
;Database


== 정의 ==
== 데이터베이스의 정의 ==
# '''통합된 [[데이터]](Integrated Data)''': 하나의 주제에 따라 중복을 최소화한 데이터의 집합
# '''통합된 [[데이터]](Integrated Data)''': 하나의 주제에 따라 중복을 최소화한 데이터의 집합
# '''저장된 [[데이터]](Stored Data)''': 언제든지 필요할 때 이용할 수 있도록 저장된 데이터의 집합
# '''저장된 [[데이터]](Stored Data)''': 언제든지 필요할 때 이용할 수 있도록 저장된 데이터의 집합
Line 8: Line 8:
# '''운영 [[데이터]](Operational Data)''': 중복을 최소화하고 여러 사람이 공유함에 있어서 문제가 발생하지 않도록 관리를 필요로 하는 데이터의 집합
# '''운영 [[데이터]](Operational Data)''': 중복을 최소화하고 여러 사람이 공유함에 있어서 문제가 발생하지 않도록 관리를 필요로 하는 데이터의 집합


== 특징 ==
== 데이터베이스의 특징 ==
# '''계속적인 변화(Continuous Evolution)''': 항상 최신의 데이터로 유지
# '''계속적인 변화(Continuous Evolution)''': 항상 최신의 데이터로 유지
# '''동시 공유(Concurrent Sharing)''': 여러 사용자와 함께 사용
# '''동시 공유(Concurrent Sharing)''': 여러 사용자와 함께 사용
# '''실시간 접근(Real-Time Accessibility)''': 질의에 대해 실시간 처리 및 응답
# '''실시간 접근(Real-Time Accessibility)''': 질의에 대해 실시간 처리 및 응답
# '''내용에 의한 참조(Contents Reference)''': 데이터의 내용에 의한 직접 참조 가능
# '''내용에 의한 참조(Contents Reference)''': 데이터의 내용에 의한 직접 참조 가능
# '''데이터의 논리적/물리적 독립성(Independence)'''
# '''[[데이터 독립성|데이터의 논리적/물리적 독립성(Independence)]]'''
#* 논리적 독립성(응용 프로그램과 데이터베이스와의 관계) : 데이터의 논리적 구조를 변경하여도 응용프로그램에 영향을 주지 않음
#* 논리적 독립성
#* 물리적 독립성(응용 프로그램과 보조기억장치와의 관계) : 물리적 저장장치를 추가·변경하여도 응용 프로그램에는 영향을 주지 않음
#* 물리적 독립성
 
== 데이터베이스의 두가지 종류 ==
초기에는 데이터베이스의 역할에 따라 종류가 명확히 나뉘었으나, 점차 각 DBMS의 시스템들의 성능이나 기능이 향상되면서 어떤 용도로든 사용할 수 있게 되어 시스템 자체를 이렇게 구분해서 분류하는 경우는 없어지고 있다. 다만 사용하는 주 목적에 따라 OLAP로 사용하느냐, OLAP로 사용하느냐의 구분은 여전히 유효하다.
 
* [[OLTP|'''온라인 실시간 트랜젝션 처리 시스템(OLTP)''']]
** 다중 사용자 환경에서 빠르게 데이터의 입출력을 지원하는 형태의 데이터베이스를 말한다.
** 우리가 일반적으로 사용하는 오라클, MySQL이 이에 해당된다. 데이터의 분석 보단 처리에 중점을 둔다.
* [[OLAP|'''온라인 분석 처리 시스템(OLAP)''']]
** 데이터의 실시간 처리보단 대량의 데이터를 원하는 조건으로 빠르게 조회하여 분석이 용이하도록 도와주는 데이터베이스를 말한다.
** [[데이터웨어하우스]]나 [[비즈니스 인텔리전스]] 같은 개념들이 주로 OLAP에 해당된다.


== 데이터 모델 ==
== 데이터 모델 ==
Line 21: Line 31:
* [[데이터 모델]]
* [[데이터 모델]]
* [[관계형 데이터베이스]]
* [[관계형 데이터베이스]]
* [[데이터베이스 키]]
* [[데이터베이스 무결성]]
* [[데이터베이스 중복]]
* [[데이터베이스 Null]]
* [[SQL]]
* [[SQL]]
* [[데이터베이스 뷰]]
* [[데이터베이스 뷰]]
* [[데이터베이스 정규화]]
* [[ER 다이어그램]]


== 데이터베이스 관리시스템(DBMS) ==
== 데이터베이스 관리시스템(DBMS) ==
Line 32: Line 48:
* [[스키마|스키마 문서 참조]]
* [[스키마|스키마 문서 참조]]


== 트랜잭션 ==
== [[트랜잭션]] ==
;데이터베이스에서 정보가 처리되는 단위
;데이터베이스에서 정보가 처리되는 단위
* [[트랜잭션|트랜잭션 문서 참조]]
* [[ACID|원자성(Atomicity), 일관성(Consistency), 독립성(Isolation), 영속성(Durability)]] 특성을 가진다.
* [[데이터베이스 병행제어]]
** [[데이터베이스 로킹]]
** [[2단계 로킹 규약]]
** [[데이터베이스 타임스탬프 기법]]
** [[낙관적 병행제어]]
** [[다중 버전 병행제어]]
* [[데이터베이스 회복]]
** [[데이터베이스 로그]]
** [[로그 기반 회복 기법]]

Latest revision as of 04:13, 17 October 2024

Database

데이터베이스의 정의[edit | edit source]

  1. 통합된 데이터(Integrated Data): 하나의 주제에 따라 중복을 최소화한 데이터의 집합
  2. 저장된 데이터(Stored Data): 언제든지 필요할 때 이용할 수 있도록 저장된 데이터의 집합
  3. 공용 데이터(Shared Data): 여러 사용자와 다수의 응용 시스템이 공유할 수 있도록 만든 데이터의 집합
  4. 운영 데이터(Operational Data): 중복을 최소화하고 여러 사람이 공유함에 있어서 문제가 발생하지 않도록 관리를 필요로 하는 데이터의 집합

데이터베이스의 특징[edit | edit source]

  1. 계속적인 변화(Continuous Evolution): 항상 최신의 데이터로 유지
  2. 동시 공유(Concurrent Sharing): 여러 사용자와 함께 사용
  3. 실시간 접근(Real-Time Accessibility): 질의에 대해 실시간 처리 및 응답
  4. 내용에 의한 참조(Contents Reference): 데이터의 내용에 의한 직접 참조 가능
  5. 데이터의 논리적/물리적 독립성(Independence)
    • 논리적 독립성
    • 물리적 독립성

데이터베이스의 두가지 종류[edit | edit source]

초기에는 데이터베이스의 역할에 따라 종류가 명확히 나뉘었으나, 점차 각 DBMS의 시스템들의 성능이나 기능이 향상되면서 어떤 용도로든 사용할 수 있게 되어 시스템 자체를 이렇게 구분해서 분류하는 경우는 없어지고 있다. 다만 사용하는 주 목적에 따라 OLAP로 사용하느냐, OLAP로 사용하느냐의 구분은 여전히 유효하다.

데이터 모델[edit | edit source]

데이터베이스에서 데이터를 어떻게 저장하고 보여줄 것인지 구성하는 과정 및 구성된 모델

데이터베이스 관리시스템(DBMS)[edit | edit source]

데이터베이스를 효율적으로 관리할 수 있도록 해주는 시스템

스키마[edit | edit source]

데이터베이스를 구성하는 개체, 속성, 관계 및 제약조건 등에 관한 명세

트랜잭션[edit | edit source]

데이터베이스에서 정보가 처리되는 단위