관계형 데이터 모델링 프리미엄 가이드 DB구축 (2017년)
엔터티명 0 0 1,020

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


  • 데이터 모델링에서 기장중요한것이 엔터티를 정의하는 것이다.
  • 엔터티 정의는 엔터티에 대한 설명을 의미하는 것이 아닌, 어떤 집합으로 이루어지는지를 선언하는 것이다.
  • 엔터티가 관리할 데이터 집합을 선언하는 것이 실질적인 모델링의 시발점
  • 엔터티명을 정하는 것은 어려운 관문
  • 엔터티명이 잘못 선언되면 이미 엔터티의 정의가 잘못된 것이나 다름없다.
  • 부적절한 엔티티명은 엔터티의 정확한 사용을 어렵게 하며 엔터티를 오용하게 한다.
  • 엔터티가 어떤 집합으로 구성됐는지를 고민하고, 그 집합의 결정자(Determinant)는 무엇인지를 고민히고 엔터티명은 어떻게 붙이는 게 가장 적절한지를 고민
  • 엔터티명을 정하는 것도 마찬가지로 엔터티의 정의나 결정자의 식별과 동시에 이루어짐
  • 엔터티명은 자신의 데이터 집합에 대한 이름이기도 하고 다른 엔터티가 비라보는 이름이기도 하다. 타엔터티와 연관 관계에서 중요한 역할
  • 데이터의 성격(주제)을 가장 잘 표현, 엔터티명을 보고 단번에 데이터의 성격을 파악, 구체적으로
    • (ex)고객집계 < 고객별주문집계
  • 교차 엔터티 : 양쪽 부모 엔터티의 연관성을 표현 (관계명과도 연관됨)
    • (ex)주문상품(주문, 상품의 교차엔터티)
  • 업무에서 시용하는 표준 용어를 사용(일반적으로 통용되는 용어를 사용,엔터티명은 표준화의 대상이 아닐 수 있음
  • (엔터티명(예를 들어 고객)은 테이블명(예를 들어 CUST)으로 자동전환되지 않는 것이 좋다, 그래야 엔터티명이 비뀌더라도 테이블을 재생성해야 히는 문제가 발생하지 않는다)
  • 엔터티명은 명사형으로 사용하는 것이 일반적
  • 엔터티명은 전 영역에서 한 번만 표현돼야 하며 중복돼서는 안 된다. 이는 테이블명도 동일
  • ( 외부 엔터티는 한 주제 영역에서도 여러번 표현이 가능하고 관계선의 복잡성을 해소하기 위해 주로 사용하는 엔터티 복제도 모델의 기독성을 위해 여러 번 사용 )
  • 엔터티명은 지나치게 길지 않도록 해야 한다.
  • 등록,처리, ~정보, ~관리 등과 같이 의미 없는 단어는 시용하지 않는 것이 바람직(속성명도 군더더기 표현은 생락)
    • (ex)고객기본정보 ->고객
  • 접미사를 삭제해도 엔터티를 이해하는데 문제가 없다면, 생략해도 부방 아무 문제
  • (실무에서는 간혹 엔터티명을 보고 어떤 유형의 엔터티인지를 알고 싶어하는 요구가 존재면 , 접미사에 기본,상세,내역,이력,코드,집계,백업,임시 등의 엔터티 구분을 붙이기도 함 )
  • 확장성을 고려 (데이터 통합을 고려 )--> 엔터티명을 지나치게 구체적으로 정하는 것은 유연하지 않다
    • (ex)개인고객 -> 고객
  • 엔터티명은 테이블명(테이블의 영문이름)과 종속성이 없는 것이 바람직(업무 요건이 변경/통합/분리 등으로 엔터티의 정의가 바뀌면 엔터티명이 자연히 비뀌는데, 테이블명까지 변경)
  • 엔터티명은 원칙적으로 형식 차원에서 원칙은 없다. 원칙이 있다면 일관성이 있도록
  • 가장 중요한 것은 데이터 성격을 가장 적절하게 표현 했느냐는 것이다.
"주주클럽 스터디모임" 에서 2017년에 "관계형 데이터 모델링 프리미엄 가이드" 도서를 스터디하면서 정리한 내용 입니다.

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

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

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

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