데이터베이스 스키마(database schema)는 데이터베이스(Database) 전체 또는 일부의 논리적인 구조를 표현하는 것으로 데이터베이스 내에서 데이터가 어떤 구조로 저장되는지를 나타낸다. 데이터베이스 스키마는 데이터 사전(data dictionary)에 저장하며 현실 세계의 단면을 추상화하는 모델링 과정을 통하여 만들어진다. 데이터베이스 관리 시스템(DBMS)이 주어진 설정에 따라 데이터베이스 스키마를 생성하며, 데이터베이스 사용자가 자료를 저장, 조회, 삭제, 변경할 때 DBMS는 자신이 생성한 데이터베이스 스키마를 참조하여 명령을 수행한다.
데이터베이스 스키마는 대부분의 상용 데이터베이스 관리 시스템(DBMS)에서 사용하는 안시/스파크(ANSI/SPARC)모델의 3층 스키마 구조(three-schema architecture)에 따라 외부 스키마, 개념 스키마, 내부 스키마로 구분한다.
외부 스키마(External Schema) : 사용자 관점의 스키마. 프로그래머나 사용자의 입장에서 데이터베이스의 모습으로 조직의 일부분을 정의한 것이다.
개념 스키마(Conceptual Schema) : 사용자와 데이터베이스(DB) 관리자 관점의 스키마. 데이터베이스에 실제로 어떤 데이터가 저장되었으며, 데이터 간의 관계는 어떻게 되는지를 정의하는 스키마로 전체 관점으로 한 개만 존재하며 접근 권한, 보안 및 무결성 등에 관한 정의를 포함한다. 모든 응용 시스템과 사용자들이 필요로하는 데이터를 통합한 조직 전체의 데이터베이스 구조를 논리적으로 정의한 것이다.
내부 스키마(Internal Schema) : 저장 장치와 데이터베이스(DB) 설계자 및 개발자 관점의 스키마. 개념 스키마를 물리적 저장 장치에 구현하는 방법을 정의하는 데 사용하고 물리적 구조 및 내부 레코드의 물리적 순서 등을 표현한다. 전체 데이터베이스의 물리적 저장 형태를 기술하는 것이다.
데이터베이스 스키마는 DB의 논리적 구조나 물리적 구조가 변경되어도 응용 프로그램과 데이터가 서로 영향을 미치지 않고 종속되지 않도록 다음과 같은 데이터 독립성을 보장한다.