DB 기본 개념
DBMS, 스키마, 인스턴스, 3-스키마 아키텍처, 데이터 독립성
기본 정의
| 용어 |
정의 |
| 데이터베이스 |
관련된 데이터의 모음 |
| 데이터 |
기록할 수 있는 알려진 사실로서 암시적인 의미를 가짐 |
| 미니월드(Mini-world) |
데이터베이스에 저장된 현실 세계의 일부 |
| DBMS |
전산화된 데이터베이스의 생성 및 유지 관리를 지원하는 소프트웨어 |
| 데이터베이스 시스템 |
DBMS 소프트웨어 + 데이터 (때로는 애플리케이션도 포함) |
| 메타데이터(Catalog) |
데이터베이스에 대한 설명 (DBMS 카탈로그에 저장) |
성능 결정 요소: Disk I/O 속도
스키마 vs 인스턴스
| 구분 |
설명 |
비유 |
| 스키마 |
데이터베이스의 구조, 데이터 타입, 제약 조건 설명. 거의 변화 없음 |
클래스 |
| 인스턴스(상태) |
특정 시간에 실제로 저장된 데이터. 계속 수정됨 |
객체 |
3-스키마 아키텍처
프로그램-데이터 독립성과 다중 사용자 뷰를 지원하기 위해 제안
외부 스키마 (External) ← 사용자/프로그램 뷰
↕ 매핑
개념적 스키마 (Conceptual) ← 전체 DB 구조와 제약
↕ 매핑
내부 스키마 (Internal) ← 물리적 저장 구조, 인덱스
| 스키마 |
관점 |
내용 |
| 내부 스키마 |
DBMS 구현 |
물리적 저장 구조, 액세스 경로(인덱스) |
| 개념적 스키마 |
DB 모델러 |
전체 DB 구조와 제약 조건 |
| 외부 스키마 |
사용자/프로그램 |
각 사용자의 뷰 (여러 개 존재 가능) |
데이터 독립성
| 종류 |
정의 |
예시 |
| 논리적 데이터 독립성 |
외부 스키마 영향 없이 개념적 스키마 변경 가능 |
속성 이름 변경 시 매핑 유지 → 외부 뷰 불변 |
| 물리적 데이터 독립성 |
개념적 스키마 변경 없이 내부 스키마 변경 가능 |
메모리 저장 순서 변경 시 매핑만 수정 |
데이터베이스 접근 방식의 주요 특성
- 자기 기술성(Self-describing): 메타데이터를 통해 DB 설명이 DB 내에 저장
- 다중 사용자 뷰 지원: 각 사용자가 자신의 관심 데이터만 볼 수 있음
- 공유 데이터와 트랜잭션 처리:
- 트랜잭션: 하나의 논리적 작업 단위
- All or Nothing: 모든 작업이 완료되지 않으면 전부 취소
DBMS의 이점
- 중복성 제어: 정규화 활용
- 권한 없는 접근 통제
- 효율적인 쿼리 처리: 인덱스 활용
- 쿼리 최적화: Relational Algebra 기반으로 더 효율적인 쿼리로 변환
- 백업 및 복구 서비스
- 무결성 제약 조건 강제
관련 개념