데이터베이스 스키마 3단계 구조 (외부, 개념, 내부)
DB논리DB 설계스키마
읽는데 4분 소요
처음 쓰여진 날: 2026-03-19
마지막 수정일: 2026-03-19
조회수: 4
요약
데이터베이스 스키마의 3단계 구조(외부 스키마, 개념 스키마, 내부 스키마)와 데이터 독립성(논리적, 물리적)을 정리합니다. 정보처리기사 실기에 대비하세요.
💡 데이터베이스 스키마의 3단계 구조는 정보처리기사 실기에서 빈칸 채우기 형태로 출제된 바 있습니다. 외부, 개념, 내부 스키마 각각의 정의와 특징을 정확히 구분하는 것이 중요합니다.
데이터베이스 스키마란?
스키마(Schema)는 데이터베이스의 구조와 제약조건에 대한 전반적인 명세입니다. 데이터베이스에 어떤 데이터가, 어떤 형태로, 어떤 규칙에 따라 저장되는지를 정의합니다.
3단계 스키마 구조
데이터베이스를 3가지 관점에서 바라보는 구조입니다. 각 단계를 분리함으로써 데이터의 독립성을 보장합니다.
핵심 정리
| 구분 | 관점 | 핵심 | 개수 |
|---|---|---|---|
| 외부 스키마 | 사용자/개발자 | 사용자별 뷰, 서브 스키마 | 여러 개 |
| 개념 스키마 | 데이터베이스 전체 | 전체 논리적 구조, 무결성/보안 | 1개 |
| 내부 스키마 | 물리적 저장 장치 | 레코드 형식, 저장 구조 | 1개 |
1. 외부 스키마 (External Schema)
사용자나 개발자의 관점에서 필요로 하는 데이터베이스의 논리적 구조입니다.
- 사용자 뷰를 나타냄
- 서브 스키마(Sub Schema)라고도 불림
- 하나의 데이터베이스에 여러 개의 외부 스키마가 존재할 수 있음
- 같은 데이터베이스라도 사용자마다 다른 외부 스키마를 가질 수 있음
예시: 교수는 "강의 목록과 수강생" 뷰만, 학생은 "수강 신청과 성적" 뷰만 보는 것처럼, 각 사용자가 필요한 데이터만 볼 수 있도록 정의한 구조입니다.
2. 개념 스키마 (Conceptual Schema)
데이터베이스의 전체적인 논리적 구조입니다.
- 전체적인 뷰를 나타냄
- 개체 간의 관계, 제약조건, 접근 권한, 무결성, 보안에 대해 정의
- 하나의 데이터베이스에 하나의 개념 스키마만 존재
- DBA(데이터베이스 관리자)가 정의
예시: "학생 테이블에는 학번, 이름, 전공이 있고, 수강 테이블과 학번으로 연결된다"처럼, 데이터베이스 전체의 논리적 설계를 말합니다.
3. 내부 스키마 (Internal Schema)
물리적 저장 장치의 관점에서 보는 데이터베이스 구조입니다.
- 실제로 데이터베이스에 저장될 레코드의 형식을 정의
- 데이터 항목의 표현 방법, 내부 레코드의 물리적 순서 등을 표현
- 물리적 저장 구조를 나타냄
- 하나의 데이터베이스에 하나의 내부 스키마만 존재
예시: "학생 테이블은 B-트리 인덱스로 학번 기준 정렬 저장한다"처럼, 데이터가 디스크에 실제로 어떻게 저장되는지를 나타냅니다.
데이터 독립성
3단계 스키마 구조의 핵심 목적은 데이터 독립성을 확보하는 것입니다. 한 단계의 스키마가 변경되어도 다른 단계에 영향을 주지 않도록 합니다.
| 구분 | 의미 | 사상(Mapping) |
|---|---|---|
| 논리적 독립성 | 개념 스키마가 변경되어도 외부 스키마에 영향 없음 | 외부/개념 사상 |
| 물리적 독립성 | 내부 스키마가 변경되어도 개념 스키마에 영향 없음 | 개념/내부 사상 |
- 논리적 독립성: 테이블 구조(개념 스키마)가 바뀌어도, 기존 사용자의 뷰(외부 스키마)는 그대로 유지됩니다.
- 물리적 독립성: 저장 방식(내부 스키마)이 바뀌어도, 논리적 구조(개념 스키마)는 영향받지 않습니다.
설계 4단계의 스키마와 혼동 주의
설계 4단계(요개논물)에서 나오는 '개념적·논리적·물리적 스키마'와 여기서 다루는 '외부·개념·내부 스키마'는 이름이 비슷하지만 서로 다른 개념입니다. 데이터 모델 3요소와 요개논물 페이지에서 자세한 비교를 확인하세요.