database schema
- data model을 바탕으로 database의 구조를 기술(description)한 것.
(data model이 database 구조를 모델링할 수 있는 방법을 제시한 것이라면, database schema는 그 모델을 바탕으로 실제로 그 database 구조를 표현하는 것.)
- schema는 database를 설계할 때 정해지며, 한 번 정해진 후에는 자주 바뀌지 않는다.
relational data model에서의 database schema는 학번, 이름, 학년, 전공
database state
- database에 있는 실제 데이터는 꽤 자주 바뀔 수 있다.
- 특정 시점에 database에 있는 데이터를 database state 혹은 snapshot이라고 한다.
- 혹은 database에 있는 현재 instances의 집합이라고도 한다.
three-schema architecture
- database system을 구축하는 architecture 중의 하나
- user application으로부터 물리적인 database를 분리시키는 목적
- 세 가지 level이 존재하며, 각각의 level 마다 schema가 정의되어 있다.
external schemas (or user views) at external (or view) level
conceptual schemas at conceptual level
internal schemas at internal level
- 각 레벨을 독립시켜서 어느 레벨에서의 변화가 상위 레벨에 영향을 주지 않기 위함
- 대부분의 DBMS가 three level을 완벽하게 혹은 명시적으로 나누지는 않음
- 데이터가 존재하는 곳은 internal level
※ internal schema
- 물리적인 저장장치와 가장 가까움.
- 물리적으로 데이터가 어떻게 저장되는지 physical data model을 통해 표현
- data storage, data structure, access path 등 실체가 있는 내용 기술
※ external schema
- 실제 사용자가 바라보는 schema
- external views, user views 라고도 불림
- 특정 유저들이 필요로 하는 데이터만 표현
- 그 외 알려줄 필요가 없는 데이터는 숨김
- logical data model을 통해 표현됨
※ conceptual schema
- 전체 database에 대한 구조를 기술
- internal schema를 추상화 한.
- 물리적인 저장 구조에 관한 내용은 숨김
- entities, data types, entities간 relationships, user operations, constraints에 집중
- logical data model을 통해 기술
'database' 카테고리의 다른 글
SQL 명령어 (0) | 2023.08.17 |
---|---|
relational data model (0) | 2023.08.07 |
[데이터베이스 용어] database language (0) | 2023.08.04 |
[데이터베이스 용어] Data Models (0) | 2023.08.04 |
[데이터베이스 용어] DB & DBMS & DB System 의 차이 (0) | 2023.08.04 |