관계형 데이터 모델링 프리미엄 가이드 DB구축 (2017년)
엔터티 도출 원칙 0 0 516

by 구루비스터디 엔터티 Entity [2017.11.10]


엔터티를 도출할 때 가장 중요한 원칙은 데이티의 성격/본질/주제에 따른 정체성이 분명


데이터 정체성
  • 데이터의 성격(정체성)에 맞는 엔터티를 도출
  • 엔터티 정의가 불분명하면 발생할 수 있는 가장 커다란 부작용은 엔더티를 임의대로 시용히는 것(의도와 다르게 사용)
  • 엔터티의 정체성이 모호하면 모델을 보고 업무를 파악하기가 어렵고, 엔터티외 관계도 모호해질 수밖에 없다.


엔터티 무결성
  • 데이터 본질에 합당하도록 엔터티를 도출하는 것이 가장 중요한 엔터티 도출 원칙이라면 주식별자가 존재하도록 엔터티를 도출하는 것은 가장 기본적인 원칙
  • 엔터티에 주식별자가 반드시 존재해야 한다는 것은 엔터티 무결성(Entity Integrity)을 지키기 위한 근본적인 원칙.
  • 엔터티의 주식별자는 데이터 모델링의 기반, 물리적인 주키(Primary Key)기 존재, 식별자(Identifier)가 존재


엔터티 유일성
  • 동일한 성격의 데이터는 전사적으로 유일, 다수 존재하면 데이터 무결성을 저해,관리 측면에서도 바람직하지 않다
  • 전체 모델에서 하나의 주제는 하나의 엔터티에서만 식별돼야 한다.


데이터 혼용 배제
  • 한 엔터티에 서로 다른 성격의 데이터를 혼용해서는 안된다. (데이터 정체성에 맞도록 엔터티를 도출해야 한다는 원칙과 유사)
  • 한 엔터티에 여러 종류의 데이터가 관리되는 원인은 정체성에 맞는 엔터티를 도출하지 않은 것이 가장 큰 원인일 것이다. 또한 중복 속성이니 추출 속성에 의해서도 발생한다


타 엔터티와 관계 존재
  • 엔터티는 보통 타 엔터티와 관계(Relationship)가 존재하는 것이 일반적이다
  • 관계는 시스템 속성을 제외하고는 모두 표현히는 것이 원칙이지만 모델 표현의 복잡성을 피하려고 사원이나 부서 등과 같은 관계는 표현하지 않을 수도 있다.
  • 하지만 표현상의 약속을 제외하고 다른 엔터티와 관계가 존재하지 않으면 그 엔티티의 성격에 대해서 다시 한 번 살펴야 한다.


프로세스 도출 지양
  • 엔터티를 도출할 때 흔히 발생하는 현상이 프로세스(Process)에 따라 엔터티가 생성되는 것이다.
  • 같은 주제를 표현한 데이터지만 프로세스에 따라 변하는 상태를 엔터티로 도축하거나 특정 프로세스를 처리하기 위한 회면에 따라 엔터티를 도출히면 안 된다.
  • 데이터 모델에는 프로세스(순서)가 없다. 즉 어떤 젓이 먼저 발생히고 어떤 것이 나중에 발생하는 순서가 없다 (시간의 흐름과 무관하게 결과로써 데이타가 존재)
  • 프로세스에 새로운 상태가 추가되면 엔터티 중간에 새로운 엔터티가 추가돼야하고 관계가 조정되어, 데이터를 관리하기가 쉽지 않다.


화면 도출 지양
  • 화면에 띠라 엔터티를 도출할 때도 빈번하다.
  • 가능한 원천 데이터를 시용해서 결괴를 보여줄 수 있도록 해야 한다. 원천 데이터를 사용해서 직접 집계하는 것이 성능상 문제가 되면 계산용 요약 엔터티를 사용, 이때도 기능한 최소한의 요약 엔터티를 통해 많은 요건(화면)을 처리


데이터 관리 요건
  • 데이터로 관리할 필요가 있어야 엔터티로 도출히는 것은 기본적인 원칙이다.
  • 하지만 관리할 필요가 없는 데이터를 엔터티로 관리할 때도 존재
  • 물론 요건이 없더라도 데이터를 더욱 상세하게 관리해야 하는 경우 이력데이터, 추적 데이터 등 별도로 관리하기도 함.
"주주클럽 스터디모임" 에서 2017년에 "관계형 데이터 모델링 프리미엄 가이드" 도서를 스터디하면서 정리한 내용 입니다.

- 강좌 URL : http://www.gurubee.net/lecture/3704

- 구루비 강좌는 개인의 학습용으로만 사용 할 수 있으며, 다른 웹 페이지에 게재할 경우에는 출처를 꼭 밝혀 주시면 고맙겠습니다.~^^

- 구루비 강좌는 서비스 제공을 위한 목적이나, 학원 홍보, 수익을 얻기 위한 용도로 사용 할 수 없습니다.

댓글등록
SQL문을 포맷에 맞게(깔끔하게) 등록하려면 code() 버튼을 클릭하여 작성 하시면 됩니다.
로그인 사용자만 댓글을 작성 할 수 있습니다. 로그인, 회원가입