개념적 데이터 모델링이란?
개념적 데이터 모델링(Conceptual Data Modeling)은 현실 세계의 데이터를 추상적으로 표현하는 과정입니다.
즉, 데이터의 구조와 관계를 사용자가 이해하기 쉽도록 개념적으로 정의하는 단계입니다.
주요 특징:
- 현실 세계의 데이터를 개체(Entity), 속성(Attribute), 관계(Relationship) 로 표현
- ER(Entity-Relationship) 모델을 사용하여 시각적으로 표현 (ERD 다이어그램)
- 비즈니스 요구 사항을 기반으로 데이터 모델을 설계
1. 개체 (Entity)
개체란?
- 현실 세계에서 독립적으로 존재하는 사물 또는 개념
- 데이터베이스에서 저장할 필요가 있는 정보의 대상
- 예: 사람, 학생, 도서, 고객, 주문 등
개체의 종류
| 개체 유형 |
설명 |
예제 |
| 강한 개체 (Strong Entity) |
다른 개체와 관계없이 독립적으로 존재하는 개체 |
학생(Student), 도서(Book) |
| 약한 개체 (Weak Entity) |
독립적으로 존재할 수 없으며, 강한 개체에 의존 |
주문 상세(OrderDetail) |
개체의 표현 (ER 다이어그램)
2. 개체의 속성 (Attribute)
속성이란?
- 개체(Entity)가 가지는 특징이나 성질을 나타내는 데이터 요소
- 예: 학생 개체의 속성 → 학번(StudentID), 이름(Name), 전공(Major)
속성의 종류
| 속성 유형 |
설명 |
예제 |
| 기본 속성 (Simple Attribute) |
더 이상 나눌 수 없는 속성 |
이름(Name), 성별(Gender) |
| 복합 속성 (Composite Attribute) |
여러 개의 값으로 나뉠 수 있는 속성 |
주소(Address) → (도시, 우편번호) |
| 다중값 속성 (Multivalued Attribute) |
하나의 개체가 여러 개의 값을 가질 수 있는 속성 |
전화번호(PhoneNumber) |
| 유도 속성 (Derived Attribute) |
다른 속성 값에서 계산된 속성 |
나이(Age) = 현재 연도 - 출생 연도 |
| 키 속성 (Key Attribute) |
개체를 고유하게 식별하는 속성 |
학번(StudentID), 주민등록번호(SSN) |
속성의 표현 (ER 다이어그램)
3. 관계 (Relationship)
관계란?
- 개체(Entity) 간의 연관성을 나타내는 것
- 예: 학생(Student)이 강의(Course)를 수강(Enroll)한다
관계의 종류
| 관계 유형 |
설명 |
예제 |
| 1:1 (일대일 관계) |
한 개체가 다른 개체와 오직 하나의 관계만 가짐 |
한 명의 사람 ↔ 하나의 여권 |
| 1:N (일대다 관계) |
한 개체가 여러 개의 다른 개체와 관계를 가짐 |
교수 ↔ 여러 학생 |
| M:N (다대다 관계) |
여러 개의 개체가 여러 개의 다른 개체와 관계를 가짐 |
학생 ↔ 여러 과목 수강 |
관계의 표현 (ER 다이어그램)
정리
| 개념 |
설명 |
예제 |
| 개체 (Entity) |
독립적으로 존재하는 데이터 객체 |
학생(Student), 도서(Book) |
| 속성 (Attribute) |
개체가 가지는 데이터 속성 |
학번, 이름, 나이 |
| 관계 (Relationship) |
개체 간의 연관성 |
학생 ↔ 강의(수강) |
개념적 데이터 모델링은 현실 세계의 데이터를 이해하고 ER 다이어그램을 통해 구조화하는 중요한 과정!