본문 바로가기
관게형 DB

데이터 모델링 - 논리 모델

by Haeine 2024. 1. 18.

(이전글: https://godls036.tistory.com/29)

 

데이터 모델링 - 개념 모델

관계형 데이터 모델링 프리미엄 가이드 Chapter 3.1 개념 모델에 대해서 정리한 글입니다. 개념 모델(주제 영역 모델, 비즈니스 모델) 중요한 데이터를 가장 간단하게 표현하는것이 개념 모델의 목

godls036.tistory.com

 

관계형 데이터 모델링 프리미엄 가이드 Chapter 3.2 논리 모델에 대해서 정리한 글입니다.

 

논리 모델(개념 모델의 상세화)

 

논리모델(Logical Model) 단계에서는 개념 모델을 상세화하는 작업을 한다. 개념 모델링에서 도출된 핵심적인 엔터티에 대해서는 중요 속성 이외의 전체 속성을 도출해야 하고, 개념 모델링 단계에서 도출되지 않은 대부분의 엔터티가 도출돼야 한다.
관계를 포함한 사실상 모든 데이터 요소가 도출돼야 하므로 모델링 과정에서 가장 오랜시간이 소요된다.

 

  • 핵심 엔터티를 포함한 대부분의 엔터티가 도출된다.
  • 도출된 엔터티간의 모든 관계가 도출된다.
  • 주요 속성(주 식별자)을 포함한 모든 속성이 정의된다.
  • 정규화를 최대한 진행한다.
  • 논리 모델링이 완료되면 사실상 데이터 모델링은 완료된다.
  • 더 삭제할 요소(엔터티/속성/관계)가 없는 모델. 만약 삭제할게 있으면 논리 모델링이 끝난게 아니다.
  • 그렇다고 성능 측면을 완전히 고려하지 않고 뇌 비우고 정규화만 하는것은 옳지 못하다.

 

논리 모델링 단계의 주요 태스크


아래 태스크들은 순서를 의미하는 것이 아니다. 논리 모델링을 위해 필요한 작업의 종류 정도로 이해하면 좋겠다.

 

1. 엔터티 정의

  물리 모델링 단계에서 구축된 핵심 엔터티를 중심으로 전체 엔터티를 상세화한다. 실체, 행위, 목적, 기준 엔터티가 모두 도출되며 누락되는 업무가 없어야 한다.

 

  엔터티 도출에서 가장 중요한 원칙은 데이터의 성격(정체성)에 맞도록 엔터티를 도출해야 한다. 유사한 데이터가 여러 엔터티에 존재해서도 안되며 하나의 엔터티에 여라 성격의 데이터가 혼재돼 있어서도 안 된다. 

 

엔터티 정의 == 주 식별자 정의

 

2. 관계 도출

  논리 모델링 단계에서는 엔터티 간의 모든 관계(1차 관계, 정규화된 관계)를 도출해야 한다. 관계도 결국 엔터티의 속성으로 나타내지므로 모든 속성을 도출해야 하는 논리 모델에서는 당연히 모든 관계가 도출될 수 밖에 없다.

일부 추출 관계는 물리 모델링 단계에서 추가될 수 있다.

관계를 도출할 때는 실제로 참조 무결성 제약(RI, Referential Integrity)으로 관리되지 않는 관계를 추가하지 않도록 주의해야한다.

 

3. 속성 도출

  업무적으로 필요한 모든 속성이 도출돼야 한다. 감사 추적 용도로 사용되는 시스템 속성만이 제외된다. 시스템 속성은 물리모델에서 적용하는 것이 효율적이다. 즉 성능 문제를 심도있게 논의하기 어렵다.

 

4. 주 식별자 확정

  물리 모델에서 도출된 주 식별자를 다시 한 번 확인하는 단계다. 새롭게 추가되는 다른 엔터티의 관계까지 고려해 주 식별자를 최종적으로 확정되는 단계이다. 물론 물리 모델링 단계에서 PK가 바뀔 수 도 있으며 이때 최종적으로 확정된다.

 

5. 정규화

  원칙적으로 논리 모델은 완전한 형태의 정규형 모델이다. 중복 데이터를 제거해 아노말리가 발생하지 않도록 하는게 논리 모델링 단계의 기본적인 목표이다. 정규화 과정을 거치지 않은 비 정규화는 오만이다 오만!!

 

6. 이력 관리

  이력 데이터에 대한 관리 방안을 심도 있게 분석해야 한다. 특히 최근에는 이력 데이터에 대한 관심과 관리 요구가 높아지고 있어 주의를 기울여야 한다. 이력과 내력의 차이는 데이터가 새로 생기는 것은 내역이다. 이미 생성된 데이터가 변경되면 이력 데이터가 된다. 

엔터티를 정의할 때 이력 관리 방법까지 종합적으로 판단하는 것이 바람직하다. 특히 핵심 엔터티에 대해서는 이력 데이터 까지 철저히 고려하는 것이 좋다.

 

7. 논리 모델 검증

  현행 데이터와의 매핑을 통한 검증을 진행한다.

그리고 어플리케이션과의 매핑을 통한 검증을 한다. 어플리케이션 업무 로직에서 발생하는 여러 산출물들과 매핑하고 향후 화면과 매핑하며 검증할 수 있다. 

또 다른 검증 방법은 사례 데이터를 작성하는 것이다. 특히 핵심 엔터티의 사례 데이터 검증은 꼭 진행하는 것이 좋다.

'관게형 DB' 카테고리의 다른 글

데이터 모델링 - 개념 모델  (2) 2024.01.07