# 관계 집합의 표현
1. 다대다 – 테이블 3개 만듦
- -
- 개체 집합에 참여하는 속성들 중에서 주 키의 합집합이 주 키가 됨
2. 다대일, 일대다 – 테이블 2개, 다 쪽에다가 외래 키 붙임
- 관계 집합의 “다” 인 부분의 개체 집합 주 키가 주 키로 제공
3. 일대일 – 테이블 2개
← →
- 한 쪽의 개체 집합의 주 키가 주 키로 선택됨
- Row 수가 적은 쪽에 외래 키 붙임
# 세분화 (specialization)
- 어떤 개체 집합 내에서 하위 그룹을 표시하는 과정
- 텅 빈 화살표 : ISA 관계 (예 : instructor “is a” person).
- 속성 상속 : 하위 그룹은 상위 그룹의 속성을 상속받음
# 다중 세분화
- 하나의 개체 집합은 하나 이상의 구분되는 특성들로 세분할 수 있음
# 일반화 (generalizaton)
상향식(bottom-up) 설계 프로세스
: 여러 개체 집합들이 공통된 특성에 기초하여 상위 개체 집합으로 합쳐짐
- ISA 관계는 superclass - subclass 관계로 불리기도 함
# ISA 관계 제약조건
1. 세분화 표현 방법
- 중복 안됨(Disjoint)
어떤 개체가 복수의 세분화된 개체 집합에 속할 수 있음
두 개의 분리된 화살표
- 중복됨(Overlapping)
어떤 개체가 최대 하나의 세분화된 개체 집합에 속해야 함
하나의 화살표
2. 관계 참가
- 전체적(Total)
모든 하위 개체 집합에 영향을 주는 속성과 관계를 갖는 상위 개체 집합
- 부분적(Partial)
특정 하위 개체 집합에게만 적용되는 특징을 지닌 상위 개체 집합
# 릴레이션 스키마로의 변환
Method 1:
- 상위 개체 집합을 위한 스키마 생성
- 각각의 하위 개체 집합을 위해 각 개체 집합의 속성과 상위 개체 집합의 주 키인 속성들에 대한 속성을 가지는 스키마생성
schema attributes
person ID, name, street, city
student ID, tot_cred
employee ID, salary
- 단점
employee 에 대한 정보를 얻으려면 두 개의 릴레이션 접근해야 함
하위 집합 스키마
상위 집합 스키마
Method 2:
- 각각의 하위 개체 집합에 대해 자신의 속성들을 나타내는 속성들과 함께 상위 개체 집합의 속성들을 나타내는 속성들을 가지는 스키마 생성
schema attributes
person ID, name, street, city
student ID, name, street, city, tot_cred
employee ID, name, street, city, salary
- 단점
중첩 일반화에서 불필요한 값들이 여러 번 저장