1. 스키마 (Schema) 이란?
ㅇ [일반]
- 어떤 개념,사상,지식 등의 구조를 정형화하여 표현한 것
. 즉, 보편적인 형식 (Formalism) 또는 개념적 틀(Conceptual Framework)
* 스키마, 스킴 비교
. 두 단어 모두, 같은 뿌리(그리스어 schēma : 형태, 계획)에서 나왔지만,
.. 영어에서는, 서로 다른 의미 영역으로 분화되어, 의미,용법 등이 다름
. 스키마 (Schema) : 구조나 형식을 나타내는 개념적 틀
.. 例) Database Schema, XML Schema, Cognitive Schema (인지과정으로 잡혀진 인식 틀) 등
. 스킴 (Scheme) : 실행 가능한 구체적 방식이나 설계
.. 例) URI Scheme (통일적 식별체계), Numbering Scheme (번호 방식),
MCS (변조코딩구성 종류) 등
ㅇ [데이터베이스]
- 데이터베이스의 전체 구조나 형식을 정형화하여 표현한 개념적 설계 틀
2. [데이터베이스] 스키마 (Database Schema)
ㅇ 데이터베이스의 논리적 설계 구조를 정의한 것
- 데이터베이스를 구성하는 개체(Entity), 속성(Attribute), 관계(Relationship),
데이터 조작 규칙 및 제약조건(Constraint) 등을 총칭함
* 즉, 데이터베이스의 전체 구조(Structure)를 기술하는, 메타데이터(Metadata) 임
ㅇ 특징
- 사실상, 데이터베이스의 모든 가능한 상태를 미리 정의하므로,
. 이때문에, 빈번히 변경되어서는 안 됨
- 스키마 개념을 통해, 물리적 데이터 독립성 확보 가능
. 논리적 스키마 변경 없이도,
. 물리적 구조(파일 구성 등) 변경할 수 있는 능력을 가지게 됨
- 스키마는, 데이터의 논리적 정의를 담당하고,
. 실제 저장된 데이터는 인스턴스(Instance)라고 칭함
3. [데이터베이스] 스키마 구분
ㅇ 구성 관점의 스키마 구조
- 외부 스키마 (외부 구조)
. 전체 데이터베이스에 대한 하나의 논리적 구조를 정의
.. 사용자 또는 응용프로그램 입장에서 정의됨
- 개념 스키마 (논리 구조)
. 데이터베이스 전체의 통합적 논리 구조
.. 데이터베이스의 접근권한, 보안정책, 무결성규칙 명세화
- 내부 스키마 (물리 구조)
. 데이터의 물리적 저장 형태를 명세화
.. 파일구성, 인덱스 등
ㅇ 설계 관점의 스키마 단계
- 개념적 설계 (개념 스키마)
. 사용자 요구사항을 분석,정의한 개념적 데이터 모델
- 논리적 설계 (논리 스키마)
. 특정 DBMS에 맞추어 변환한 논리 데이터 모델
- 물리적 설계 (내부 스키마)
. 실제 저장구조, 인덱스, 파일 구성 등 물리 저장 방식 정의