aking 2014. 5. 31. 23:29

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