-
[데이터 모델링의 이해] 엔티티 EntitySQL/SQLD 2024. 12. 12. 15:34
엔티티 Entity
- 현실 세계에서 독립적으로 식별 가능한 객체나 사물
- 모델링할 때 데이터베이스에서 관리할 필요가 있는 대상을 의미
- 엔티티는 인스턴스(실제 데이터 레코드), 속성(엔티티의 특징), 식별자 등을 포함
e.g. 학교 시스템을 구축한다고 하자. 이때 엔티티는 [학생] 속성은 [학번] [이름] [학과] 등이 올 수 있고, 식별자로는 [학번]을 예시로 들 수 있다. 이때 인스턴스는 특정 학생의 데이터 [학번: 2022001234]를 가리킨다.
엔티티의 자격
- 2개 이상의 속성과 2개 이상의 인스턴스를 가져 소위 면적으로 표현될 수 있어야 비로소 기본적인 엔티티의 자격을 가짐
엔티티의 특징- 업무에 필요하고 관리 가치가 있어야 함
- 유일한 식별자에 의해 식별이 가능해야 함
- 영속적으로 존재하는 인스턴스의 집합이어야 함 (2개 이상의 인스턴스)
- 반드시 속성을 가져야 함
- 업무 프로세스에 의해 이용되어야 함
- 다른 엔터티와 최소 1개 이상의 관계가 성립해야 함
( 단, 통계성 엔터티나, 코드성 엔터티의 경우 관계를 생략할 수 있음 )
엔티티의 분류
⎮ 유・무형에 따른 분류
- 유형 엔티티 Tangible Entity
- 물리적 형태가 있음
- 지속적으로 사용됨
- 업무에서 도출
e.g. 사원, 강사, 물품 등 - 개념 엔티티 Conceptual Entity
- 물리적 형태가 없음
- 개념적 정보로 사용됨
e.g. 조직, 보험 상품 등 - 사건 엔티티 Event Entity
- 업무 수행에 따라 발생되는 엔티티
- 발생량이 많음
- 각종 통계 자료에 이용
e.g. 주문, 청구, 미납 등
⎮ 발생 시점에 따른 분류
- 기본 엔티티 Fundamental Entity
- 그 업무에 원래 존재하는 정보. 다른 엔티티와의 관계로 생성되지 않고 독립적으로 생성
- 타 엔티티의 부모 역할을 함. 다른 엔티티로부터 주식별자 상속받지 않음
- 자신의 고유한 주식별자 가짐
e.g. 사원, 부서, 고객, 상품, 자재 등 - 중심 엔티티 Main Entity
- 기본 엔티티로부터 발생됨. 업무의 중심적인 역할을 함
- 데이터 양이 많고 엔티티와의 관계를 통해 많은 행위 엔티티 생성
e.g. 계약, 사고, 예금원장 등 - 행위 엔티티 Active Entity
- 2개 이상의 부모 엔티티로부터 발생. 자주 내용이 바뀌거나 데이터양 증가
- 분석 초기 단계에서는 잘 안 나타남. 상세 설계 단계나 프로세스와 상관 모델링 진행 시 도출될 수 있음
e.g. 주문목록, 사원변경, 이력 등
엔티티에 이름을 부여하는 방법 (명명 기준)
- 가능하면 현업 업무에서 사용하는 용어를 사용한다.
- 가능하면 약어를 사용하지 않는다.
- 단수명사를 사용한다.
- 모든 엔티티를 통틀어서 유일하게 이름이 부여되어야 한다.
- 엔티티 생성 의미대로 이름을 부여한다.
'SQL > SQLD' 카테고리의 다른 글
ERD : 데이터 모델링 시각화 (0) 2025.01.08 [데이터 모델링의 이해] 관계 Relationship (1) 2024.12.13 [데이터 모델링의 이해] 속성 Attribute (1) 2024.12.12 [ 데이터 모델링의 이해 ] DB 스키마 구조와 데이터 독립성 (0) 2024.12.11 [데이터 모델링의 이해] 데이터 모델링이란? (0) 2024.12.10