2.2 논리 모델
목적
▶ 비즈니스 요건을 빠짐없이 정확히 반영하는 것
▶ 중요한 비즈니스 개념을 이해하는데 도움을 주는 모델
논리모델단계에서 해야할 일
▶ 개념 모델에서 도출된 엔터티에 대해 중요속성 이외에 전체 속성 도출(시스템속성 제외)
▶ 개념 모델링 단계에서 도출되지 않은 대부분의 엔터티 도출
▶ 관계를 포함한 사실상 모든 데이터 요소 도출
논리 모델의 주요단계
1) 엔터티 정의
▶ 개념 모델링 단계에서 구축된 핵심 엔터티를 중심으로 전체 엔터티를 상세화함
▶ 실체, 행위, 목적, 기준 엔터티가 모두 도출되며 누락 업무가 없어야함
2) 관계 도출
▶ 엔터티간의 모든 관계를 도출 해야함
▶ 관계는 속성으로 나타내므로 모든 속성을 도출해야하는 논리 모델에는 모든 관계가 도출됨
▶ 관계를 도출할 때에는 실제로 참조무결성 제약으로 관리되지 않는 관계를 추가하지 않도록 주의
3) 속성 도출
▶ 업무적으로 필요한 모든속성이 도출되어야 함(작업의 편의성을 위해 시스템속성은 물리모델에서 일괄적용하는것이 효율적임)
▶ 모든 요구사항이 반영되어야 하므로 모든 속성이 도출되어야 함
▶ 다만, 성능문제는 심도있게 논의하기 어려움(이 때문에 개발단계에서 비정규화가 행해지기도 함)
4) 주 식별자 확정
▶ 주 식별자는 엔터티정의와 동시에 추출되어야함
▶ 이미 도출된 주 식별자를 다시한번 확인하는 단계
▶ 다른 엔터티의 관계까지 고려해 주 식별자를 최종적으로 확정하는 단계
5) 정규화
▶ 가장 중요한 개념으로 논리 모델링 단계에서 반드시 고려해야함
▶ 완전한 형태의 정규형 모델인 논리 모델은 중복데이터를 제거해 아노말리가 발생하지 않도록 해야함
▶ 정규화 과정을 거쳐야 군더더기없는 데이터 구조가 되며, 엔터티는 더욱 명확해지고 모델 구조는 더욱 견고해 짐
6) 이력 관리
▶ 데이터 입장에서 데이터가 새로 생기는 것은 내역 데이터이며, 이미 생성된 데이터가 변경되면 이력데이터라고 봐야함
▶ 이력 관리 방법에 따라 주 식별자가 달라질 수 있어 다른 엔터티와의 관계가 변경될 수 있으므로 모델링 초반이라도 중요한 업무에 대해서는
반드시 고려해야 함
▶ 엔터티를 정의할 때 이력관리 방법까지 종합적으로 판단하는 것이 바람직함(핵심엔터티는 이력데이터까지 고려하는 것이 좋다.)
7) 논리 모델 검증
▶ 현행데이터와의 매핑을 통해 검증
▶ 어플리케이션 매핑을 통해 검증(향후 화면과의 매핑을 통해 화면에서 사용하는 항목과 엔터티의 속성까지 매핑하여 검증)
▶ 사례 데이터를 작성하여 검증(중요엔터티의 사례 데이터를 작성하여 의도대로 데이터가 생성되는지 검증)
▶ 코드매핑을 통한 검증(현행코드와 향후코드를 매핑하여 심도있게 검증)
→ 엔터티가 제대로 정의되지 않은 상황에서 매핑같은 정략적 검증은 형식적으로 무의미하므로 엔터티를 명확하게 정의하는 것이 최우선임
'Learning > DB SQL 가이드' 카테고리의 다른 글
DB 모델링 - 3. 정규화 : 3.1 정규화 (0) | 2015.10.25 |
---|---|
DB 모델링 - 2. 개념 모델 & 논리 모델 & 물리 모델 : 2.3 물리 모델 (0) | 2015.10.25 |
DB 모델링 - 2. 개념 모델 & 논리 모델 & 물리 모델 : 2.1 개념 모델 (0) | 2015.10.25 |
DB 모델링 - 1. 데이터 모델링 기본 개념 : 1.3 데이터베이스 라이프 사이클 (0) | 2015.10.25 |
DB 모델링 - 1. 데이터 모델링 기본 개념 : 1.2 무결성 (0) | 2015.10.21 |
댓글