데이터베이스: Difference between revisions
From CS Wiki
No edit summary |
No edit summary |
||
(12 intermediate revisions by 3 users not shown) | |||
Line 1: | Line 1: | ||
[[분류:데이터베이스]][[분류:정보처리기사]] | |||
;Database | ;Database | ||
== 정의 == | == 데이터베이스의 정의 == | ||
# '''통합된 데이터(Integrated Data)''': 하나의 주제에 따라 중복을 최소화한 데이터의 집합 | # '''통합된 [[데이터]](Integrated Data)''': 하나의 주제에 따라 중복을 최소화한 데이터의 집합 | ||
# '''저장된 데이터(Stored Data)''': 언제든지 필요할 때 이용할 수 있도록 저장된 데이터의 집합 | # '''저장된 [[데이터]](Stored Data)''': 언제든지 필요할 때 이용할 수 있도록 저장된 데이터의 집합 | ||
# '''공용 데이터(Shared Data)''': 여러 사용자와 다수의 응용 시스템이 공유할 수 있도록 만든 데이터의 집합 | # '''공용 [[데이터]](Shared Data)''': 여러 사용자와 다수의 응용 시스템이 공유할 수 있도록 만든 데이터의 집합 | ||
# '''운영 데이터(Operational Data)''': 중복을 최소화하고 여러 사람이 공유함에 있어서 문제가 발생하지 않도록 관리를 필요로 하는 데이터의 집합 | # '''운영 [[데이터]](Operational Data)''': 중복을 최소화하고 여러 사람이 공유함에 있어서 문제가 발생하지 않도록 관리를 필요로 하는 데이터의 집합 | ||
== 특징 == | == 데이터베이스의 특징 == | ||
# '''계속적인 변화(Continuous Evolution)''': 항상 최신의 데이터로 유지 | # '''계속적인 변화(Continuous Evolution)''': 항상 최신의 데이터로 유지 | ||
# '''동시 공유(Concurrent Sharing)''': 여러 사용자와 함께 사용 | # '''동시 공유(Concurrent Sharing)''': 여러 사용자와 함께 사용 | ||
# '''실시간 접근(Real-Time Accessibility)''': 질의에 대해 실시간 처리 및 응답 | # '''실시간 접근(Real-Time Accessibility)''': 질의에 대해 실시간 처리 및 응답 | ||
# '''내용에 의한 참조(Contents Reference)''': 데이터의 내용에 의한 직접 참조 가능 | # '''내용에 의한 참조(Contents Reference)''': 데이터의 내용에 의한 직접 참조 가능 | ||
# '''[[데이터 독립성|데이터의 논리적/물리적 독립성(Independence)]]''' | |||
#* 논리적 독립성 | |||
#* 물리적 독립성 | |||
== 데이터베이스의 두가지 종류 == | |||
초기에는 데이터베이스의 역할에 따라 종류가 명확히 나뉘었으나, 점차 각 DBMS의 시스템들의 성능이나 기능이 향상되면서 어떤 용도로든 사용할 수 있게 되어 시스템 자체를 이렇게 구분해서 분류하는 경우는 없어지고 있다. 다만 사용하는 주 목적에 따라 OLAP로 사용하느냐, OLAP로 사용하느냐의 구분은 여전히 유효하다. | |||
* [[OLTP|'''온라인 실시간 트랜젝션 처리 시스템(OLTP)''']] | |||
** 다중 사용자 환경에서 빠르게 데이터의 입출력을 지원하는 형태의 데이터베이스를 말한다. | |||
** 우리가 일반적으로 사용하는 오라클, MySQL이 이에 해당된다. 데이터의 분석 보단 처리에 중점을 둔다. | |||
* [[OLAP|'''온라인 분석 처리 시스템(OLAP)''']] | |||
** 데이터의 실시간 처리보단 대량의 데이터를 원하는 조건으로 빠르게 조회하여 분석이 용이하도록 도와주는 데이터베이스를 말한다. | |||
** [[데이터웨어하우스]]나 [[비즈니스 인텔리전스]] 같은 개념들이 주로 OLAP에 해당된다. | |||
== 데이터 모델 == | |||
;데이터베이스에서 데이터를 어떻게 저장하고 보여줄 것인지 구성하는 과정 및 구성된 모델 | |||
* [[데이터 모델]] | |||
* [[관계형 데이터베이스]] | |||
* [[데이터베이스 키]] | |||
* [[데이터베이스 무결성]] | |||
* [[데이터베이스 중복]] | |||
* [[데이터베이스 Null]] | |||
* [[SQL]] | |||
* [[데이터베이스 뷰]] | |||
* [[데이터베이스 정규화]] | |||
* [[ER 다이어그램]] | |||
== 데이터베이스 관리시스템(DBMS) == | == 데이터베이스 관리시스템(DBMS) == | ||
Line 18: | Line 45: | ||
== 스키마 == | == 스키마 == | ||
; | ; 데이터베이스를 구성하는 개체, 속성, 관계 및 제약조건 등에 관한 명세 | ||
* [[스키마|스키마 문서 참조]] | * [[스키마|스키마 문서 참조]] | ||
== 트랜잭션 == | == [[트랜잭션]] == | ||
;데이터베이스에서 정보가 처리되는 단위 | ;데이터베이스에서 정보가 처리되는 단위 | ||
* [[ | * [[ACID|원자성(Atomicity), 일관성(Consistency), 독립성(Isolation), 영속성(Durability)]] 특성을 가진다. | ||
* [[데이터베이스 병행제어]] | |||
** [[데이터베이스 로킹]] | |||
** [[2단계 로킹 규약]] | |||
** [[데이터베이스 타임스탬프 기법]] | |||
** [[낙관적 병행제어]] | |||
** [[다중 버전 병행제어]] | |||
* [[데이터베이스 회복]] | |||
** [[데이터베이스 로그]] | |||
** [[로그 기반 회복 기법]] |
Latest revision as of 14:13, 16 October 2024
- Database
데이터베이스의 정의[edit | edit source]
- 통합된 데이터(Integrated Data): 하나의 주제에 따라 중복을 최소화한 데이터의 집합
- 저장된 데이터(Stored Data): 언제든지 필요할 때 이용할 수 있도록 저장된 데이터의 집합
- 공용 데이터(Shared Data): 여러 사용자와 다수의 응용 시스템이 공유할 수 있도록 만든 데이터의 집합
- 운영 데이터(Operational Data): 중복을 최소화하고 여러 사람이 공유함에 있어서 문제가 발생하지 않도록 관리를 필요로 하는 데이터의 집합
데이터베이스의 특징[edit | edit source]
- 계속적인 변화(Continuous Evolution): 항상 최신의 데이터로 유지
- 동시 공유(Concurrent Sharing): 여러 사용자와 함께 사용
- 실시간 접근(Real-Time Accessibility): 질의에 대해 실시간 처리 및 응답
- 내용에 의한 참조(Contents Reference): 데이터의 내용에 의한 직접 참조 가능
- 데이터의 논리적/물리적 독립성(Independence)
- 논리적 독립성
- 물리적 독립성
데이터베이스의 두가지 종류[edit | edit source]
초기에는 데이터베이스의 역할에 따라 종류가 명확히 나뉘었으나, 점차 각 DBMS의 시스템들의 성능이나 기능이 향상되면서 어떤 용도로든 사용할 수 있게 되어 시스템 자체를 이렇게 구분해서 분류하는 경우는 없어지고 있다. 다만 사용하는 주 목적에 따라 OLAP로 사용하느냐, OLAP로 사용하느냐의 구분은 여전히 유효하다.
- 온라인 실시간 트랜젝션 처리 시스템(OLTP)
- 다중 사용자 환경에서 빠르게 데이터의 입출력을 지원하는 형태의 데이터베이스를 말한다.
- 우리가 일반적으로 사용하는 오라클, MySQL이 이에 해당된다. 데이터의 분석 보단 처리에 중점을 둔다.
- 온라인 분석 처리 시스템(OLAP)
- 데이터의 실시간 처리보단 대량의 데이터를 원하는 조건으로 빠르게 조회하여 분석이 용이하도록 도와주는 데이터베이스를 말한다.
- 데이터웨어하우스나 비즈니스 인텔리전스 같은 개념들이 주로 OLAP에 해당된다.
데이터 모델[edit | edit source]
- 데이터베이스에서 데이터를 어떻게 저장하고 보여줄 것인지 구성하는 과정 및 구성된 모델
데이터베이스 관리시스템(DBMS)[edit | edit source]
- 데이터베이스를 효율적으로 관리할 수 있도록 해주는 시스템
스키마[edit | edit source]
- 데이터베이스를 구성하는 개체, 속성, 관계 및 제약조건 등에 관한 명세
트랜잭션[edit | edit source]
- 데이터베이스에서 정보가 처리되는 단위