으쌰으쌰💪/SQL

데이터 모델링 - 엔티티 (Entity)

_꼬마돌 2023. 8. 11. 00:19
반응형

엔티티의 개념

1. 엔티티는 사람, 장소, 물건, 사건, 개념 등의 명사에 해당한다.

2. 엔티티는 업무상 관리가 필요한 관심사에 해당한다.

3. 엔티티는 저장이 되기 위한 어떤 것(Thing)이다. 

 

엔티티와 인스턴스

하나의 엔티티는 여러 개의 인스턴스를 가질 수 있다.

=> 엔티티는 인스턴스의 집합이다.

예)

엔티티: 과목, 강사, 학생

----인스턴스----

과목: 수학, 영어

강사: 홍길동, 임꺽정

학생: 전우치, 초랭이

 

엔티티 표기법 (바커 Barker 표기법 기준)

예시)

 

=> 식별자 외에 속성이 없으므로 엔티티가 될 수 없다.

 

 

엔티티의 특징

1. 반드시 해당 업무에서 필요하고 관리하고자 하는 정보여야 한다.

2. 유일한 식별자에 의해 식별이 가능해야 한다.

3. 영속적으로 존재하는 인스턴스의 집합이어야 한다. (한 개가 아니라 두 개 이상)

4. 엔티티는 업무 프로세스에 의해 이용되어야 한다.

5. 엔티티는 반드시 속성이 있어야 한다. 

6. 엔티티는 다른 엔티티와 최소 한 개 이상의 관계가 있어야 한다. (실무에서는 관계가 없어도 엔티티가 되기도 한다) 

 

엔티티의 분류

유무형에 따른 분류

유형 - 물리적인 형태가 있고 안정적이며, 지속적으로 활용되는 엔티티로 업무로부터 엔티티를 구분하기가 가장 용이하다. (예: 사원, 물품, 강사, 학생)

 

개념 - 물리적인 형태는 존재하지 않고 관리해야 할 기념적 정보로 구분이 되는 엔티티.

(예: 조직, 보험상품)

 

사건 - 업무를 수행함에 따라 발생되는 엔티티로서 비교적 발생량이 많으며, 각종 통계자료에 이용될 수 있다.

(예: 주문, 청구, 미납)

 

발생시전에 따른 분류

기본(키) - 업무에 원래 존재하는 정보로서 다른 엔티티와의 관계에 의해 생성되지 않고 독립적으로 생성이 가능하며, 자신은 타 엔티티의 부모 역할을 하게 된다.

(예: 고객, 상품) 

 

중심(메인) - 기본 엔티티로부터 발생되고 그 업무에 있어서 중심적인 역할을 한다. 데이터의 양이 많이 발생되고, 다른 엔티티와의 관계를 통해 많은 행위엔티티를 생성한다.

(예: 주문, 배송)

 

행위(액션) - 두 개 이상의 부모엔티티로부터 발생되고, 자주 내용이 바뀌거나 데이터량이 증가한다. 상세 설계단계나 프로세스와 상관모델링을 진행하면서 도출한다. 

(예: 주문변경이력)

 

엔티티의 명명

1. 가능하면 현업업무에서 사용하는 용어를 사용한다. 

2. 가능하면 약어를 사용하지 않는다.

3. 단수 명사를 사용한다. 

4. 모든 엔티티에서 유일하게 이름이 부여되어야 한다.

5. 엔티티 생성 의미대로 이름을 부여한다.

 

반응형