04-2. ER to Relational Mapping (부록)

JeonghwanKim·2023년 8월 19일
0

데이터베이스

목록 보기
5/8

실제 ER을 Relational DBMS에 Mapping 시켜보겠습니다.

ER Schema

Relational Schema

어떻게 옮길 수 있을까?

아래와 같은 목적을 달성해야함.

  1. 모든 정보를 유지

  2. 최대한 Constraints를 유지 (모든 제약 조건을 포함하지는 못 함)

  3. NULL 값들을 최소화 (Logical -> Physical Schema Mapping에 도움이 됨)

아래와 같은 순서를 따라서 진행하면 됩니다.

  1. Mapping of Regular Entity Types

  2. Mapping of Weak Entity Types

  3. Mapping of Binary 1:1 Relation Types

  4. Mapping of Binary 1:N Relation Types

  5. Mapping of Binary M:N Raltion Types

  6. Mapping of Multivalued Attributes

  7. Mapping of N-ary Relationship Types

Mapping of Regular Entity Types

  • Strong Entity들로 새로운 Reation R을 생성하고 포함된 Simple Attributes를 포함시킨다.

  • Key 중에 하나를 Primary Key로 지정, 나머지는 Superkey 등록

  • Key가 Composite하면 선택한 Key의 Simple Attributes의 Set이 R의 Primary Key를 구성

Mapping of Weak Entity Types

  • Weak Entity Type에 대해 새로운 Relation을 생성하고 모든 Simple Attributes를 포함시킨다.

  • 또한, Owner entity type의 PK를 FK로 포함시킨다.

  • Owner의 PK와 weak Entity Type의 Partial Key의 조합이 FK가 된다.

https://velog.io/@bsu1209/DB-Relational-Database-Design-by-ER-to-Relational-Mapping

Mapping of Binary 1:1 Relation Types

  • 1:1 관계에 대해 해당 관계에 참가하는 Relation S & T를 구별한다.

  • 3가지의 옵션이 가능하다.

    1) Foreign key Approach

    한 Relation S을 선택 (보통 Total participation으로 참여하는 Entity를 선택하는 것이 Good하다)

    다른 Relation T의 PK를 S의 FK로 포함

    2) Merged Relation

    1:1 관계에 대한 Mapping을 Two Entity types와 Relationship sigle Relation으로 합침으로써 수행

    Entities가 서로 Total Participation인 경우 적절하다.

    3) Cross-reference or Relationship Relation

    Relation S & T의 PK 들을 Cross-referencing하기 위해 새로운 relation U를 생성

    U의 PK는 S & T로부터의 FK 중에 하나

    또 다른 FK는 U의 unique key

    추가적인 Join이 필요 -> 추가 정보를 얻기 위해 수행

https://velog.io/@bsu1209/DB-Relational-Database-Design-by-ER-to-Relational-Mapping

Mapping of Binary 1:N Relation Types

각 1:N 관계에 대해 N-side에 있는 Relation S를 선택한다.

Relation T의 primary key를 S의 FK로서 포함

1:N 관계의 Simple attributes를 S의 attribute로 포함

Mapping of Binary M:N Raltion Types

M:N 관계에 대해 새로운 Relation U를 생성

Relationship에 참여하는 Entity types의 PK를 U의 FK attributes로 포함하고, 포함한 FK의 합이 U의 PK를 구성한다.

M:N 관계의 Simple attributes를 U의 attributes로 포함

Mapping of Multivalued Attributes

Mutivalued attribute에 대해, 이를 위한 새로운 Relation U를 생성

U는

Mutivalued에 해당하는 attribute를 A라고한다.

A를 attribute로서 가지는 entity type의 PK를 FK로

{A,K}를 PK로 가진다.

Mapping of N-ary Relationship Types

각 n-ary relationship type R에 대해 이를 표현할 새로운 Relationship relation U를 생성

참여하는 Entity types를 표현하는 Relations의 Primary keys를 U의 Foreign Key attributes로 가진다.

M:N 관계 types를 Mapping하는 과정과 유사.

ER to Relational Mapping 방법 참고 링크

링크텍스트

profile
제대로 한번 해보겠습니다.

0개의 댓글