본문 바로가기
Learning/DB SQL 가이드

DB 모델링 - 2. 개념 모델 & 논리 모델 & 물리 모델 : 2.2 논리 모델

by Pronician 2015. 10. 25.
반응형

2.2 논리 모델

 

목적

   ▶ 비즈니스 요건을 빠짐없이 정확히 반영하는 것

   ▶ 중요한 비즈니스 개념을 이해하는데 도움을 주는 모델

 

논리모델단계에서 해야할 일

   ▶ 개념 모델에서 도출된 엔터티에 대해 중요속성 이외에 전체 속성 도출(시스템속성 제외)

   ▶ 개념 모델링 단계에서 도출되지 않은 대부분의 엔터티 도출

   ▶ 관계를 포함한 사실상 모든 데이터 요소 도출

 

논리 모델의 주요단계

   1) 엔터티 정의

   ▶ 개념 모델링 단계에서 구축된 핵심 엔터티를 중심으로 전체 엔터티를 상세화함

   ▶ 실체, 행위, 목적, 기준 엔터티가 모두 도출되며 누락 업무가 없어야함

 

   2) 관계 도출

   ▶ 엔터티간의 모든 관계를 도출 해야함

   ▶ 관계는 속성으로 나타내므로 모든 속성을 도출해야하는 논리 모델에는 모든 관계가 도출됨

   ▶ 관계를 도출할 때에는 실제로 참조무결성 제약으로 관리되지 않는 관계를 추가하지 않도록 주의

 

   3) 속성 도출

   ▶ 업무적으로 필요한 모든속성이 도출되어야 함(작업의 편의성을 위해 시스템속성은 물리모델에서 일괄적용하는것이 효율적임)

   ▶ 모든 요구사항이 반영되어야 하므로 모든 속성이 도출되어야 함

   ▶ 다만, 성능문제는 심도있게 논의하기 어려움(이 때문에 개발단계에서 비정규화가 행해지기도 함)

 

   4) 주 식별자 확정

   ▶ 주 식별자는 엔터티정의와 동시에 추출되어야함

   ▶ 이미 도출된 주 식별자를 다시한번 확인하는 단계

   ▶ 다른 엔터티의 관계까지 고려해 주 식별자를 최종적으로 확정하는 단계

 

   5) 정규화

   ▶ 가장 중요한 개념으로 논리 모델링 단계에서 반드시 고려해야함

   ▶ 완전한 형태의 정규형 모델인 논리 모델은 중복데이터를 제거해 아노말리가 발생하지 않도록 해야함

   ▶ 정규화 과정을 거쳐야 군더더기없는 데이터 구조가 되며, 엔터티는 더욱 명확해지고 모델 구조는 더욱 견고해 짐

 

   6) 이력 관리

   ▶ 데이터 입장에서 데이터가 새로 생기는 것은 내역 데이터이며, 이미 생성된 데이터가 변경되면 이력데이터라고 봐야함

   ▶ 이력 관리 방법에 따라 주 식별자가 달라질 수 있어 다른 엔터티와의 관계가 변경될 수 있으므로 모델링 초반이라도 중요한 업무에 대해서는

       반드시 고려해야 함

   ▶ 엔터티를 정의할 때 이력관리 방법까지 종합적으로 판단하는 것이 바람직함(핵심엔터티는 이력데이터까지 고려하는 것이 좋다.)

 

   7) 논리 모델 검증

   ▶ 현행데이터와의 매핑을 통해 검증

   ▶ 어플리케이션 매핑을 통해 검증(향후 화면과의 매핑을 통해 화면에서 사용하는 항목과 엔터티의 속성까지 매핑하여 검증)

   ▶ 사례 데이터를 작성하여 검증(중요엔터티의 사례 데이터를 작성하여 의도대로 데이터가 생성되는지 검증)

   ▶ 코드매핑을 통한 검증(현행코드와 향후코드를 매핑하여 심도있게 검증)

       → 엔터티가 제대로 정의되지 않은 상황에서 매핑같은 정략적 검증은 형식적으로 무의미하므로 엔터티를 명확하게 정의하는 것이 최우선임

반응형

댓글