Entity(엔티티)
엔터티란?!
- 사람, 장소, 물건, 사건, 개념 등의 명사.
- 업무상 관리가 필요한 관심사.
- 저장이 되기 위한 어떤 것(Things)
Therefore. Entitiy란 업무에 필요하고 유용한 정보를 저장하고 관리하기 위한 집합적인 것(Things)
->업무 활동상 지속적인 관심을 가지고 있어야 하는 대상으로서 그 대상들 간에 동질성을 지닌 인스턴스들이나 그들이 행하는 행위의 집합
-> 인스턴스의 집합
-> 엔터티는 그 집합에 속하는 개체들의 특성을 설명할 수 있는 속성을 갖는다.
Features of the entity ( 엔터티의 특징 )
- 반드시 해당 업무에서 필요하고 관리하고자 하는 정보이어야 한다. (업무에서 필요로 하는 정보)
- 유일한 식별자에 의해 식별이 가능해야 한다. (식별이 가능해야함)
- 영속적으로 존재하는 인스턴스의 집합이어야 한다. (한개가 아니라 두개 이상!!!!!!)
- 엔터티는 업무 프로세스에 의해 이용되어야 한다.
- 엔터티는 반드시 속성이 있어야 한다.(Exception 관계엔터티의 경우 주식별자만 가지고있어도 인정)
- 엔터티는 엔터티와 최소 한 개 이상의 관계가 있어야 한다.
이와 같이 서로 관계를 가지고 있어야 한다.
위 그림에서 잘못된 점은 로그인 엔터티가 따로 관계가 되어있지 않고 혼자 놀고 있다는 점이다.
위와같이 관계가 없이 혼자 놀고있으면 안되요~~~^^
(위 그림은 제가 DB 병원의료정보를 간단하게 프로젝트 한 것입니다.JAVA와 연동해서 ㅎㅎ
이해를 돕기 위해 잠깐 넣었습니다.)
Exception(주의)!
관계를 생략하여 표현하는 경우
* 통계성 엔터티 도출
- 통계업무만 별도로 사용하기 위해
* 코드성 엔터티 도출
- 관계를 설정하게 되면 데이터 모델의 읽기 효율성이 저하되기 때문에 논리적으로나 문리적으로 관계를 설정할 이유가 없다.
* 시스템 처리시 내부필요에 의한 엔터티 도출
- 트랜잭션이 업무적으로 연관된 테이블과 관계 설정이 필요하지만 이 역시 업무적인 필요가 아니고 시스템 내부적인 필요에 의해 생성된 엔터티이므로 관계를 생략하게 된다.
The classification of the entity (엔터티의 분류)
* 유무(有無)형에 따른 분류
- 유형엔터티 -> 물리적인 형태가 있고 안정적이며 지속적으로 활용하는 엔터티
ex) 사원, 물품, 강사 등
- 개념엔터티 -> 물리적인 형태는 존재하지 않고 관리해야 할 개념적 정보로 구분되는 엔터티 ex) 조직, 보험상품 등
- 사건엔터티 -> 업무 시 비교적 발생량이 많으며 각종 통계자료에 이용함.
ex) 주문, 청구, 미납 등
* 발생시점에 따른 분류
- 기본 엔터티
-> 다른 엔터티와 관계에 의해 생성되지 않고 독립적으로 생성이 가능하며 타 엔터티의 부모역할을 하는 엔터티 (자신의 고유 주 식별자를 지님)
ex) 사원, 부서, 고객, 상품, 자재 등
- 중심 엔터티
-> 기본엔터티로부터 발생되고 그 업무에 있어서 중심적인 역할을 하는 엔터티 ex) 계약, 사고, 예금원장, 청구, 주문, 매출 등
- 행위 엔터티
-> 두 개 이상의 부모엔터티로부터 발생되고 자주 내용이 바뀌거나 데이터양이 증가됨. 분석단계에서 나타나지 않으며 상세 설계단계나 프로세스와 상관모델링을 진행하면서 도출됨 ex) 주문목록, 사원변경이력
An entity named(엔터티의 명명)
- 현 업무에서 사용하는 용어를 사용한다.
- 약어 사용X
- 단수명사를 사용한다.
- 모든 엔터티에서 유일하게 이름이 부여되어야 한다.
- 엔터티 생성의미대로 이름을 부여한다.
'IT > SQLD(SQL개발자)' 카테고리의 다른 글
[SQLD] 데이터 모델링관점과 분류 (0) | 2019.06.13 |
---|---|
[SQLD] 식별 (0) | 2019.06.11 |
[SQLD] 관계(Relationship) (0) | 2019.06.10 |
[SQLD] 속성(Attribute) (0) | 2019.06.09 |
[SQLD] 데이터 모델링의 이해 (0) | 2019.06.07 |