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