이 글은 전공 수업 내용을 복습할 겸 기록해놓은 글입니다.
추가할 사항이 있거나 잘못된 점이 있으면 댓글로 남겨주세요.
엔티티의 정의
- Peter Chen(1976) : 변별할 수 있는 사물
- C.J Date(1986) : 데이터베이스 내에서 변별 가능한 객체
- James Martin(1989) : 정보를 저장할 수 있는 어떤 것
- Thomas Bruce(1992) : 정보가 저장될 수 있는 사람, 장소, 물건, 사건 그리고 개념 등
- 업무에 필요한 정보를 저장하고 관리하기 위한 집합적인 어떤 것(Thing)
- 유형 혹은 무형 정보의 대상
- 인스턴스의 집합 - 엔티티의 분류
유형(Tangible) 엔티티
- 물리적인 형태가 있고 안정적이며 지속적으로 활용됨
개념(Conceptual) 엔티티
- 물리적인 형태는 존재하지 않지만 관리해야할 개념적 정보
사건(Event) 엔티티
- 업무 수행 과정에서 발생
- 비교적 발생량이 많음
- 각종 통계 자료에 이용
엔티티의 특징
- 해당 업무에서 필요하고 관리하고자 하는 정보여야 함
- 업무에서 관리되는 집합임
- 업무에서 관리하고자 하는 관심 영역(Business Boundry)에 따라 달라짐 - 식별자에 의해 식별이 가능해야 함
- 영속적으로 존재하는 둘 이상의 인스턴스의 집합이 되어야 함
- 업무 프로세스에 의해 이용되어야 함
- 업무 프로세스에 의해 CREATE, READ, UPDATE, DELETE가 발생해야 함
- 그렇지 않으면 부적절한 엔티티가 선정되거나, 적절한 업무 프로세스가 도출되지 않음 - 엔티티는 반드시 속성을 가져야 함
- 속성이 없는 엔티티는 존재할 수 없음 - 주식별자만 존재하고 일반 속성이 전혀 없는 경우도 부적절한 엔티티임
- 예외로, 관계엔티티(또는 연관엔티티, Association Entity)의 경우는 주식별자 속성만 가지고 있어도 인정됨 - 다른 엔티티와 최소 하나 이상의 관계를 가져야 함
- 고립 엔티티가 발생하면 부적절한 엔티티가 도출되었거나 관계가 누락되었을 가능성이 큼 - 단, 통계성 엔티티, 코드성 엔티티, 시스템 처리용 내부 엔티티(트랜잭션 로그 테이블 등)의 경우는 고립 엔티티를 인정
- 통계성 엔티티 : 통계업무만(Read Only)을 위해 엔티티를 별도로 다시 정의하기 때문에 생략
- 코드성 엔티티 : 코드의 효율성을 높이기 위한 엔티티이므로 관계 생략
- 시스템 처리용 내무 엔티티 : 시스템 내부적인 필요에 의해 생성된 엔티티이므로 관계 생략
엔티티 명명법
- 엔티티 생성 의미 그대로, 실제 업무에서 사용하는 용어 사용
- 약어는 사용하지 않음
- 단수 명사 사용
- 이름이 동일한 엔티티가 중복으로 존재할 수 없음
'데이터베이스(Database) > Data Modeling' 카테고리의 다른 글
[DB] 데이터 모델링(6) - 식별자(Identifier) (0) | 2022.10.24 |
---|---|
[DB] 데이터 모델링(5) - 속성(Attribute) (0) | 2022.10.24 |
[DB] 데이터 모델링(4) - 관계(Relationship) (0) | 2022.10.24 |
[DB] 데이터 모델링(2) - 데이터 모델링의 요소와 ERD (0) | 2022.10.24 |
[DB] 데이터 모델링(1) - 데이터 모델링 개요와 데이터 독립성 (0) | 2022.10.20 |