3단계의 데이터베이스 시스템 구조에 대해 알아보겠다.
앞선 게시물에 적었던 데이터 독립성은 데이터베이스 시스템의 3단계 architecture에 의해 구현된다.
3단계 architecture는 논리적 레코드와 저장 레코드 간의 개념적 관계를 기술한 framework이며,
data dictionary 간의 추상화 관계를 기술한 것이다.
(data dictionary는 데이터베이스 테이블에 관한 데이터, 즉 메타 데이터를 의미함)
이러한 3단계 architecture는 물리적 저장 레코드에서 file로 표현되지만, 데이터베이스 사용자에게는 추상화된 논리적인 테이블 구조로를 통해 데이터 베이스를 사용할 수 있게 해준다.
3단계 구조는 위와 같은 형태이며, external level/conceptual level/internal level로 data dictionary를 계층화하여 표현한 것이다.
internal level(또는 storage level)
internal level은 데이터가 물리적으로 저장된 표현 방식을 기술한 것으로 물리적 저장장치에서 데이터 표현 방식을 기술하기 때문에 internal view라고 부른다.
external level(또는 user logical level)
external level은 데이터 베이스 사용자에게 데이터가 테이블로 구성되었다고 생각하게 한다. 그래서 external level은 user view를 제공한다고 말한다. 데이터베이스 사용자들에게 상이한 여러개의 user view를 제공하므로 external view들이 여러개 있을 수 있다.
conceptual level(또는 community logical level 또는 logical level)
logical level은 external level과 internal level 간의 중간 매핑 역을 한다. conceptual level은 여러개의 external view들을 하나의 conceptual view로 통합하는데 논리적 레코드로 기술한다.
external view와 conceptual view는 logical model levels이며,
internal level은 implementation level을 기술한 것이다.
external view의 기술은 external schema로 기술한 것으로 external table에 관한 메타 데이터를 기술한 것이다.(external schema의 테이블 이름, 필드 이름은 conceptual schema의 테이블 이름, 필드 이름과 다를 수 있으며 필드 갯수도 다를 수 있다.)
3단계 구조의 architecture는 DBMS에 의해 표현 저장 관리된다. 그리고 이러한 스키마는 DBA에 의해 기술된다.
(external schema는 DBA가 다루거나 external schema의 개발자가 표현할 수도 있다.)
참고: 데이터베이스 SQL프로그래밍(MySQL실습), 홍봉희 편저, 부산대학교 출판문화원, 2022
'대학원 공부 > 데이터베이스' 카테고리의 다른 글
[DB] 분산 데이터베이스 처리 (0) | 2022.11.02 |
---|---|
[DB] 데이터베이스 시스템 구조Ⅱ(Database System Architecture Ⅱ) (0) | 2022.11.02 |
[DB] 데이터 독립성(Data Independence) (0) | 2022.10.31 |
[DB] 데이터베이스 시스템 (0) | 2022.10.31 |
[DB] 데이터베이스란 (0) | 2022.10.31 |