3.1. 개념 모델

  • 개념 모델은 데이터 모델
  • 데이터를 가장 간단하게 표현하는 것이 개념 모델의 목적
  • 개념 모델은 해당 주제 영역에 존재하는 핵심적인 중요 엔터티와 그 엔터티의 주요 속성이 도출된 모델
  • 핵심적인 엔터티와 그 엔터티 사이의 관계를 도출한 것
  • 엔터티를 어떻게 정의하느냐에 따라 속성과 관계가 달리짐
  • 업무에서 핵심적인 데이터만을 대상으로 도출한 개념 모델은 힘들고 중요한 작업임
  • 개념 모델에 존재하는 엔터티의 정의가 약간만 틀어져도 전체 시스템에 미치는 영향은 대단히 커질 수 있음
  • 개념 모델은 논리 모델로 연결(Alignment)돼야 함
  • 개념 모델은 업무를 분석하는 단계에서만 필요하고 논리 모델링 단계에서 다시 처음부터 모델링을 시작하는 것은 아님
  • 개념 모델에 표현되었던 엔터티는 논리,물리 모델에도 그대로의 구조로 존재해야 함
  • 엔터티가 개념 모델에는 없고 논리 모델에 바로 생겨서도 안 됨
  • 개념 모델링 단계에서는 중요도가 떨어지는 엔티티는 도출시키지 않고 핵심 엔터티에 대한 정의와 모델구조에만 집중해야 함
  • 요구 사항을 사용자나 IT담당자, 개발자 등이 이해할 수 있도록 데이터로 간결하게 표현하는 것이 개념 모댈의 목표임
  • 데이터 모델을 문서나 언어로만 커뮤니케이션하는 것은 한계가 있음
  • 상위 수준의 개념 모델일지라도 모형으로 존재해야 함
  • 중요하고 핵심적인 엔터티와 그 엔터티 간의 관계에만 집중함으로써 고려 대상을 감소시키고 분석을 단순화시킴
  • 가독성 측면에서 데이터(엔터티) 위주의 표현(표기법)이 사용돼야 함
  • 해석에 띠라 의미가 달라지는 애매한 표현은 사용을 지양해야 함
  • 개념 모델은 분석 단계에서 유용하게 사용됨
  • 초기 분석 단계에서는 핵심적인 업무와 중요 데이터를 확인해야 함
  • 개발 프로젝트에서 가장 중요한 산출물중의 하나가 데이터 모델임
  • 데이터 모델링은 데이터 아키텍처를 구성하는 요소 중에 가장 중요한 부분
  • 개념 모델링은 대체로 주제 영역별로 수행됨
  • 현실적인 어려움 때문에 업무 영역별로 수행됨


요구 분석

  • 데이터 모델링을 수행하는데 필요한 데이터 관점의 요구사항을 분석하는 타스크를 의미함
  • 데이터 관점의 요구 사항은 어떤 업무를 하려면 어떤 데이터가 사용돼야 하는지,
    좋은 품질의 데이터를 보유하고 업무를 빠르게 수행하려면 데이타 구조를 어떻게 해야 하는지 등을 의미함
  • 모델링을 수행하는 중에도 지속적으로 모델에 반영되므로 요구 시항을 모델링과 분리할 수 없음
  • 논리 물리 모델링 중에도 요구 사항은 반영돼야 함
  • 만약 모델링을 수행하기 전에 데이터 관점의 요구사항을 텍스트로 정리하면 요구 분석 타스크가 모델링과 분리될 수 있겠지만 일반적으로 인터뷰하면서 모델링을 수행하는 중에 데이터 요구 사항이 도출됨
  • 요구 시항을 제대로 분석하려면 현재의 업무를 알아야 하고 추가되는 요구사항을 도출해야함
  • 업무에서 사용되는 데이터를 분석하는 것은 현업 IT 담당자와의 인터뷰로부티 수행됨
  • 모델링 프로젝트에서 이 타스크를 어떻게 진행하느냐에 따라 데이터 모델의 품질이 결정됨
  • 현행 데이터를 잘아는 IT 담당자가 반드시 상세한 인터뷰를 수행해줘야 함
  • 현행 데이터의 문제점과 개선점을 요구해야 하며, 향후 추가되거나 보완해야 하는 업무에 대해서도 데이터 관점에서 요구해야 함


중요 엔터티 선별

  • 개념 모델링의 첫 번째 타스크는 핵심적인 엔터티를 선별하는 것
  • 개념 모델링 단계에서 가장 피해야 할 것이 엔터티를 너무 상세하게 도출하는 것
  • 시스템의 규모가 커질수록 전체 엔터티의 개수는 많아지지만, 핵심적인 엔터티는 한정되므로 논리 모델링 단계를 더욱 길게 잡아야 함


엔터티 정의

  • 엔터티 정의란 그 엔터티가 어떠한 데이터로 구성되었으며 그 데이티를 묘사하는 요소들은 무엇이고, 그 요소 중에 결정자 역할을 하는 속성은 무엇인지 등을 선언하는 것


식별자 정의

  • 엔터티에서 결정자 역할을 하는 속성이 식별자임


엔터티 통합

  • 엔터티 통합이란 유사한 성격의 데이터를 일반화시키는 것


엔터티 간 관계 도출

  • 데이터 발생 순서나 업무 프로세스 또는 단순히 주식별자가 같다는 이유 등으로
    실제로 존재하지 않는 관계(참조 무결성 제약이 아닌 관계)를 표현하지 말이야 함
  • 관계는 참조 무결성 제약괴 연관되므로 데이터 무결성 차원에서 대단히 중요한 요소임
  • 현실적으로 FK 제약을 생성할 수 없는 때가 존재하므로 FK 제약 없이 운영하기도 함
  • 모델의 구조적인 뼈대 구축과 엔터티 통합이 이 단계에서 수행해야 하는 가장 중요한 작업
  • 데이터를 통합하면 여러 측면에서 필요 없는 중복을 제거시킴 진정한 중복 제거는 논리모델링에서 수행됨
  • 정규화 과정을 완전하게 거치면 중복은 거의 없어짐
  • 성능을 향상시키기 위한 의도된 중복은 물리 모델링 과정에서 채택될 수 있음