database schema

- data model을 바탕으로 database의 구조를 기술(description)한 것.

(data model이 database 구조를 모델링할 수 있는 방법을 제시한 것이라면, database schema는 그 모델을 바탕으로 실제로 그 database 구조를 표현하는 것.)

- schema는 database를 설계할 때 정해지며, 한 번 정해진 후에는 자주 바뀌지 않는다.

 

relational data model

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

three-schema architecture

※ 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

+ Recent posts