앞의 글을 읽으시면 이해에 도움이 됩니다.
2023.10.25 - [Computer Science/데이터 베이스] - [데이터베이스] 관계 모델(Relation Model)
1. ER-관계 사상(ER to Relational Mapping)
- 개념적 설계 과정인 ER 다이어그램에서 Relational Schema로 매핑하는데 조건은 다음과 같습니다.
- 모든 정보를 보존하고, 최대한 많은 제약 조건을 유지하며, NULL 값을 최소화하는 것입니다.
- 순서는 다음과 같습니다.
- Mapping of Regular Entity Types
- Mapping of Weak Entity Types
- Mapping of Binary 1:1 Relationship Types
- Mapping of Binary 1:N Relationship Types
- Mapping of Binary M:N Relationship Types
- Mapping of Multi-Valued Attributes
- Mapping of N-Ary Relationship Types
- 우리는 해당 글에서 아래의 ER 다이어그램, ER Schema에서 아래의 Relational Schema로 매핑하는 방법에 대해 배울 것입니다.
2. Mapping of Regular Entity Types
- ER Schema의 모든 Strong, Regular Entity Type을 relation R로 만들고 모든 Attribute를 추가합니다.
- 이때 Composite Attribute는 Simple Attribute로 분해해서 포함시킵니다.
- 또한 ER Schema의 키 애트리뷰트를 하나 선택하여 R의 PK로 선택합니다.
- 만약 ER Schema의 키 애트리뷰트가 Composite Attribute라면 그것을 구성하는 모든 Simple Attribute가 R의 PK가 됩니다.
- 이 과정이 끝나면 아래와 같은 Relational Schema가 생성됩니다.
3. Mapping of Weak Entity Types
- ER Schema에서 약한 엔티티 타입인 W에 대해 릴레이션 R을 생성하고, W의 모든 Simple Attribute를 R에 포함시킵니다.
- 또한 소유 엔티티 타입인 owner entity type의 PK를 R의 FK로 포함시킵니다.
- 따라서 R의 기본키는 소유자의 PK와 W의 Partial Key의 조합이 되겠습니다.
- 위의 예시에서는 DEPENDENT의 PK는 {Essn, Dependent_name}이 됩니다.
- 일반적으로 약한 엔티티 타입은 소유 엔티티 타입에 존재 존속성이 있으므로, 외래키에 대해 참조적으로 전파되는 CASCADE 옵션을 설정하는 것이 일반적입니다.
4. Mapping of Binary 1:1 Relationship Types
- 관계를 매핑하는 접근 방식은 세 가지가 있습니다.
- 외래키 접근 방식(Foreign Key Approach), 합병된 릴레이션 접근 방식(Merged Relation Option), 교차 참조 또는 관계 릴레이션 접근 방식(Cross-Reference or Relationship relation Option)이 그 접근 방식입니다.
- 외래키 접근 방식(Foreign Key Approaceh)은 한 릴레이션 S를 선택하여 T의 PK를 S의 FK로 포함시키는 방식입니다.
- 이때 S는 일반적으로 Total Participation Entity를 선택하는 것이 좋습니다.
- 합병된 릴레이션 접근 방식(Merged Relation Option)은 두 엔티티 타입과 관계 타입을 하나의 릴레이션으로 합치는 방법입니다.
- 이 방식은 두 엔티티 타입이 모두 Total Pariticipation 할 때 가능하고, 두 테이블이 항상 정확히 동일한 수의 튜플을 가질 것이라는 것을 나타냅니다.
- 교차 참조 또는 관계 릴레이션 접근 방식(Cross-Reference or Relationship relation Option)은 새로운 릴레이션 R을 정의하여 S와 T의 PK를 교차 참조하는 것입니다.
- 이 방법은 보통 M:N 릴레이션에서 주로 사용됩니다.
- 이때 R의 기본키는 두 FK 중 하나가 될 것이고, 다른 FK는 R의 Unique Key가 될 것입니다.
5. Mapping of Binary 1:N Relationship Types
- 외래키 방식과, 상호 참조 방식을 사용합니다.
- 이때 외래키 방식을 사용하면 N 측의 릴레이션을 S라 하고, 1측의 릴레이션을 T라고 가정해 봅시다.
- T의 PK를 S의 FK로 포함시키면 됩니다. 왜냐하면 N 측의 인스턴스가 최대한 하나의 1측의 엔티티 인스턴스와 관계가 있기 때문입니다.
- 또한 관계 타입의 애트리뷰트는 모두 S의 애트리뷰트로 포함시켜야 합니다.
- 왜냐하면 1측은 N개의 S와 연관되어 있지만, S는 오로지 1개의 T와 관계가 있기 때문입니다.
- 또한 상호 참조 방식은 위의 1:1과 마찬가지로 새로운 관계 릴레이션을 생성하여 표시합니다.
6. Mapping of Binary M:N Relationship Types
- M:N 관계를 매핑하는 유일한 방법은 관계 릴레이션(Relationship relation)을 생성하는 것입니다.
- 이때 참여 엔티티 타입에 해당하는 릴레이션들의 PK를 새로운 릴레이션인 S의 FK로 포함시킵니다.
- 그들의 조합이 S의 PK가 됩니다.
7. Mapping of Multi-Valued Attributes
- Multi-Valued Attribute A에 대하여 새로운 릴레이션인 R을 생성해야 합니다.
- R은 A에 대응하는 한 애트리뷰트를 포함합니다.
- 또한 A를 Multi-Valued Attribute로 갖는 관계 타입에 해당하는 릴레이션의 PK인 K를 R의 FK로 포함시킵니다.
- 이때 R의 PK는 A와 K의 조합입니다.
8. Mapping of N-Ary Relationship Types
- 관계 타입 R에 대하여 R에 대응하는 릴레이션 S를 생성합니다.
- 이때 모든 참여 엔티티 타입에 대응되는 릴레이션의 PK를 S의 FK로 포함시킵니다.
- 또한 모든 관계 타입의 애트리뷰트 또한 S의 애트리뷰트로 포함시킵니다.
- 일반적으로 S의 PK는 참여 엔티티 타입들인 릴레이션을 참조하는 FK의 조합입니다.
- 그러나 만약 R에 참여하는 엔티티 타입 중에 한 엔티티 타입인 E`의 Cardinality Constraint가 1이라면, 해당 릴레이션을 참조하는 FK는 S의 PK로 포함시키면 안 됩니다.
- 그 이유는 나머지 n-1개의 FK로도 충분히 E`을 식별할 수 있기 때문입니다.
9. 요약
- ER Schema와 비교했을 때, Relational Schema에서 주목할 점은 관계 타입이 명시적으로 드러나게 표현되지 않는다는 것입니다.
- 대신에 관계 타입은 두 개의 애트리뷰트 A와 B를 가지는 것으로 표현됩니다.
- 여기서 하나의 애트리뷰트는 PK가 될 것이고, 다른 애트리뷰트는 두 릴레이션 S와 T에 포함된 FK가 될 것입니다.
참고
경북대학교 컴퓨터학부 COMP0322-004 데이타베이스 수업
DATABASE SYSTEMS 7th / Elmasri, Navathe 저 / PEARSON / 2019년
데이터베이스 관련 글은 여기서 끝내도록 하겠습니다.
감사합니다.
지적 환영합니다.
'Computer Science > 데이터 베이스' 카테고리의 다른 글
[데이터베이스] 전이 제약 조건(Transition Constraint) (1) | 2023.10.26 |
---|---|
[데이터베이스] 관계 모델의 제약 조건 - 2(Relational Model Constraints) (0) | 2023.10.26 |
[데이터베이스] 관계 모델의 제약 조건 - 1(Relational Model Constraints) (1) | 2023.10.26 |
[데이터베이스] 릴레이션의 특성(Characteristics of Relation) (0) | 2023.10.26 |
[데이터베이스] 관계 모델(Relation Model) (0) | 2023.10.25 |