1.1 데이터베이스 시스템 개요
방대한 양의 데이터를 효과적으로 처리하기 위해 등장
1.2 DBMS의 목적
기존 파일 처리 시스템의 문제
-
데이터 독립성의 문제
- 논리적 데이터 독립성
- 물리적 데이터 독립성
-
데이터 중복성의 문제
- 일관성: 하나의 데이터는 하나의 값
- 보안성: 같은 데이터는 같은 수준의 보안 유지
- 경제성: 중복 저장은 추가적 공간 비용 발생
-
무결성 보장 문제
- 데이터의 정확성(규약) 보장
- 검증 프로그램에 의한 통제 => 많은 기능으로 앱이 비대해짐
-
동시 액세스 문제
-
동일 데이터의 다수 사용자 접근 허용
-
데이터베이스 관리 시스템(DBMS)의 사용
=> 데이터의 사용과 관리를 완전히 분리시킴
-
용어 정의
-
데이터(data): 어떠한 사실에 대한 정량적, 정성적 특징을 나타낼 수 있는 값과 설명
=> 값 + 메타데이터(값에 대한 수식항목)
- 데이터베이스(database): 특정 기관의 애플리케이션 시스템에서 사용되는 데이터의 집합
-
데이터베이스 관리 시스템(DBMS):
데이터베이스에 저장된 데이터의 구성, 저장, 관리, 사용을 위한 소프트웨어 패키지
-
데이터베이스 시스템:
정보를 데이터베이스에 저장,관리하여 사용자에게 요구된 형태의 정보로 제공하는 컴퓨터 기반 시스템
-
1.3 DBMS의 특징
데이터베이스의 특징
-
데이터베이스 시스템의 자기 기술성(self-describing)
- 데이터베이스에 포함된 데이터와 더불어 데이터베이스의 정의(스키마)나 설명(메타데이터)를 포함
-
프로그램과 데이터의 격리 및 추상화
- 사용자에게 데이터에 대한 개념적인 표현을 제공
- 데이터베이스에 대한 접근성을 향상
-
다중 뷰 제공
- 사용자들의 필요에 따라 서로 다른 관점의 데이터가 필요
- 각 사용자에게 자신이 관심을 가지는 데이터베이스의 일부만을 표현하는 뷰(view)를 제공
-
데이터 공유와 다수 사용자 트랜잭션 처리
-
다수의 데이터 조작 요청에도 트랜잭션을 이용한 동시성제어(concurrency control) 기능을 통해
데이터의 일관성 보장
-
DBMS의 구조
=> 데이터 추상화와 데이터 독립성을 확보하기 위한 구조
-
인스턴스
- 특정 시점에서 데이터베이스에 저장된 정보 집합을 의미(상태 개념)
- 시간이 지남에 따라 데이터베이스 인스턴스는 지속적으로 변화
-
스키마
- 데이터가 가지는 형식을 결정하는 전반적인 구조를 의미
-
인스턴스와는 달리 데이터베이스 스키마는 드물게 변경됨
-
개념-논리 사상
- 논리적 데이터의 독립성을 확보
-
논리-물리 사상
- 물리적 데이터의 독립성을 확보
1.4 데이터 모델
- 사용 가능한 데이터만을 선별하여 구조화된 데이터베이스에 저장,사용할 방법 필요
-
데이터 모델
- 의미, 데이터 타입, 연산 및 제약조건을 명시하기 위해 사용할 수 있는 개념들의 집합
- 관계형 모델, ER 모델, 객체지향적 모델 등
-
데이터 모델링
-
현실세계의 일부분을 DBMS가 지원하는 데이터 모델의 형태로 나타내는 과정
-
ER모델
-
현실세계 인식에 기초하여 개체(object)를 나타내는 개체(entity)들과 개체들 간의 관계(relationship)로 구성
관계형 모델
-
릴레이션이라고 하는 표 형태의 데이터 구조를 사용하여 데이터를 저장
객체지향적 모델
-
객체들을 기반으로 데이터베이스를 구성
- 캡슐화를 유지, 프로그램과 데이터 간의 불일치 감소
- 자유로운 사용자 정의 데이터 타입
-
빠른 DBMS 접근속도
- 객체는 유일한 OID로 구별
- DBMS는 OID를 이용 객체에 직접 접근
-
다중 상속을 통한 정보 최적화
-
다른 클래스들로부터 필요한 특징을 다중상속(기존에 제작된 데이터 구조를 재활용 가능)
-
데이터 베이스 모델링