728x90
DBMS의 구성
- DDL 컴파일러
- 데이터 정의어로 작성된 스키마의 정의를 해석
- 저장 데이터 관리자의 도움을 받아 새로운 DB 구축
- 스키마의 정의를 데이터 사전에 저장
- DDL로 작성된 기존 스키마의 삭제나 수정 요청도 처리하여 변경된 내용을 데이터 사전에 저장
- DML 프리 컴파일러
- 응용 프로그램에 삽입된 데이터 조작어를 추출하여 DML 컴파일러에게 전달
- 데이터 조작어와 관련이 없는 코드는 해당 언어의 컴파일러에 전달
- DML 컴파일러
- 데이터 조작어로 작성된 데이터의 처리(삽입, 수정, 삭제, 검색) 요구를 분석하여 런타임 데이터베이스 처리기가 이해할 수 있도록 해석
- 런타임 데이터베이스 처리기
- 저장 데이터 관리자를 통해 데이터베이스에 접근
- DML 컴파일러로부터 전달받은 데이터 처리 요구를 데이터베이스에서 실제로 실행
- 트랜잭션 관리자
- DB 접근을 위한 사용자의 접근 권한이 유효한지 검사
- DB 무결성을 유지하기 위한 제약조건 위반 여부를 확인
- 회복, 병행 수행
- 저장 데이터 관리자
- 사용자 DB와 데이터 사전을 관리
- 운영체제의 도움을 받아 DB에 접근
데이터베이스 스키마 (3단계)
- 데이터베이스에서 자료의 구조, 자료의 표현 방법, 자료 간의 관계를 형식 언어로 정의한 구조
- 외부 스키마
- 일반사용자나 응용프로그래머가 접근하는 계층
- 사용자에게 필요한 데이터베이스를 정의
- 하나의 데이터베이스에 여러 개의 외부 스키마가 존재할 수 있음
- 개념 스키마
- 데이터베이스의 전체적인 논리적 구조를 정의
- 하나의 데이터베이스에 하나의 개념 스키마만 존재함
- 데이터의 관계, 제약조건, 무결성에 대한 내용이 포함
- 데이터에 대한 보안 정책이나 접근 권한에 대한 정의 포함
- 내부 스키마
- DBMS가 보는 데이터
- 물리적 저장 장치에 데이터베이스가 실제로 저장되는 방법
- 레코드 구조, 필드 크기, 레코드 접근 경로, 데이터 압축 등 물리적 저장 구조를 정의
매핑/사상 및 데이터 독립성 1
- 매핑(Mapping) / 사상
- 외부/개념 매핑
- 외부 스키마의 데이터가 개념 스키마의 어느 부분에 해당되는지 대응시킴
- 응용 인터페이스 (Application Interface)라고도 함
- 개념/내부 매핑
- 개념 스키마의 데이터가 내부 스키마의 물리적 장치 어디에 어떤 방법으로 저장되는지 대응
- 저장 인터페이스 (Storage Interface)라고도 함
- 외부/개념 매핑
- 데이터 독립성 (Data Independency)
- 논리적 데이터 독립성 (Logical Data Independency)
- 외부 단계와 개념 단계 사이의 독립성
- 개념 스키마가 변경되어도 외부 스키마에는 영향이 없도록 하는 개념
- 예, 개념 스키마의 테이블을 생성하거나 변경할 경우, 외부 스키마가 직접 다루는 테이블이 아니면 영향을 없다.
- 물리적 데이터 독립성 (Physical Data Independency)
- 개념 단계와 내부 단계 사이의 독립성
- 저장 장치 구조 변경과 같이 내부 스키마가 변경되어도 개념스키마에 영향이 없도록 하는 개념
- 논리적 데이터 독립성 (Logical Data Independency)
매핑/사상 및 데이터 독립성 2
- 데이터베이스 스키마 구성도
- 데이터베이스 스키마 예
728x90
'프로그래밍 > Database' 카테고리의 다른 글
[Database] 개체, 개체 타입과 속성 (0) | 2020.03.22 |
---|---|
[Database] 모델링과 개체-관계 모델 및 다이어그램 (0) | 2020.03.22 |
[Database] 데이터베이스 시스템 (0) | 2020.03.22 |
[Database] 데이터베이스 모델 (0) | 2020.03.22 |
[Database] 데이터베이스의 정의 (0) | 2020.03.22 |