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