데이터베이스 스키마는 데이터가 구조화되는 방식를 말한다. 즉, 데이터베이스 스키마는 DB 전체 또는 일부의 논리적인 구조를 표현하는 것으로 DB 내에서 데이터가 어떤 구조로 저장되는지를 나타낸다.
데이터베이스 스키마는 데이터 사전(data dictionary, DD)에 저장하며 현실 세계의 단면을 추상화하는 모델링 과정을 통하여 만들어진다.
데이터베이스 스키마는 DB의 논리적 구조나 물리적 구조가 변경되어도 응용 프로그램과 데이터가 서로 영향을 미치지 않고 종속되지 않도록 논리적 독립성, 물리적 독립성을 보장한다.
데이터베이스 스키마는 데이터가 다른 테이블 또는 다른 데이터 모델과 어떻게 관련되어 있는지를 설명하는 데이터베이스의 "청사진"으로 간주된다.
데이터베이스 스키마를 줄여서 '스키마'라고도 부른다.
데이터베이스 스키마는 대부분의 상용 데이터베이스 관리 시스템(DBMS)에서 사용하는 안시/스파크(ANSI/SPARC)모델의 3층 스키마 구조(three-schema architecture)에 따라 외부 스키마, 개념 스키마, 내부 스키마로 구분한다.

개념 스키마는 사용자나 DB 관리자 관점의 스키마이다. DB에 실제로 어떤 데이터가 저장되었으며, 데이터 간의 관계는 어떻게 되는지를 정의하는 스키마로, 한 개만 존재할 수 있으며 접근 권한, 보안 및 무결성 등에 관한 정의를 포함하고 있다.
외부 스키마는 사용자 관점에서 바라본 스키마로, 사용자나 프로그램 입장에서의 논리적 구조로 여러 개가 존재한다.
내부 스키마는 저장 장치와 데이터베이스(DB) 설계자 및 개발자 관점의 스키마이다. 개념 스키마를 물리적 저장 장치에 구현하는 방법을 정의하는 데 사용하고 물리적 구조 및 내부 레코드의 물리적 순서 등을 표현한다.
외부 스키마와 개념 스키마 사이의 독립성으로, 응용 프로그램에 영향을 주지 않고 DB의 논리적 구조라고 할 수 있는 개념 스키마를 변경할 수 있다.
개념 스키마와 내부 스키마 사이의 독립성으로, 응용 프로그램이나 DB의 논리적 구조에 영향을 주지 않고 DB의 물리적 구조라고 할 수 있는 내부 스키마를 변경하고 관리할 수 있다.
데이터베이스에서 특정 시점의 데이터 샘플을 데이터베이스 인스턴스라고 한다. 여기에는 스키마가 데이터 값으로 설명하는 모든 속성이 포함된다. 데이터베이스 인스턴스는 시간 경과에 따라 변경될 수 있다.
참고 문헌:
1. https://www.ibm.com/kr-ko/topics/database-schema
2. https://m.blog.naver.com/on21life/221331339057
3. https://terms.tta.or.kr/dictionary/dictionaryView.do?subject=%EB%8D%B0%EC%9D%B4%ED%84%B0%EB%B2%A0%EC%9D%B4%EC%8A%A4+%EC%8A%A4%ED%82%A4%EB%A7%88