논리 모델(Logical Model)

목적
  • 비스니스 요건을 빠짐없이 정확히 반영하는 것.
  • 중요한 비즈니스 개념을 이해하는데 도움을 주는 모델
논리모델단계에서 해야할 일
  • 개념 모델에서 도출된 엔터티에 대해 중요속성 이외에 전체 속성 도출(시스템속성 제외)
  • 개념 모델링 단계에서 도출되지 않은 대부분의 엔터티 도출
  • 관계를 포함한 사실상 모든 데이터 요소 도출
  • 논리 모델 구조는 물리 모델 구조와 거의 유사하며 논리 모델이 완료되면 사실상 모델 구조적으로는 거의 모든 결정이 이루어지 것임
  • 이때문에 만약 물리모델에서 구조적으로 큰 변화가 발생하면 논리 모델링이 잘못 수행되었다고 볼수 있음


논리 모델의 주요단계

1.엔터티 정의

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


2.관계 도출

  • 엔터티간의 모든 관계를 도출 해야함.
  • 관계는 속성으로 나타내므로 모든 속성을 도출해야하는 논리 모델에는 모든 관계가 도출됨.
  • 관계를 도출할 때에는 실제로 참조무결성 제약으로 관리되지 않는 관계를 추가하지 않도록 주의


3.속성 도출

  • 업무적으로 필요한 모든속성이 도출되어야함.(작업의 편의성을 위해 시스템속성은 물리모델에서 일괄적용하는것이 효율적임)
  • 모든요구사항이 반영되어야 하므로 모든 속성이 도출되어야 함.
  • 다만, 성능문제는 심도있게 논의하기 어려움(이때문에 개발단계에서 비정규화가 행해지기도함)


4.주 식별자 확정

  • 주 식별자는 엔터티정의와 동시에 추출되어야함.
  • 이미 도출된 주 식별자를 다시한번 확인하는 단계
  • 다른 엔터티의 관계까지 고려해 주 식별자를 최종적으로 확정하는 단계


5.정규화

  • 가장 중요한 개념으로 논리 모델링 단계에서 반드시 고려해야함.
  • 완전한 형태의 정규형 모델인 논리 모델은 중복데이터를 제거해 아노말리가 발생하지 않도록 해야함.
  • 정규화 과정을 거쳐야 군더더기없는 데이터 구조가 되며, 엔터티는 더욱 명확해지고 모델 구조는 더욱 견고해 짐.


6.이력 관리

  • 데이터 입장에서 데이터가 새로 생기는것은 내역 데이터이며, 이미 생성된 데이터가 변경되면 이력데이터라고 봐야함.
  • 이력 관리 방법에 따라 주 식별자가 달라질 수 있어 다른 엔터티와의 관계가 변경될 수 있으므로 모델링 초반이라도 중요한 업무에 대해서는 반드시 고려해야 함.
  • 엔터티를 정의할 때 이력관리 방법까지 종합적으로 판단하는것이 바람직함.(핵심엔터티는 이력데이터까지 고려하는것이 좋다.)


7.논리 모델 검증

  • 현행데이터와의 매핑을 통해 검증
  • 어플리케이션 매핑을 통해 검증 (향후 화면과의 매핑을 통해 화면에서 사용하는 항목과 엔터티의 속성까지 매핑하여 검증)
  • 사례 데이터를 작성하여 검증 (중요엔터티의 사례 데이터를 작성하여 의도대로 데이터가 생성되는지 검증)
  • 코드매핑을 통한 검증 (현행코드와 향후 코드를 매핑하여 심도있게 검증)
  • 엔터티가 제대로 정의되지 않은 상황에서 매핑같은 정략적 검증은 형식적이고 무의미하므로 엔터티를 명확하게 정의하는것이 최우선임