스키마의 개념
- 스키마는 DB의 구조와 제약 조건에 관한 전반적인 명세(Specitication)를 의미한다.
- 스키마는 DB를 구성하는 데이터 개체(Entity), 속성(Attribute), 관계(Relationship) 및 데이터 조작 시 데이터 값들이 갖는 제약 조건 등에 관해 전반적으로 정의한다.
- 스키마는 사용자의 관점에 따라 외부, 개념, 내부 스키마로 나뉜다.
그림으로 표현하면 다음과 같다.
스키마의 특징
- 데이터의 구조적 특성을 의미함
- 데이터 사전(Data Dictionary)에 저장된다.
- 현실 세계의 특정한 한 부분의 표현으로서 특정 데이터 모델을 이용해서 만들어진다.
- 시간에 따라 불변인 특성을 갖는다.
- 데이터의 논리적 단위에 명칭을 부여하고 그 의미를 기술한다.
스키마의 3계층
외부스키마(External Schema)
- 외부 스키마는 사용자나 응용 프로그래머가 각 개인의 입장에서 필요로 하는 데이터 베이스의 논리적 구조를 정의한 것이다.
- 전체 데이터베이스의 한 논리적인 부분은 볼 수 있으므로 서브 스키마(Sub Schema)라고도 함
- 하나의 DBMS는 여러 개의 외부 스키마가 존재할 수 있으며, 하나의 외부 스키마는 여러 개의 응용프로그램이나 사용자에 의해 공유될 수 있다.
- 동일한 DB에 대해서 서로 다른 관점을 정의할 수 있도록 혀용한다.
개념 스키마(Conceptual Schema)
- 개체 간의 관계와 제약 조건을 나타내고 DB의 접근권한, 보안 정책 및 무결성 규정에 관한 명세를 정의한 것이다.
- DB의 전체적인 논리적 구조로서, 모든 응용프로그램이나 사용자들이 필요로 하는 데이터를 통합한 조직 전체의 DB명세로서 하나만 존재함
- 단순히 스키마라고 하면 개념 스키마를 의미한다.
- 기관이나 조직의 관점에서 DB를 정의한 것이다.
- DBA에 의해서 작성됨
내부 스키마(Internal Schema)
- DB의 물리적 구조를 정의한 것이다.
- 물리적 저장장치의 관점에서 본 전체 DB의 명세로서 하나만 존재한다.
- 개념 스키마의 물리적 저장 구조에 대한 정의를 기술한 것(어디에 어떻게 저장할 것인가)
- 시스템 프로그래머나 시스템 설계자가 보는 관점의 스키마이다.
cf) 개체 : 현실 세계의 객체(Object)로서 유형 또는 무형의 정보 대상으로 존재하며 서로 구별될 수 있는 것.
속성 : 개체의 특성이나 상태를 기술하는 것으로 데이터의 가장 작은 단위
관계 : 2개 이상의 개체 사이에 연관성을 기술한 것
데이터 사전
- 데이터 사전은 DB에 저장되어 있는 모든 데이터 개체들에 대한 정보를 유지, 관리하는 시스템으로, 시스템 카탈로그라고도 한다.
- 데이터 사전에는 데이터에 관한 데이터가 저장되어 있다고 하여 데이터 사전을 메타 데이터라고도 한다. '데이터에 관한 데이터' 즉, 스키마가 일종의 메타 데이터가 되는 것이다.
'Programming > DataBase' 카테고리의 다른 글
데이터베이스 설계(DataBase Design) (0) | 2013.06.25 |
---|---|
관계형 데이터모델 (Relational Data Model) (0) | 2013.06.25 |
데이터베이스 관리 시스템(DBMS) (0) | 2013.06.25 |
DataBase 의 개념 (0) | 2013.06.25 |
이분 검색 (Binary Search) - 알고리즘 (0) | 2013.06.25 |