A
relationship among
entities represents an interaction among the entities.
Ex.
works_on
between an
employee
and a
project
binary와 ternary의 예:
binary:
EMPLOYEE와 DEPARTMENT 사이에 WORKS_FOR
relationship과 그 중 일부
인스턴스instance를 나타낸 그림.
EMPLOYEE가 DEPARTMENT를 위해 WORKS_FOR.
ternary:
PROJECT를 위해 공급자(SUPPLIER)s가 부품(PART)s을 공급(SUPPLY).
Relationship에서 degree란?
릴레이션relation의 차수degree와 전혀 다른???
- The number of participating entity types.
- Binary, ternary, etc.
Relationships as Attributes -
관계를
속성attribute으로 표현하기
ex. EMPLOYEE 와 DEPT 사이에 WORKS_FOR
옵션 1. EMPLOYEE에 DEPT 속성 - 직원이 일하는 부서 - 하나 뿐 - single-valued attribute
옵션 2. DEPT에 EMP 속성 - 부서에서 일하는 직원(들) - 복수도 가능 - multiple-valued attribute
ex.
[고객] ---- <구매> ----- [책]
E-R diagram에서 마름모로 표현.
관계의 구분 : 세 가지 형태.
■ 일대일(1 : 1) 관계
■ 일대다(1 : n) 관계
■ 다대다(n : m) 관계
- one-to-one
- one-to-many
- many-to-many
관계의 의존성/종속성.
개체 B가 독자적으로 존재할 수 없고, 개체 A의 존재 여부에 의존적이면, B는 A에 종속되어 있다.
B가 A에 종속이라면,
A가 존재해야 B가 존재할 수 있고,
A가 삭제되면 B도 같이 삭제되어야 한다.
이런 것을 존재종속(existence dependence)이라 한다.
여기서
다른 개체의 존재 여부를 결정하는 개체: 오너 개체(owner entity)
다른 개체의 존재 여부에 의존적인 개체: 약한 개체(weak entity)
ex.
학교 DB에선 학생 개체가 있어야 학부모 객체가 존재하고, 학생 개체가 없으면 학부모 객체가 필요없다.
회사 DB에선 직원 개체가 owner entity, 부양가족 개체가 weak entity.
E-R diagram에선,
약한 개체는 이중 사각형으로,
약한 개체가 owner entity와 맺는
관계relationship는 이중 마름모로 표현.
Role name ¶
[학생] ---- < 수강 > ---- [과목]
(학생이 과목을 수강) 같은 경우엔 필요없는데,
[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?