상세 컨텐츠

본문 제목

2-3. 개념적 데이터 모델링에서 릴레이션쉽 표기법 (Optionality, Cardinality/Degree)

빅데이터/Database_Modeling

by datasa 2024. 9. 8. 22:45

본문

 

 

 

 

▶ 릴레이션쉽 표기법 (Optionality, Cardinality/Degree)

데이터베이스 모델링에서 관계 표기법은 엔티티 간의 연결 관계를 정확하게 나타내는 데 필수적인 요소입니다. 특히, **옵셔널리티(Optionality)**와 **카디널리티(Cardinality)**는 관계의 특성을 명확하게 표현하는 데 중요한 역할을 합니다.

○ 옵셔널리티 (Optionality)

  • 정의: 어떤 엔티티가 다른 엔티티와 반드시 연결되어야 하는지 또는 선택적으로 연결될 수 있는지를 나타내는 속성입니다.
  • 종류:
    • 필수(Mandatory): 반드시 연결되어야 하는 경우입니다.
    • 선택(Optional): 연결될 수도 있고, 연결되지 않을 수도 있는 경우입니다.
  • 표기:
    • 필수: 관계선에 '1' 또는 'N'을 표기하거나, 선을 굵게 표시합니다.
    • 선택: 관계선에 '0' 또는 'N'을 표기하거나, 선을 가늘게 표시합니다.

 카디널리티 (Cardinality) 또는 디그리(Degree)

  • 정의: 두 엔티티 간의 연결 가능한 인스턴스의 수를 나타내는 속성입니다.
  • 종류:
    • 일대일(1:1): 한 엔티티의 인스턴스가 다른 엔티티의 단 하나의 인스턴스와만 연결되는 경우입니다.
    • 일대다(1:N): 한 엔티티의 인스턴스가 다른 엔티티의 여러 인스턴스와 연결될 수 있는 경우입니다.
    • 다대다(M:N): 양쪽 엔티티의 인스턴스가 여러 개의 인스턴스와 연결될 수 있는 경우입니다. (일반적으로 중간 엔티티를 추가하여 1:N 관계로 변환합니다.)
  • 표기:
    • 1:1: 관계선의 양쪽에 '1'을 표기합니다.
    • 1:N: 한쪽에 '1', 다른 쪽에 'N'을 표기합니다.
    • M:N: 양쪽에 'N'을 표기하고, 중간 엔티티를 추가하여 표현합니다.

<예시>

  • 고객과 주문: 한 명의 고객은 여러 개의 주문을 할 수 있지만, 주문은 반드시 한 명의 고객과 연결되어야 합니다. 이 경우, 고객 엔티티와 주문 엔티티 사이의 관계는 1:N이며, 주문 엔티티 쪽에서 고객 엔티티로의 연결은 필수입니다.
  • 학생과 수업: 한 명의 학생은 여러 개의 수업을 들을 수 있고, 한 개의 수업에는 여러 명의 학생이 수강할 수 있습니다. 이 경우, 학생 엔티티와 수업 엔티티 사이의 관계는 M:N이며, 중간 엔티티인 "수강"을 추가하여 1:N 관계로 변환합니다.

왜 옵셔널리티와 카디널리티가 중요할까요?

  • 데이터 무결성 유지: 관계의 특성을 정확하게 정의함으로써 데이터의 일관성을 유지하고, 잘못된 데이터 입력을 방지할 수 있습니다.
  • 데이터베이스 설계 최적화: 관계를 정확하게 모델링하면 데이터베이스의 성능을 향상시키고, 저장 공간을 효율적으로 활용할 수 있습니다.
  • 시스템 요구사항 명확화: 시스템 개발에 필요한 데이터 요구사항을 명확하게 정의하고, 개발자와 사용자 간의 오해를 줄일 수 있습니다.

결론

옵셔널리티와 카디널리티(디그리)는 데이터베이스 모델링에서 매우 중요한 개념입니다. 이 두 가지 요소를 정확하게 이해하고 적용함으로써 더욱 효과적인 데이터베이스 모델을 설계할 수 있습니다.

관련글 더보기

댓글 영역