이름이 비슷, 비교: 릴레이션relation
A relationship among entities represents an interaction among the entities.
Ex.
Ex.
works_on
between an employee
and a project
[1]binary와 ternary의 예:[2]
binary:
EMPLOYEE와 DEPARTMENT 사이에 WORKS_FOR relationship과 그 중 일부 인스턴스instance를 나타낸 그림.
EMPLOYEE가 DEPARTMENT를 위해 WORKS_FOR.
ternary:
PROJECT를 위해 공급자(SUPPLIER)s가 부품(PART)s을 공급(SUPPLY).
Relationship에서 degree란?[3]
릴레이션relation의 차수degree와 전혀 다른???
ex. EMPLOYEE 와 DEPT 사이에 WORKS_FOR
binary:
EMPLOYEE와 DEPARTMENT 사이에 WORKS_FOR relationship과 그 중 일부 인스턴스instance를 나타낸 그림.
EMPLOYEE가 DEPARTMENT를 위해 WORKS_FOR.
PROJECT를 위해 공급자(SUPPLIER)s가 부품(PART)s을 공급(SUPPLY).
릴레이션relation의 차수degree와 전혀 다른???
- The number of participating entity types.
- Binary, ternary, etc.
ex. EMPLOYEE 와 DEPT 사이에 WORKS_FOR
옵션 1. EMPLOYEE에 DEPT 속성 - 직원이 일하는 부서 - 하나 뿐 - single-valued attribute
옵션 2. DEPT에 EMP 속성 - 부서에서 일하는 직원(들) - 복수도 가능 - multiple-valued attribute
옵션 2. DEPT에 EMP 속성 - 부서에서 일하는 직원(들) - 복수도 가능 - multiple-valued attribute
- one-to-one
- one-to-many
- many-to-many[7]
개체 B가 독자적으로 존재할 수 없고, 개체 A의 존재 여부에 의존적이면, B는 A에 종속되어 있다.
B가 A에 종속이라면,
A가 존재해야 B가 존재할 수 있고,
A가 삭제되면 B도 같이 삭제되어야 한다.
이런 것을 존재종속(existence dependence)이라 한다.
여기서
다른 개체의 존재 여부를 결정하는 개체: 오너 개체(owner entity)
다른 개체의 존재 여부에 의존적인 개체: 약한 개체(weak entity)
ex.
학교 DB에선 학생 개체가 있어야 학부모 객체가 존재하고, 학생 개체가 없으면 학부모 객체가 필요없다.
회사 DB에선 직원 개체가 owner entity, 부양가족 개체가 weak entity.
학교 DB에선 학생 개체가 있어야 학부모 객체가 존재하고, 학생 개체가 없으면 학부모 객체가 필요없다.
회사 DB에선 직원 개체가 owner entity, 부양가족 개체가 weak entity.
Role name[9] ¶
[학생] ---- < 수강 > ---- [과목]
(학생이 과목을 수강) 같은 경우엔 필요없는데,
여기서 SUPERVISION은 recursive_relationship.
EMPLOYEE entity type은 두 role을 play한다 : 1은 supervisor, 2는 supervisee.
그림에서 e5가 e1의 직속상관.
[EMP] ---- < SUPERVISION > ---- [EMP](직원이 직원의 supervisor) 같은 경우에 필요.
여기서 SUPERVISION은 recursive_relationship.
EMPLOYEE entity type은 두 role을 play한다 : 1은 supervisor, 2는 supervisee.
그림에서 e5가 e1의 직속상관.
ER diagram 기호 ¶
그냥 마름모: relationship - 둘 다 strong entity? chk
이중 마름모: identifying relationship - 하나는 weak entity?
이중 마름모: identifying relationship - 하나는 weak entity?
Up: database
----
- [1] KU황인준 2022-03-21 19m
- [2] KU황인준 2022-04-20 42m
- [3] 황인준 2022-04-20 44m
- [4] KU황인준 2022-04-20 45m
- [5] https://terms.naver.com/entry.naver?docId=3431123&cid=58430&categoryId=58430&expCategoryId=58430
- [6] https://terms.naver.com/entry.naver?docId=3431124&cid=58430&categoryId=58430&expCategoryId=58430
- [7] Learning PHP, MySQL, and JavaScript의 TOC에서
- [8] https://terms.naver.com/entry.naver?docId=3431126&cid=58430&categoryId=58430&expCategoryId=58430
- [9] KU황인준 2022-04-20 49m p32