핵심 인사이트 (3줄 요약)
- 본질: 논리적 데이터 독립성은 논리 스키마(테이블 구조)를 변경해도 외부 스키마(뷰·응용 프로그램)에 영향을 주지 않는 성질이며, ANSI/SPARC 3단계 아키텍처의 핵심이다.
- 가치: 테이블 분할·컬럼 추가 등 논리 스키마 변경 시 **뷰(View)**가 완충 역할을 하여 기존 응용 프로그램이 수정 없이 동작할 수 있으며, 이것이 뷰의 본질적 존재 이유이다.
- 판단 포인트: 뷰는 데이터 독립성뿐 아니라 **보안(민감 컬럼 제외)·편의성(복잡 조인 캡슐화)**도 제공하며, 물리적 데이터 독립성(저장 구조 변경↔논리 스키마)과 구분해야 한다.
Ⅰ. 개요 및 필요성
┌───────────────────────────────────────────────────────┐
│ ANSI/SPARC 3단계 + 데이터 독립성 │
├───────────────────────────────────────────────────────┤
│ [외부 스키마] 뷰 A, 뷰 B (사용자별 관점) │
│ ↕ ← 논리적 데이터 독립성 │
│ [개념 스키마] 테이블·관계·제약조건 │
│ ↕ ← 물리적 데이터 독립성 │
│ [내부 스키마] 인덱스·파티션·저장 구조 │
└───────────────────────────────────────────────────────┘
- 📢 섹션 요약 비유: 뷰는 **커튼(외부 스키마)**이다. 방(테이블)의 가구를 재배치해도 커튼만 바꾸면 밖에서 보는 모습(응용)은 그대로이다.
Ⅱ. 아키텍처 및 핵심 원리
뷰의 3대 기능
| 기능 | 설명 |
|---|---|
| 독립성 | 논리 스키마 변경으로부터 응용 보호 |
| 보안 | 민감 컬럼 제외하여 접근 제어 |
| 편의성 | 복잡 JOIN을 단순 뷰로 제공 |
뷰의 한계
-
Materialized View 아닌 경우 저장 없이 쿼리 시 재계산.
-
일부 뷰는 INSERT/UPDATE 불가 (복합 뷰).
-
📢 섹션 요약 비유: 뷰는 창문(볼 수만 있음)이고, Materialized View는 사진(저장됨, 갱신 필요)이다.
Ⅲ. 비교 및 연결
| 비교 | 논리적 독립성 | 물리적 독립성 |
|---|---|---|
| 변경 | 테이블 구조 | 저장 구조 |
| 보호 | 외부 스키마 | 개념 스키마 |
| 수단 | 뷰 | 내부 스키마 매핑 |
Ⅳ. 실무 적용 및 기술사 판단
실무 뷰 활용
- 보안 뷰:
SELECT name, dept FROM emp(salary 제외). - 집계 뷰: 월별 매출 요약 (복잡 쿼리 캡슐화).
- 호환 뷰: 테이블 분할 후 기존 뷰 유지.
Ⅴ. 기대효과 및 결론
논리적 데이터 독립성은 DBMS의 존재 이유 중 하나이며, 뷰가 이를 실현하는 핵심 메커니즘이다.
📌 관련 개념 맵
| 개념 | 연결 포인트 |
|---|---|
| 논리적 독립성 | 외부↔개념 스키마 분리 |
| 물리적 독립성 | 개념↔내부 스키마 분리 |
| View | 논리적 독립성의 구현 수단 |
| Materialized View | 저장되는 뷰 (성능↑) |
| ANSI/SPARC | 3단계 스키마 아키텍처 |
📈 관련 키워드 및 발전 흐름도
[파일 시스템 (독립성 없음, ~1960s)]
│
▼
[ANSI/SPARC 3단계 (1975) — 데이터 독립성 정의]
│
▼
[뷰 + Materialized View (2000s)]
│
▼
[Virtual Table / CTE (2010s)]
│
▼
[현재: 데이터 가상화 — 물리 저장 없이 통합 뷰 제공]
👶 어린이를 위한 3줄 비유 설명
- 뷰는 방의 커튼이에요. 방 안(테이블)을 바꿔도 밖에서 보는 모습은 그대로예요.
- 민감한 물건(비밀번호 컬럼)은 커튼으로 가릴(보안) 수 있어요.
- 덕분에 방을 리모델링(스키마 변경)해도 손님(프로그램)은 영향 없이 지낼 수 있어요!