1. 스키마의 정의
- 데이터베이스가 어떻게 구성되어 있는지를 표현해주는 설계도.
- 데이터베이스를 구성하는 데이터 개체, 속성, 관계 및 데이터 조작 시 데이터 값들이 가지는 제약조건 등에 관해 정의한 것.
- 스키마는 (사용자의 관점에 따라) 외부 스키마, 개념 스키마, 내부 스키마로 나뉜다.(스키마의 3계층)
- 스키마는 데이터 사전에 저장되며, 메타 데이터라고도 한다.
2. 스키마의 3계층
- 사용자나 응용 프로그래머의 입장에서 필요로 하는 데이터베이스의 논리적 구조를 정의한 것.(사용자의 관점에 따라 해당하는 스키마는 달라질 수 있다.)
- 하나의 데이터베이스 시스템에는 여러 개의 외부 스키마가 존재할 수 있으며, 하나의 외부 스키마를 여러 개의 응용 프로그램이나 사용자가 공용할 수 있다.
- 전체 데이터베이스의 한 논리적인 부분으로 볼 수 있으므로 서브 스키마라고도 한다.
- 같은 데이터베이스에 대해서도 서로 다른 관점을 정의할 수 있다.
- 일반 사용자는 질의어(SQL)를 사용하여 데이터베이스를 사용한다.
2-2. 개념 스키마(Conceptual Schema) = 전체적인 뷰(View)
- 데이터베이스의 전체적인 논리적 구조로서, 모든 이용자가 필요로 하는 데이터를 통합한 조직 전체의 데이터베이스로 하나만 존재한다.(기관이나 조직체의 관점에서 데이터베이스를 정의한 것.)
- 개념 스키마는 개체 간의 관계와 제약조건, 데이터베이스의 접근 권한, 보안 및 무결성 규칙에 관한 명세를 나타낸다.
- 단순히 스키마라고 하면 개념 스키마를 의미하는 것이다.
- 개념 스키마는 데이터베이스 관리자에 의해서 구성된다.
2-3. 내부 스키마(Internal Schema)
- 물리적 저장장치의 입장에서 본 데이터베이스 구조.(물리적인 저장장치와 밀접한 계층)
- 실제로 데이터베이스에 저장될 레코드의 물리적인 구조, 저장 데이터 항목의 표현 방법, 내부 레코드의 물리적 순서 등을 나타낸다.
- 시스템 프로그래머나 시스템 설계자가 보는 관점의 스키마이다.
댓글 없음:
댓글 쓰기