엔터티(Entity, 실체, 객체)
엔터티의 개념
- 엔터티는 사람, 장소, 물건, 사고, 개념 등의 명사에 해당
- 엔터티는 업무상 관리가 필요한 관심사에 해당
- 엔터티는 저장이 되기 위한 어떤 것(Thing)
- 업무에 필요하고 유용한 정보를 저장하고 관리하기 위한 집합적인 것
엔터티와 인스턴스에 대한 내용과 표기법
- 엔터티는 인스턴스의 집합
ex) 엔터티: 과목, 강사, 사건
인스턴스 : 수학, 영어 / 이춘식, 조시형 / 2010-001, 2010-002
엔터티의 특징
- 반드시 해당 업무에서 필요하고 관리하고자 하는 정보이어야 한다.
- 유일한 식별자에 의해 식별이 가능해야 한다.
- 영속적으로 존재하는 인스턴스의 집합이어야 한다.(한 개가 아니라 두 개 이상)
- 엔터티는 업무 프로세스에 의해 이용되어야 한다.
- 엔터티는 반드시 속성이 있어야 한다.
- 엔터티는 다른 엔터티와 최소 한 개 이상의 관계가 있어야 한다.
엔터티의 분류
- 엔터티는 엔터티 자신의 성격에 의해 실체 유형에 따라 구분하거나 업무를 구성하는 모습에 따라 구분이 되는 발생시점에 의해 분류
- 유무형에 따른 분류 - 일반적으로 엔터티는 유무형에 따라 유형엔터티, 개념엔터티, 사건엔터티로 구분
- 유형엔터티 - 물리적인 형태가 있고 안정적이며 지속적으로 활용되는 엔터티로 업무로부터 엔터티를 구분하기가 가장 용이
- 개념엔터티 - 물리적인 형태가 없고 관리해야 할 개념적 정보로 구분이 되는 엔터티로 조직, 보험상품 등이 해당
- 사건엔터티 - 업무를 수행함에 따라 발생되는 엔터티로서 비교적 발생량이 많으며 각종 통계자료에 이용될 수 있다. 주문, 청구, 미납 등
- 발생시점에 따른 분류
- 기본엔터티 - 그 업무에 원래 존재하는 정보로서 다른 엔터티와 관계에 으해 생성되지 않고 독립적으로 생성이 가능하고 자신은 타 엔터티의 부모 역할을 하게 된다. 다른 엔터티로부터 주식별자를 상속받지 않고 자신의 고유한 주식별자를 가지게 된다. (사원, 부서, 고객, 상품 등)
- 중심엔터티 - 기본엔터티로부터 발생되고 그 업무에 있어서 중심적인 역할을 한다. 데이터의 양이 많이 발생되고 다른 엔터티와의 관계를 통해 많은 행위엔터티를 생성한다. (계약, 사고, 예금원장, 청구, 주문, 매출 등)
- 행위엔터티 - 두 개 이상의 부모엔터티로부터 발생되고 자주 내용이 바뀌거나 데이터량이 증가된다. 분석초기 단계에서는 잘 나타나지 않으며 상세 설계단계나 프로세스와 상관모델링을 진행하면서 도출될 수 있다. (주문목록, 사원변경이력 등)
- 이 밖에도 엔터티가 스스로 생성될 수 있는지 여부에 다라 독립엔터티, 의존엔터티로 구분가능
- 유무형에 따른 분류 - 일반적으로 엔터티는 유무형에 따라 유형엔터티, 개념엔터티, 사건엔터티로 구분
엔터티의 명명
- 현업업무에서 사용하는 용어 사용
- 가능하면 약어 사용 X
- 단수명사 사용
- 모든 엔터티에서 유일한 이름 부여
- 엔터티 생성의미대로 이름 부여
-> 예를 들어, 고객이 어떤 제품? 주문목록이라고도 할 수 있고 고객제품이라고 할 수 있다.
만약 고객제품이라고 하면 ‘고객이 주문한 제품’인지 아니면 ‘고객의 제품’인지 의미가 애매모호해질 수 있게 된다.
엔터티의 이름을 업무목적에 따라 생성되는 자연스러운 이름을 부여해야 하는데 이와 상관없이 임의로 이름을 부여하게 되면 프로젝트에서는 커뮤니케이션 오류로 인해 문제를 야기할 수 있게 된다.
https://dataonair.or.kr/db-tech-reference/d-guide/sql/?pageid=2&mod=list
해당 사이트의 글을 공부를 위해 작성하였습니다.
SQL – DATA ON-AIR
dataonair.or.kr
'SQLD' 카테고리의 다른 글
[SQLD] 데이터 모델링의 이해 - 3. 관계 (1) | 2023.05.09 |
---|---|
[SQLD] 데이터 모델링의 이해 - 2. 속성 (1) | 2023.05.09 |