진박사의 일상

[데베시] 4강 본문

프로그래밍/공부

[데베시] 4강

진박사. 2021. 10. 4. 16:28

ER 모델을 통한 개념 모델링(Conceptual modeling)

 

Constraints on Relationship(binary) Types

- Cardinality ratio constraint : 하나의 Entity가 가질 수 있는 relationship instance의 최대 수

  종류(binary relationship에서) : (1:1), (1:N), (M:N) - 주의 : 최대 이므로 관계가 없을 수도 있음

- Participation Constraint : 특정 Entity의 존재가 다른 Entity의 존재에 종속적.

  종류 : total(존재하면서 다른 Entity와 relation이 없는 경우는 없다) & partial(relation에 참여하지 않는 경우도 허용)

  ex) DEPARTMENT(total participation - 부서에 사람이 없을 수 x), EMPLOYEE(partial participation - 부서에 속하지 않는 직원 있을 수 있음)

- Relationship types도 attributes를 가질 수 있음!

 - 해당 관계에 참여하는 개체들의 조합에 의해 특징이 부여될 때

 - 각 relationship instance의 특징을 나타냄

 - attribute가 특정 entity 하나만의 특징으로 보기 부적절한 경우

 - 특히 M:N 관계일 때 적절함. (1:1, 1:N의 경우는 total participation인 1에 해당하는 entity의 attribute로 넣어줘도 됨)

 

Weak Entity Types : 해당 Entity 내부에 key attribute를 가지지 않는 Entity type

 ex) DEPENDENT entity type (DependentName, BirthDate, Sex, Relationship) - A의 아들과 B의 아들이 이름, 출생일, 성별이 같다면 동일한 Entity 값을 가짐.

- Identifying owner : weak entity type을 식별해주기 위한 entity - DEPENDENT에게 있어서 EMPLOYEE

- Identifying relationship type : weak entity type과 identifying owner를 연결.

- weak entity type은 모두 total participation constarint를 만족해야 함. (모든 weak entity type은 identifying owner를 가져야 함)

- Partial key(부분키) : 동일한 Identifying owner를 가지는 weak entity를 구별하는데 사용되는 key.

  ex) DEPENDENT weak entity type에서는 DependentName이 Partial key. (김xx의 아들 김yy와 딸 김zz를 구별하는 건 이름)

 

COMPANY Database의 최종 Conception Design

 initial conceptual design

-> 최종으로 수정

- MANAGES : EMPLOYEE(partial) - DEPARTMENT(total)의 1:1 관계 타입, MgrStartDate attribute 가짐.(DEPARTMENT의 attribute로 넣어줄 수 있음)

- WORKS_FOR : EMPLOYEE(total) - DEPARTMENT(total)의 1:N 관계 타입. - 어떤 직원도 하나의 부서에 소속, 어떤 부서도 하나 이상의 직원이 소속.

- CONTROLS : PROJECT(total) - DEPARTMENT(partial)의 1:N 관계 타입. - 모든 프로젝트는 하나의 부서에 소속, 부서는 여러개의 프로젝트를 관리할 수 있음.(없을수도 있음)

- SUPERVISON : EMPLOYEE(partial) - EMPLOYEE(partial)의 1:N 관계 타입 - 1에 해당하는 쪽은 supervispr, n에 해당하는 쪽은 supervisee인 recursive relationship - 하나의 superviser는 여러 supervisee를 감독할 수 있음.

- WORKS_ON : EMPLOYEE(total) - PROJECT(total)의 M:N 관계 타입. Hour attribute 가짐.(한쪽의 entity에 넣어줄 수 없음)

- DEPENDENTS_OF : EMPLOYEE(partial) - DEPENDENT(total)의 1:N Identifying 관계 타입.

 

Entity-Relationship Diagram(ER Diagram)

Entity와 Relationship

'프로그래밍 > 공부' 카테고리의 다른 글

[데베시] 5강 - Relational Data Model  (0) 2021.10.14
[컴보] 5강 DB Security  (0) 2021.10.05
[컴보] 4강 - Access Control  (0) 2021.09.29
[데베시] 3강  (0) 2021.09.27
[정보보안] 3강 - User Authentication  (0) 2021.09.27