[데이터모델링과마이닝] 4. ER 모델의 고급 기능
# mapping cardinality 표기 없는 것은 n:m
[ 3진 관계 ]
예시 : 직원별, 부서별로 사용 가능한 법인 카드가 다르다.
[ 키 제약 조건 ] → 최대를 정의
[ 참여 제약 조건 ] → 최소를 정의
[ 약 개체 ] Weak Entity
< 약 개체 만족 조건 >
- 약 개체는 소유자 개체의 기본키까지 보아야 유일하게 식별할 수 있다.
- 약 개체는 자신의 식별자를 가지고 있지 않고 다른 개체 인스턴스에 종속 되어야 만 존재할 수 있다.
- 소유자 개체 집합과 약 개체 집합은 1대 다 관계 집합으로 연결된다.
- 약 개체 집합은 이 식별 관계 집합에 전체적으로 참여(참여 제약 조건)한다.
식별 관계 집합(identifying relationship)
1) identifying owner(식별 소유자)
- 약 개체는 자기 자신의 일부 속성과 식별 소유자의 기본키를 조합해야만 유일하게 식별 가능
2) identifying relationship(식별 관계 집합)
- 소유자 개체 집합과 약 개체 집합 간에 있어야만 하는 일 대 다 관계집합이다.
3) partial key(부분키)
- 주어진 소유자 개체에 대한 약 개체 하나를 유일하게 식별해주는 약 개체 집합의 속성 집합이다.
[ 일반화(Generalization) ]
· ISA 계층 – ‘is a’ ex) 바나나 is a 과일
- 객체 지향 언어처럼 속성이 상속 된다.
- A는 모두 B이다.
· ISA의 사용 이유
- 세부 부류에 설명 용 애트리뷰트를 추가하고 싶어서
- 특정 관계에 참여하는 개체 구별을 위해
< 추가 가능한 조건 >
1) 중첩(Overlap) 제약 조건
→ 홍길동이 직원이면서 교수도 될 수 있는가?
2) 포괄(Covering) 제약 조건
→ 직원도 아니고 교수도 아닌 교직원이 존재 할 수있는가?
- Covering 불허 : 직원과 교수에 속하지 않는 교직원 존재 불가능
- Covering 허용 : 직원과 교수에 속하지 않는 교직원 존재 가능
[ 군집화(Aggregation) ]
- 개체 집합과 관계 집합이 참여하는 더 큰 관계를 모델링 할 때 사용
- 관계 집합을 일종의 개체 집합으로 취급해 또 다른 관계에 참여 시킬 수 있다.
→ 지도-관계 집합에는 지도하는 학생과 전공에 대한 정보가 필요하므로
identifying 을 사용하여 속성이 아닌 기본키에 외래키를 등록해야한다.
→ '지도' 스키마에는 이수 관련 정보가 아닌 관계 집합 내 속한 개체들의 정보(기본키)가 필요