정보처리산업기사, 데이터베이스를 단순히 저장소로만 생각하면 그 구조를 제대로 이해하기 어렵다. 실제로 데이터베이스는 여러 계층의 구성요소가 서로 연결되어 있으며, 이러한 구조 덕분에 데이터의 독립성과 보안이 유지된다.
이번 학습에서는 데이터베이스 시스템의 구성 요소와 ANSI/SPARC에서 제안한 3단계 스키마 구조(3-Level Schema Architecture) 를 중심으로 살펴본다.
정보처리산업기사 1개월 단기 과정 스케줄을 확인하고 싶은분들은 아래글을 이용바랍니다.
1. 데이터베이스 시스템의 구성 요소
데이터베이스 시스템(Database System)은 단순한 DBMS만으로 이루어져 있지 않다. 일반적으로 아래와 같이 구성된다.
| 구성 요소 | 설명 |
|---|---|
| 데이터베이스(Database) | 실제 데이터가 저장되는 공간으로, 테이블, 인덱스, 뷰, 스키마 등이 포함됨 |
| DBMS(Database Management System) | 데이터베이스를 관리하고 접근을 제어하는 소프트웨어 |
| 응용 프로그램(Application Program) | 사용자의 요구를 처리하기 위해 DBMS와 상호작용하는 프로그램 |
| 사용자(User) | 데이터를 입력·조회·수정하는 실제 사용자 또는 관리자 |
이 구성은 운영체제와 유사하게 역할이 명확하게 구분된다. DBMS는 운영체제의 커널과 같은 역할을 하며, 사용자와 데이터 사이에서 중재자 역할을 한다.
예시: 한 사용자가 “회원 정보를 조회”하려고 할 때, 응용 프로그램은 SQL 질의를 DBMS로 전달하고, DBMS는 이를 해석해 실제 데이터베이스에서 데이터를 읽어온 뒤 결과를 반환한다.
2. ANSI/SPARC 3단계 스키마 구조
ANSI/SPARC 위원회는 데이터베이스 구조를 표준화하기 위해 3단계 스키마 구조(Three-Level Schema Architecture) 를 제안했다. 이 구조는 데이터의 물리적 저장 방식과 논리적 구조를 분리해 데이터 독립성을 보장하는 핵심 원리다.
| 스키마 계층 | 설명 | 담당 영역 |
|---|---|---|
| 외부 스키마 (External Schema) | 사용자가 보는 데이터의 논리적 뷰(View)를 정의 | 사용자 또는 응용 프로그램 |
| 개념 스키마 (Conceptual Schema) | 데이터의 전체 논리적 구조를 정의, 모든 사용자에게 공통 | 데이터베이스 설계자 |
| 내부 스키마 (Internal Schema) | 실제 물리적 저장 구조(파일, 인덱스 등)를 정의 | DBMS 시스템 레벨 |
이 3단계는 서로 독립적이지만, 사상(Mapping) 관계를 통해 연결된다. 즉, 외부 스키마는 개념 스키마에, 개념 스키마는 내부 스키마에 각각 연결되어 있다.
핵심 포인트: 사용자는 외부 스키마를 통해 데이터의 일부분만 접근하며, 내부 저장 방식은 알 필요가 없다.
3. 스키마 간 사상(Mapping) 관계
스키마 간의 연결은 데이터베이스의 독립성을 구현하는 핵심 요소이다. ANSI/SPARC 모델에서는 두 가지 주요 사상 관계를 정의한다.
| 사상 종류 | 설명 | 예시 |
|---|---|---|
| 외부/개념 사상 (External/Conceptual Mapping) | 사용자 뷰(외부 스키마)와 전체 논리 구조(개념 스키마) 간의 대응 | 고객 뷰에서 ‘고객명, 연락처’만 표시 |
| 개념/내부 사상 (Conceptual/Internal Mapping) | 논리적 구조와 물리적 저장 구조 간의 대응 | 논리 테이블 ‘회원’을 실제 파일 블록 단위로 저장 |
이 사상 관계 덕분에 데이터 구조 변경 시 전체 시스템을 수정하지 않아도 되며, 물리적 저장 장치가 바뀌어도 응용 프로그램에는 영향을 주지 않는다.
4. 데이터 독립성의 구현
3단계 구조의 핵심 목표는 바로 데이터 독립성(Data Independence) 이다. 데이터 독립성은 논리적 독립성과 물리적 독립성으로 나뉜다.
- 논리적 독립성 (Logical Independence) → 데이터의 논리적 구조(테이블, 필드)가 변경되어도 응용 프로그램이 영향을 받지 않음
- 물리적 독립성 (Physical Independence) → 저장 장치나 인덱스 구조가 변경되어도 상위 계층에 영향 없음
예시: 만약 회원 테이블에 새로운 컬럼 ‘가입일’이 추가되더라도, 사용자 화면(외부 스키마)은 그대로 작동한다.
5. 3단계 구조의 동작 흐름 예시
graph TD
A[사용자 질의 (SQL)] --> B[외부 스키마]
B --> C[개념 스키마]
C --> D[내부 스키마]
D --> E[물리 데이터 파일]
- 사용자가 SQL 명령을 입력하면 DBMS는 외부 스키마를 통해 어떤 데이터가 필요한지 파악한다.
- 이후 개념 스키마에서 해당 데이터의 논리적 위치를 찾고, 내부 스키마를 통해 물리적 저장 공간에서 데이터를 읽어온다.
- 이 모든 과정은 사용자에게 투명하게 처리되며, 데이터 독립성이 유지된다.
6. 스키마 구조의 장점
- 데이터의 구조적 독립성과 보안 강화
- 다수의 사용자 뷰 제공 가능
- 유지보수 효율 향상 및 프로그램 수정 최소화
- 데이터 접근 효율 향상 및 확장성 보장
이러한 구조적 분리는 오늘날의 RDBMS뿐 아니라 클라우드 기반 데이터 플랫폼에서도 그대로 적용되고 있다.
결론
3단계 스키마 구조는 데이터베이스가 단순한 저장소가 아닌 ‘정보 관리 시스템’으로 발전할 수 있었던 근본적인 이유이다. 외부, 개념, 내부 스키마의 분리를 통해 DBMS는 데이터의 일관성과 보안을 유지하면서도 다양한 응용 프로그램의 요구를 동시에 처리할 수 있다.
다음 학습 – 트랜잭션 관리와 병행제어 (Transaction & Concurrency Control)
다음 학습에서는 데이터 일관성과 신뢰성을 유지하기 위한 트랜잭션 관리 기법을 다룬다. 트랜잭션의 ACID 속성(원자성·일관성·고립성·지속성) 을 중심으로, 여러 사용자가 동시에 데이터를 조작할 때 발생하는 병행제어(Concurrency Control) 문제와 이를 해결하는 로킹(Locking), 타임스탬프(Timestamp), 낙관적 제어(Optimistic Control) 기법을 학습한다. 또한 장애 발생 시 데이터를 복원하는 회복(Recovery) 메커니즘과 로그(Log)·체크포인트(Checkpoint) 의 작동 원리를 구체적으로 정리할 예정이다.
정보처리산업기사 관련링크 모음
“이 포스팅은 쿠팡 파트너스 활동의 일환으로, 이에 따른 일정액의 수수료를 제공받습니다.”
![[7일차] 2025 정보처리산업기사 데이터베이스 – 데이터베이스 시스템 구성과 3단계 스키마 구조 1 정보처리산업기사 [7일차] 2025 정보처리산업기사 데이터베이스 – 데이터베이스 시스템 구성과 3단계 스키마 구조](https://i0.wp.com/jupocket.com/wp-content/uploads/2025/10/image-14.png?resize=492%2C492&ssl=1)