📌 데이터 모델의 이해
🔹 모델링(Modeling)이란?
"현실 세계를 단순화하여 표현하는 기법"
✅ 모델링의 3가지 조건
- 현실 세계를 반영해야 함
- 단순화하여 표현해야 함
- 관찰하고자 하는 데이터를 모델로 설계해야 함
🔹 모델링의 3가지 특징
1️⃣ 추상화(Abstraction)
- 현실 세계를 일정한 형식으로 표현하는 과정
- 아이디어나 개념을 간략하게 정리
2️⃣ 단순화(Simplification)
- 복잡한 현실 세계를 정해진 표기법으로 쉽게 표현
3️⃣ 명확화(Clarity)
- 불분명한 요소를 제거하여 해석이 명확하게 가능하도록 표현
🔹 모델링의 3가지 관점
1️⃣ 데이터 관점 (Data Perspective)
- 데이터 중심의 모델링
- 업무에 연관된 데이터와 데이터 간의 관계를 분석
2️⃣ 프로세스 관점 (Process Perspective)
- 업무 프로세스 중심의 모델링
- 현재 또는 미래의 업무 처리 방식에 초점
3️⃣ 데이터와 프로세스의 상관 관점 (Interaction Perspective)
- 데이터와 프로세스의 관계를 분석
- 프로세스의 흐름에 따라 데이터가 어떻게 변하는지 모델링
🔹 모델링의 3가지 단계
1️⃣ 개념적 데이터 모델링 (Conceptual Data Modeling)
- 가장 추상화 수준이 높은 모델링 단계
- 기업(전사) 차원의 데이터를 분석하고, 업무 중심적이고 포괄적인 모델링을 수행
- 개체(Entity)와 그 관계(Relationship)를 정의하는 단계
2️⃣ 논리적 데이터 모델링 (Logical Data Modeling)
- 데이터베이스를 설계하기 위한 핵심 모델링 단계
- 재사용성이 가장 높은 모델링으로,
- Key(키), 속성(Attribute), 관계(Relationship) 등을 상세하게 정의
- DBMS에 독립적인 설계가 가능
3️⃣ 물리적 데이터 모델링 (Physical Data Modeling)
- 실제 데이터베이스로 구현할 수 있도록 성능과 가용성을 고려하는 단계
- 데이터의 물리적 저장 구조(테이블, 컬럼, 인덱스 등)를 정의
- DBMS의 특성을 반영하여 최적화 진행
🔹 데이터의 독립성 (Data Independence)
"ANSI-SPARC 아키텍처는 DBMS의 추상적인 설계 표준이다."
✅ 총 3단계의 스키마 구조를 갖고 있음

1️⃣ 외부 스키마 (External Schema)
- 사용자 관점 (User View)
- 사용자가 데이터베이스를 보는 관점에 따라 각기 다른 스키마를 정의
- 여러 개의 외부 스키마가 존재할 수 있음 (Multiple User's View)
2️⃣ 개념 스키마 (Conceptual Schema)
- 통합된 관점 (Community View of DB)
- 데이터베이스 전체 구조를 나타내는 스키마
- 모든 사용자가 공유하는 데이터의 구조 및 관계를 정의
3️⃣ 내부 스키마 (Internal Schema)
- 물리적인 관점 (Physical Representation)
- 데이터의 저장 방식, 인덱스, 컬럼 정의 등을 포함
- 실제 물리적인 저장 구조를 나타냄
🔸 데이터 독립성이 보장하는 2가지 원칙
- 논리적 독립성 (Logical Independence)
- 개념 스키마가 변경되어도 외부 스키마(사용자 관점)는 영향을 받지 않음
- 물리적 독립성 (Physical Independence)
- 내부 스키마(저장 구조)가 변경되어도 외부/개념 스키마는 영향을 받지 않음
🔹 ERD (Entity Relationship Diagram)
"어떤 개체(Entity)들이 존재하고, 그들 간에 어떤 관계(Relationship)가 있는지를 시각적으로 표현한 다이어그램"
✅ ERD의 주요 구성 요소
- Entity(개체): 데이터를 저장하는 주요 단위 (예: 고객, 주문, 제품)
- Attribute(속성): 개체가 가지는 정보 (예: 고객 이름, 주문 날짜)
- Relationship(관계): 개체 간의 연관성 (예: 고객은 주문을 한다)
📝 이 단계에서는 개념을 큰 틀에서 이해하는 것이 중요함!
📖 참고 도서: 《SQL개발자 SQLD 과외노트》 - 정미나, 시대에듀