일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |
- 기러기목
- 비둘기목
- AI역량평가
- 비둘기과
- 백로과
- 참새목
- Birthday paradox
- 흰날개해오라기
- 참새과
- IBK기업은행 인턴
- keras
- 한국의 새
- 한국의새
- 오리과
- ADsP
- 솔딱새과
- django
- 맑은소리 스피치학원
- structured_array
- AI전략게임
- 계수정렬
- python3
- SimpleCraft
- 생일문제
- 직박구리과
- 가마우지과
- Python
- 딱다구리과
- 딥러닝공부
- 딥러닝 공부
- Today
- Total
진박사의 일상
[데베시] 4강 본문
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

-> 최종으로 수정
- 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)





'프로그래밍 > 공부' 카테고리의 다른 글
[데베시] 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 |