스키마란
- 데이터베이스의 구조와 제약조건에 대해 전반적인 명세를 기술한 것
- 개체의 특성, 속성, 개체 간의 관계, 및 이러한 데이터가 유지해야 할 제약조건들을 형식 언어로 정의한 구조.
스키마의 특징
데이터 사전에 저장됨
데이터 사전: 시스템 전체에서 나타나는 데이터 항목들에 대한 정보를 지정한 중앙저장소
항목을 참조하는데 쓰이는 식별자, 항목에 대한 엔티티(객체)의 구성요소, 항목이 저장되는 곳 항목을 참조하는 곳 등을 포함.
현실세계의 특정한 한 부분의 표현으로서 특정 데이터 모델을 이용하여 만들어짐
시간에 따라 불변적인 특성 (시불변성)
데이터의 구조적 특성을 의미함
인스턴스에 의해 규정
사용자의 관점에 따른 구분
1) 개념 스키마 (Conceptual Schema)
- 조직 전체 입장에서 데이터베이스를 정의한 것, DB의 전체적인 논리구조를 나타냄
- 모든 응용 프로그램이나 사용자가 필요로 하는 데이터를 포함함
- 개체간의 관계, 제약조건, 접근 권한, 보안 정책, 무결성 규칙 등을 정의
- 일반적으로 스키마라고 하면 개념 스키마를 의미
- 데이터 베이스당 하나만 존재
2) 내부 스키마 (Internal Schema)
- 시스템 프로그래머나 설계자의 관점에서 DB의 물리적 저장 구조를 기술한 것
- 실제 저장될 내부 레코드의 형식, 물리적 순서, 인덱스 유무등의 내용을 포함함
- DB 실행속도에 영향을 미치기 때문에 구축목적에 따라 내부 스키마를 결정해야함
3) 외부 스키마 (External Schema)
- 사용자, 응용 프로그래머의 개인적 입장에서 필요한 DB의 논리적 구조를 정의한 것 (사용자 뷰)
- '서브 스키마'라고도 함
- 하나의 DB에 어려개의 외부 스키마가 존재할 수 있음
- 하나의 외부 스키마를 여러개의 응용프로그램이나 사용자가 공유 할 수 있음