SQLD 자격증 공부 - 데이터 모델링 part.3
SQLD 자격증 대비를 위한 3층 스키마 구조의 개념, 각 단계 설명, 데이터 독립성의 유형 및 실제 적용 사례를 정리한 글입니다.
SQLD 자격증 공부 - 데이터 모델링 part.3
03. 3층 스키마 (3-Level Schema)
데이터 독립성이 필요한 이유
데이터베이스를 효율적이고 안정적으로 운영하려면 데이터의 구조가 응용 프로그램에 종속되지 않는 것, 즉 독립성(Data Independence) 확보가 중요합니다.
과거 파일 기반 시스템은 사용자 접근 방식에 따라 파일 구조가 종속되어야 했습니다. 하지만 현대 DBMS는 3단계 구조를 통해 이 문제를 해결하며, 사용자, 설계자, 개발자 각각이 보는 데이터의 관점을 분리합니다.
데이터 독립성을 확보하면?
- 응용 프로그램을 변경하지 않고도 DB 구조 수정 가능
- 유지보수 편의성과 유연성 향상
- 요구사항 변화에도 탄력적인 대응 가능
데이터베이스 3단계 구조 (3층 스키마)
3층 스키마는 ANSI 표준에 의해 정의된 개념으로, DB를 외부 스키마, 개념 스키마, 내부 스키마로 분리하여 독립성을 확보합니다.
계층 | 설명 | 대상자 |
---|---|---|
외부 스키마 (External Schema) | - 사용자 관점의 뷰(View) 구성 - 사용자가 관심 있는 데이터만 제공 - 각 사용자마다 서로 다른 스키마 가능 | 사용자, 고객 서비스 팀 등 |
개념 스키마 (Conceptual Schema) | - 데이터 전체 구조와 관계 표현 - 응용 시스템 간 데이터 통합 - 비즈니스 중심 설계 | 설계자, 분석가 |
내부 스키마 (Internal Schema) | - 물리적 저장 구조 (파일 구조, 인덱스 등) - 실제 저장 포맷, 저장 방식 등 명세 | 개발자, DBA |
요청이 외부 스키마 → 개념 스키마 → 내부 스키마로 전달되며, 응답은 내부 → 개념 → 외부로 흐릅니다. 이를 사상(mapping)이라고 부릅니다.
데이터 독립성의 유형
3층 스키마는 아래와 같은 독립성을 보장합니다:
독립성 | 설명 | 특징 |
---|---|---|
논리적 독립성 | - 개념 스키마 변경이 외부 스키마에 영향을 주지 않음 - 구조 변경 없이 응용 프로그램 유지 가능 | - 사용자 중심 설계 유지 - 기능 확장에 유리 |
물리적 독립성 | - 내부 스키마 변경이 개념 스키마에 영향 없음 - 저장 장치 변경, 인덱스 수정 가능 | - 성능 향상 가능 - 유지보수 용이 |
예를 들어:
- 새로운 속성을 개념 스키마에 추가해도 사용자 화면(UI)은 그대로 유지된다면 → 논리적 독립성 확보
- DB 저장 방식을 변경했는데도 응용 프로그램에서 문제 없이 동작한다면 → 물리적 독립성 확보
예시로 이해하는 3층 스키마
CS팀 Aiden
이 고객 이름, 전화번호, 주소만 필요한 경우 → 외부 스키마 #1CS팀 Mae
가 미성년 여부 판단을 위해 생년월일이 필요한 경우 → 외부 스키마 #2- 전체 고객 데이터를 저장하고 있는 DB 설계 → 개념 스키마
- 이 데이터를 어떤 파일 구조로 저장할지 결정 → 내부 스키마
→ Mae를 위해 14세 이상 여부
필드를 개념 스키마에 추가해도 Aiden의 업무는 영향을 받지 않아야 함 → 내부적으로 데이터를 더 빠르게 처리하기 위해 파일 구조를 바꿔도 사용자에겐 변화가 없어야 함
요약
- 3층 스키마는 사용자-설계자-개발자의 관점을 분리해 데이터 독립성을 보장
- 논리적 독립성: 구조 변경 없이 사용자 응용 프로그램 유지
- 물리적 독립성: 저장 방식 변경 시에도 전체 설계에는 영향 없음
- 사상(mapping)을 통해 각 계층 간 요청/응답을 전달함
연습문제 복습
문제 1: 데이터 독립성의 필요성이 아닌 것은?
- (1) 데이터 복잡도 증가 ◯
- (2) 요구사항 대응 증가 X
- (3) 유지보수 중복성 증가 ◯
- (4) 유지보수 비용 증가 ◯
문제 2: 물리적 저장 구조를 의미하는 스키마는?
- (1) 외부 스키마 X
- (2) 개념 스키마 X
- (3) 내부 스키마 ◯
- (4) 논리 스키마 X
문제 3: 논리적 독립성과 관련 없는 설명은?
- (1) 물리적 구조 영향 없이 개념 구조 변경 가능 X
- (2) 사용자 특성에 맞게 변경 가능 ◯
- (3) 통합 구조로 변경 가능 ◯
- (4) 개념 스키마 변경이 외부 스키마에 영향 없음 ◯
This post is licensed under CC BY 4.0 by the author.