카테고리 없음
003 스키마(Schema)의 개념
◆ 스키마 (Schema)
스키마 (Schema)는 Database의 구조와 제약조건에 관한 전반적인 명세(Specification)를 기술한 것이다.
DB를 구성하는 개체(Entity), 속성 (Attribute), 관계 (relationship) 및 제약조건등을 전반적으로 정의한다.
간단하게 말하면 Data가 DB내에 어떻게 저장되는가를 담아놓은 것이다.
* 스키마의 특징
: 데이터 사전 (Data Dictionary)에 저장됨. (중요)
: Data의 논리적 단위에 명칭을 부여하고 그 의미를 기술함.
- 데이터 사전 (Data Dictionary, 시스템 카탈로그: System Catalog)
: 위에 표기되었듯이 시스템 카탈로그라고 하거나 데이터에 관한 데이터(Data About Data)가 저장되어있다고 하여 메타 데이터(Meta Data)라고도 한다.
데이터 사전 = 메타 데이터
스키마는 보는 관점에 따라 다르게 구분한다.
세 스키마의 차이를 구분할 수 있어야 한다.
1) 외부 스키마 (서브 스키마, Sub Schema)
: 사용자, 프로그래머가 개인의 입장에서 필요한 DB의 논리적 구조를 정의한다.
: 여러개가 존재할 수 있다. (외부 스키마만 가능)
: 여러 프로그램이나 사용자에게 공유될 수 있다.
2) 개념 스키마
: DB의 전체적인 논리 구조다. 조직 전체의 DataBase에 대한 명세이기때문에 단 하나만 존재한다.
: 단순히 스키마라고 하면 개념 스키마를 의미한다.
: 기관이나 조직의 관점에서 Database를 정의한 것이다.
: DBA에 의해서 작성된다.
3) 내부 스키마
: DB의 물리적 구조를 정의한다.
: 물리적 저장장치의 관점에서 본 DB의 명세로서 하나만 존재한다.
: 개념 스키마의 물리적 저장 구조를 정의한 것이기도 하다.
: 시스템 프로그래머, 시스템 설계자의 관점에서 보는 스키마이다.