1. 스키마 정의
- 간단하게 데이터베이스의 구조와 구조 안에 포함된 여러 제약조건을 스키마라고 한다.
- DB에는 여러 객체가 존재하는데, 객체 마다 가져야할 특성이 있으므로 객체의 특성에 맞는 속성과 그의 제약조건이 기술된 것이다.
- 제약조건은 예를 들면 전화번호 속성에 정수인 숫자만 입력하도록 조건을 걸어 문자 입력할 경우 오류를 발생시킨다.
- 관점에 따라 외부, 개념, 내부 스키마로 나누어진다.
2. 스키마 특징
- 스키마는 데이터 사전에 저장되는데, 다른 이름으로는 메타데이터라고 한다.
- 데이터 사전은 데이터를 설명하는 데이터라고 하는데, 스키마도 일종의 데이터베이스의 구조를 명세하는 데이터라고 보면 되겠다.
- 시간이 지나도 변하지 않는다. 제약조건의 경우 수정이 없으면 계속 유지되어야하는 것이다.
- 스키마는 데이터의 구조적 특성이고, 인스턴스에 의해 규정된다.
- 인스턴스는 객체의 속성에 부합하는 데이터 값을 가지는 것이다.
- 학생부 객체에서 한 명의 학생에 대한 데이터(이름, 학번, 주소 등)를 인스턴스라고 한다.
3. 스키마의 3계층
외부 스키마 = 서브 스키마 = 사용자 뷰
- 전체 데이터베이스에서 자신이 필요한 데이터를 가져다 쓸 수 있도록 별도의 스키마를 만든 것이다. 그래서 서브 스키마이다.
- 필요에 따라 스키마를 만들 수 있으므로 외부 스키마는 데이터베이스에서 다수 존재한다.
- 일반 사용자는 쿼리 언어(Query Language)를 이용해서 데이터베이스에 접근한다.
개념 스키마 = 전체 뷰
- 개념 스키마가 그냥 스키마다. 전체 데이터베이스이므로 단 하나이다.
- 여러 객체 간의 관계, 제약 조건, 권한, 보안 등을 정의
- 데이터베이스 관리자(DBA)가 만든다.
내부 스키마 = 저장 스키마
- 실질적으로 저장장치에 저장될 데이터의 구조를 정의한다.
- 인스턴스의 데이터 크기가 얼마인지 등의 물리적인 구조를 나타낸다.