검색
색인
데이터베이스 스키마, database schema
데이터베이스(DB: database)에서 데이터 구조와 그 표현법, 자료 간의 관계를 형식 언어로 정의한 것.

데이터베이스 스키마(database schema)는 데이터베이스(Database) 전체 또는 일부의 논리적인 구조를 표현하는 것으로 데이터베이스 내에서 데이터가 어떤 구조로 저장되는지를 나타낸다. 데이터베이스 스키마는 데이터 사전(data dictionary)에 저장하며 현실 세계의 단면을 추상화하는 모델링 과정을 통하여 만들어진다.
데이터베이스 스키마는 대부분의 상용 데이터베이스 관리 시스템(DBMS)에서 사용하는 안시/스파크(ANSI/SPARC)모델의 3층 스키마 구조(three-schema architecture)에 따라 외부 스키마, 개념 스키마, 내부 스키마로 구분한다.

- 외부 스키마(external schema): 사용자 관점의 스키마. 사용자 또는 프로그램 입장에서의 논리적 구조로 여러 개가 존재한다.
- 개념 스키마(conceptual schema): 사용자와 데이터베이스(DB) 관리자 관점의 스키마. 데이터베이스에 실제로 어떤 데이터가 저장되었으며, 데이터 간의 관계는 어떻게 되는지를 정의하는 스키마로 전체 관점으로 한 개만 존재하며 접근 권한, 보안 및 무결성 등에 관한 정의를 포함한다.
- 내부 스키마(internal schema): 저장 장치데이터베이스(DB) 설계자 및 개발자 관점의 스키마. 개념 스키마를 물리적 저장 장치에 구현하는 방법을 정의하는 데 사용하고 물리적 구조 및 내부 레코드의 물리적 순서 등을 표현한다.

또한 데이터베이스 스키마는 DB의 논리적 구조나 물리적 구조가 변경되어도 응용 프로그램과 데이터가 서로 영향을 미치지 않고 종속되지 않도록 다음과 같은 데이터 독립성을 보장한다.
- 논리적 독립성: 외부 스키마개념 스키마 사이의 독립성. 응용 프로그램에 영향을 주지 않고 DB의 논리적 구조(개념 스키마)를 변경할 수 있다.
- 물리적 독립성: 개념 스키마와 내부 스키마 사이의 독립성. 응용 프로그램이나 DB의 논리적 구조에 영향을 주지 않고 DB물리적 구조(내부 스키마)를 변경하고 관리할 수 있다.