Chapter 8
2014/05/19 - [Database/Database System] - Chapter 7
2014/04/13 - [Database/Database System] - Chapter 6
2014/04/28 - [Database/Database System] - Chapter 4
2014/04/11 - [Database/Database System] - Chapter 3
2014/04/11 - [Database/Database System] - Chapter 2
2014/04/11 - [Database/Database System] - Chapter 1
8.1 ER-관계 사상을 이용한 관계 데이터베이스 설계
1. ER관계 사상을 이용한 관계 데이터베이스 설계
2. 엔티티 타입은 릴레이션으로 매핑한다. 엔티티 타입의 키 중에서 하나를 릴레이션의 기본키로 지정한다.
3. 약한 엔티티 타입도 릴레이션으로 매핑하되 소유 릴레이션의 키 속성을 포함시킨다. 생성된 릴레이션의 기본키는 소유 릴레이션의 키와 약한 엔티티타입의 부분키를 합쳐서 만든다.
4. 1:1 이진 관계는 관계에 참여하는 두 릴레이션중에서 어느 하나의 외래키 속성으로 매핑한다.
5. 1:N 이진 관계는 N-side 릴레이션의 외래키 속성으로 매핑하며,1-side의 주 키를 참조하도록 한다.
6. N:M 이진관계는 별도의 릴레이션(이를관계릴레이션이라고부름)으로 생성하고, 관계에 참여하는 두 릴레이션의 기본키를 각각 참조하는 외래키로
애트리뷰트를 구성한다. 이때 두 외래키가 관계 릴레이션의 기본키를 형성한다.
7. 다중값 애트리뷰트는 키를 포함하는 릴레이션으로 매핑된다.
8. n차관계는 관계에 참여하는 n개의 릴레이션의 키들로 구성되는 관계 릴레이션으로 매핑된다. 관계 릴레이션의 애트리뷰트들은 참여 릴레이션의 주 키를 참조하는
외래키들과 관계 속성(들)으로 구성된다.
▼
- 단계 1: 정규 엔티티 타입의 사상
- 엔티티 타입은 릴레이션으로 매핑한다.
- 모든 단순 애트리뷰트를 포함시킨다.
- 엔티티 타입의 키 중에서 하나를 릴레이션의 기본 키로 지정한다.
EMPLOYEE
FNAME |
MINIT |
LNAME |
SSN |
BDATE |
ADDRESS |
SEX |
SALARY |
DEPARTMENT
DNAME |
DNUMBER |
PROJECT
PNAME |
PNUMBER |
PLOCATION |
- 단계 2: 약한 엔티티 타입의 사상
- 약한 엔티티 타입을 릴레이션으로 매핑한다.
- 모든 단순 애트리뷰트를 포함시킨다.
- 소유 릴레이션(owner relation)의 키 속성을 포함시킨다.
- 생성된 릴레이션의 기본 키는 소유 릴레이션의 키와 약한 엔티티 타입의 부분 키를 합쳐서 만든다.
- 단계 3: 이진 1:1 관계 타입의 사상
- 외래키 접근 방식: 한 릴레이션(S)을 선택하여 T의 기본 키를 S에 외래키로 포함, S는 완전참여 릴레이션을 선택하는 것이 좋다.
관계 타입의 모든 단순 애트리뷰트를 S에 포함시킨다. (이 방식이 가장 유용하다, 다음 방식은 참조만 할 것.)
- 합병된 릴레이션 접근 방식: 두 릴레이션을 하나의 릴레이션으로 통합, 두 릴레이션이 모두 완전 참여일 때 좋은 방법
- 교차 참조/관계 릴레이션 접근방식: S와 T를 교차 참조하는 제 3의 릴레이션 R 생성
- 단계 4: 이진 1:N 관계 타입의 사상
- 외래키 접근방식: N측의 릴레이션(S)을 선택하여 1측의 릴레이션 T의 기본키를 S에 외래키로 포함, 관계 타입의 모든 단순 애트리뷰트를 S에 포함시킨다. (권장)
- 교차 참조/관계 릴레이션 접근방식: S와 T를 교차 참조하는 제 3의 릴레이션 R 생성
- 단계 5: 이진 M:N 관계 타입의 사상
- M:N 이진 관계는 별도의 릴레이션(이를 관계 릴레이션이라고 부름)으로 생성하고, 관계에 참여하는 두 릴레이션의 기본 키를 각각 참조하는 외래키로
애트리뷰트를 구성한다. 이 때 두 외래키가 관계 릴레이션의 기본키를 형성한다.
- 단계 6: 다치 애트리뷰트의 사상
- 릴레이션 R의 다치 애트리뷰트는 R의 기본키를 포함하는 새로운 릴레이션으로 매핑된다.
- 새로운 릴레이션의 키는 R의 기본키와 다치 애트리뷰트의 조합이다.
- 단계 7: N차 관계 타입의 사상
- n차 관계는 관계에 참여하는 n개 릴레이션의 키들로 구성되는 관계 릴레이션으로 매핑된다. 관계 릴레이션의 애트리뷰트들은 참여 릴레이션의 기본키를 참조하는
외래키들과 관계 속성(들)으로 구성된다.
ER-관계 사상: COMPANY 데이터베이스를 위한 ER 스키마 다이어그램
ER-관계 사상: 변환 결과 생성된 Relational Schema
8.2 요약
ER Model |
Relational Model |
Entity Type |
"Entity" relation |
1:1, 1:N relationship type |
Foreign Key (or "relationship" relation) |
N:M relationship type |
"Relationship" relation and two foreign keys |
N-ary relationship type |
"Relationship" relation and n foreign keys |
Simple attribute |
Attribute |
Composite attribute |
Set of simple component attribute |
Multi-valued attribute |
Relation and foreign key |
Value set |
Domain |
Key attribute |
Primary (or secondary) key |