'데이터베이스설계'에 해당되는 글 1건

  1. 2009.03.16 [DataBase] 문제풀이 6장

[DataBase] 문제풀이 6장

DB 2009. 3. 16. 02:16
6.1 모델 구문과 관계 모델 구문 간의 대응에 관하여 논하라. 각 ER 모델 구문이 관계 모델로 어떻게 사상되는지를 보이고, 또 다른 사상에 관하여 논하라.

 ER 모델 관계 모델 
 엔티티 타입 엔티티 릴레이션 
 1:1 또는 1:N 관계 타입 외래키(또는 관계 릴레이션) 
 M:N 관계 타입 관계 릴레이션과 두 외래키 
 n차 관계 타입 관계 릴레이션과 n개의 외래키 
 단순 애트리뷰트 애트리뷰트 
 복합 애트리뷰트 단순 요소 애트리뷰트들의 집합 
 다치 애트리뷰트 릴레이션과 외래키 
 값의 집합 도메인 
 키 애트리뷰트 기본키(또는 보조키) 

정규 엔티티 타입의 사상
ER스키마의 각 정규 엔티티 타입 또는 강한 엔티티 타입 E에 대하여 E의 모든 단순 애트리뷰트들을 포함하는 릴레이션 R을 생성, 복합 애트리뷰트의 단순 요소 애트리뷰트들만을 포함시킨다. E의 키 애트리뷰트 하나를 선택하여 R의 기본키로 한다. 만약 E에서 선택된 키가 복합 애트리뷰트이면 그것을 구성하는 모든 단순 애트리뷰트의 모임이 R의 기본키가 된다.

약한 엔티티 타입의 사상
ER스키마에서 소유 엔티티 타입 E를 갖는 각 약한 엔티티 타입 W에 대하여 릴레이션 R을 생성하고 W의 모든 단순 애트리뷰트를 R의 애트리뷰트들로 포함시킨다. 또한 소유 엔티티 타입에 해당되는 릴레이션의 기본키를 R의 외래키로 포함시킨다. 이는 W의 관계 타입을 명시하기 위함이다. R의 기본키는 소유자 릴레이션의 기본키와 약한 엔티티 타입 W의 부분키의 조합이다.

이진 1:1 관계 타입의 사상
ER스키마의 각 이진 1:1 관계 타입 R에 대하여 R에 참여하는 엔티티 타입에 해당하는 릴레이션 S와 R을 나열한다. 가능한 접근 방식은 다음의 세 가지가 있다.
1) 외래키 접근 방식
2) 합병된 관계 접근 방식
3) 교차 참조 또는 관계 릴레이션 접근 방식
첫 번째 접근 방식이 가장 유용하다.

이진 1:N 관계 타입의 사상
모든 정규 이진 1:N 관계 타입 R에 대하여 관계 타입의 N측의 참여 엔티티 타입을 S라고 할 때, 관계 타입 R에 참여하는 다른 릴레이션 T의 기본키를 S의 외래키로 포함시킨다. 이는 관계 타입의 모든 N측 엔티티 인스턴스가 최대한 하나의 1측 엔티티 인스턴스와 관계가 있기 때문이다. 1:N 관계 타입의 모든 단순 애트리뷰트도 S의 애트리뷰트들로 포함시킨다.

이진 M:N 관계 타입의 사상
각 이진 M:N 관계 타입 R에 대하여 R을 표현하기 위한 새로운 릴레이션 S를 생성한다. 참여 엔티티 타입에 해당하는 릴레이션들의 기본키를 S에 외래키 애트리뷰트로 포함시킨다. 그들의 조합이 S의 기본키가 될 것이다. 또한 M:N 관계 타입의 모든 단순 애트리뷰트를 S의 애트리뷰트로 포함시킨다. 주의할 점은 M:N 카디날리티 비율때문에 참여 릴레이션 중에서 한 릴레이션에만 외래키 애트리뷰트를 포함시키는 것으로는 M:N 관계 타입을 표현할 수 없다는 것이다. 이 경우 반드시 별도의 관계 릴레이션S를 생성해야 한다.

다치 애트리뷰트의 사상
각 다치 애트리뷰트 A에 대하여 새로운 릴레이션 R을 생성한다. 이 릴레이션 R은 A에 대응하는 한 애트리뷰트를 포함할 것이다. 또 엔티티 타입이나 A를 애트리뷰트로 갖는 관계 타입에 해당하는 릴레이션의 기본키 애트리뷰트 K를 R의 외래키로 포함시킬 것이다. R의 기본키는 A와 K의 조합이다. 만약 다치 애트리뷰트가 복합 애트리뷰트이면 이 복합 애트리뷰트의 단순 요소 애트리뷰트들을 포함시킨다.

N차 관계 타입의 사상
각각의 n차(n>2) 관계 타입 R에 대하여 R에 대응하는 새로운 릴레이션 S를 생성한다. 모든 참여 엔티티 타입에 대응되는 릴레이션들의 기본키를 S에 외래키 애트리뷰트로 포함시킨다. 또한 n차 관계 타입의 모든 단순 애트리뷰트를 S의 애트리뷰트로 포함시킨다. 일반적으로 S의 기본키는 참여 엔티티 타입에 해당하는 릴레이션들을 참조하는 모든 외래키의 조합이다. 그러나 만약 R에 참여하는 엔티티 타입 E들 중에서 한 엔티티 타입의 카디날리티 제약조건이 1이면 S의 기본키는 E에 해당하는 릴레이션 E'을 참조하는 외래키 애트리뷰트를 포함해서는 안 된다.

6.2 ER모델을 릴레이션으로 사상하기 위한 방법에 관하여 논하라.
1.외래키 접근 방식
한 릴레이션을 선택하여 T의 기본키를 S에 외래키로 포함시킨다. S역할을 하는 릴레이션을 선택함에 있어서 R에 완전히 참여하는 엔티티 타입을 선택하는 것이 좋다. 1:1 관계 타입 R의 모든 단순 애트리뷰트를 S의 애트리뷰트들로 포함시킨다.

2.합병된 릴레이션 접근 방식
1:1 관계 타입의 또 다른 사상으로는 두 엔티티 타입과 관계 타입을 하나의 릴레이션으로 합치는 방법이 있다. 이 방법은 두 엔티티 타입이 모두 완전하게 참여할 때 적절한 방법이다.

3.교차 참조 또는 관계 릴레이션 접근 방식
엔티티 타입을 나타내는 두 릴레이션 S와 T의 기본키를 교차 참조하기 위한 세 번째 릴레이션 R을 정의하는 것이다. 이 방법은 이진 M:N릴레이션에서 주로 사용된다. 릴레이션 R의 각 투플은 S의 한 투플과 T의 한 투플을 연관시키는 관계 인스턴스를 나타내기 때문에 R을 관계 릴레이션이라 부른다.
Posted by zeide
,