데이터베이스

개념적 데이터 모델링의 개념

상상모음 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 다이어그램을 통해 구조화하는 중요한 과정!