본문 바로가기
개발/데이터베이스

[RDB] 엔티티타입 도출하는 방법

by Devsong26 2023. 11. 24.

RDB(관계형 데이터베이스)에서 '엔티티 타입'은 데이터 모델링의 중요한 개념 중 하나입니다. 엔티티 타입은 실제 세계의 객체 또는 개념을 나타내며, 관계형 데이터베이스에서는 이를 테이블로 구현합니다. 간단히 말해서, 엔티티 타입은 데이터베이스 내에서 데이터를 분류하고 조직화하는 방법의 기본 단위입니다.

예를 들어, 대학 데이터베이스에서 '학생', '교수', '과목' 등은 각각 다른 엔티티 타입이 될 수 있습니다. 이러한 엔티티 타입들은 각기 다른 속성(예: 학생의 경우 이름, 학번, 전공 등)을 가지며, 데이터베이스 내에서 서로 다른 테이블로 표현됩니다.

엔티티 타입의 주요 특징은 다음과 같습니다:

    • 유일성
      • 각 엔티티 타입은 서로 구별 가능해야 하며, 각 엔티티 인스턴스(또는 행)는 고유한 식별자를 가져야 합니다.
    • 속성
      • 엔티티 타입은 여러 속성을 가질 수 있으며, 이러한 속성들은 엔티티의 특성을 나타냅니다.
    • 관계
      • 다른 엔티티 타입과의 관계를 맺을 수 있습니다. 예를 들어, '학생' 엔티티는 '과목' 엔티티와 '수강'이라는 관계를 맺을 수 있습니다.

관계형 데이터베이스 설계에서 엔티티 타입을 정의하고 이들 간의 관계를 명확히 하는 것은 매우 중요합니다. 이 과정을 통해 데이터의 구조를 결정하고, 효율적인 데이터 관리와 조회를 위한 기반을 마련할 수 있습니다.

 

 

도출 방법

  • 명사형 도출
    • 장표나 업무기술서 등에서 명사를 구분하여 이것을 엔티티타입의 후보로 삼은 다음 일정한 기준에 의해 판단하는 방법입니다.
    • 명사형 엔티티타입을 선정할 때는 이 순서대로 진행합니다.
      • 업무 기술서, 장표, 인터뷰 정리 문서 등에서 명사를 구분합니다.
      • 개념이 불분명하고 광범위한 것은 제거합니다.
      • 엔티티타입의 특성이거나 속성의 값을 제거합니다.
      • 포괄적인 업무 프로세스에 해당하는 명사를 제거합니다.
      • 중복되는 명사를 제거하고 누락된 엔티티타입은 없는지 유추합니다.
  • 정규화 이용
    • 업무에서 발생하는 데이터들을 장표의 표현 방법에 의해 나열하여 데이터에서 1차, 2차, 3차, BCNF, 4차, 5차 정규화를 적용하면 됩니다.
    • 정규화를 수행하면 업무적으로 발생하는 모든 데이터에 대해 합리적으로 엔티티타입을 도출할 수 있습니다.
  • 엔티티타입 구분에 의한 4-STEP 데이터 모델링
    • 엔티티타입은 기본, 중심, 행위 엔티티타입으로 구분할 수 있습니다.
    • 구조 -> 업무 흐름 -> 기술적 모델링 -> 모델 검토의 단계를 밟아 모델링을 전개합니다.

 

도출한 엔티티타입 검증하기

상관매트릭스(CRUD Matrix)를 이용하여 도출된 프로세스와 엔티티타입을 X,Y축으로 나열하여 비교합니다.

이를 통해 엔티티타입의 누락, 중복 등의 위험을 피할 수 있습니다.

아래 그림은 ELEMENT PROCESS가 엔티티타입이 어떤 일을 하는지 기술합니다.

 

 


 

참고 도서

- 아는 만큼 보이는 데이터베이스 설계와 구축