1. 데이터 모델링
- 정의: 현실 세계를 데이터베이스에 옮기기 위해 추상화·단순화·정확화 하는 과정
- 목적: 통합적 관점에서 개념(논리) 스키마 설계
- 특징 (3가지)
- 추상화: 현실을 일정 수준으로 단순하게 표현
- 단순화: 누구나 쉽게 이해할 수 있도록 구조화
- 정확화: 데이터 간 의미와 제약조건을 정확히 표현
- 유의사항
- 중복 : 동일 데이터 반복 저장 → 불필요한 저장공간 낭비
- 비유연성 : 변경·확장 어려운 설계
- 비일관성 : 같은 데이터가 서로 다르게 관리
2. 데이터 모델
- 정의: 데이터 모델링의 결과물 (= 개념 스키마)
- 구성요소:
- 엔터티(Entity, 테이블)
- 속성(Attribute, 칼럼)
- 관계(Relationship, PK/FK)
- 제약조건(Constraint, 무결성 제약)
3. 스키마 구조 (ANSI 3단계 스키마 구조)
(1) 외부 스키마
- 사용자/응용프로그램 관점 → 개별 맞춤 뷰
- 마케팅팀 : 고객명/연락처만 조회
- 영업팀 : 구매내역 중심 조회
(2) 개념(논리) 스키마
- 데이터베이스 전체를 통합한 논리적 설계
- 테이블 구조, 칼럼, 데이터 타입, 관계(1:1, 1:N) 정의
(3) 내부(물리) 스키마
- 실제 저장 방식 정의
- 저장 구조, 인덱스, 파티션, 접근 경로 등
4. 데이터 독립성
데이터베이스 변경 시 상위 계층이 영향받지 않는 성질
| 구분 | 정의 | 예시 | 구현 난이도 |
| 논리적 데이터 독립성 | 개념 스키마 변경이 외부 스키마에 영향 없음 | 테이블 분할/컬럼 추가해도 뷰, 앱 영향 없음 | 어렵다 |
| 물리적 데이터 독립성 | 내부 스키마 변경이 개념 스키마에 영향 없음 | 인덱스 추가/저장소 변경해도 SQL 변경 불필요 | 쉽다 |
'SQL Professional' 카테고리의 다른 글
| [독학! SQLP] NULL에 관하여! (0) | 2025.08.19 |
|---|---|
| [독학! SQLP] DCL? DDL? DML? TCL? (0) | 2025.08.19 |
| [독학! SQLP] 정규형? 정규화? 반정규화? (0) | 2025.08.19 |
| [독학! SQLP] 학습용 Oracle 설치 가이드 (1) | 2025.08.19 |
| [독학! SQLP] 엔터티? 식별자? 속성? 속성값? 도메인? 인스턴스? 관계? (0) | 2025.08.18 |