Chapter 9: ER에서 관계형으로의 매핑을 통한 관계형 데이터베이스 설계
Chapter 9: ER에서 관계형으로의 매핑을 통한 관계형 데이터베이스 설계

Chapter 9: ER에서 관계형으로의 매핑을 통한 관계형 데이터베이스 설계

Description
Date
Oct 3, 2023
URL
상태
Done
Tags
Database
Oracle SQL
Back-end

COMPANY의 ER 스키마

notion image
 

COMPANY의 관계 스키마

notion image
 

ER에서 관계형으로의 매핑 동안의 목표

  1. 모든 정보 보존 (모든 속성 포함)
      • 모든 정보, 즉 모든 속성이 포함되도록 정보를 보존
  1. 가능한 범위에서 제약 조건 유지
      • 관계형 모델에서는 모든 제약 조건을 보존할 수 없음
      • 예) ER에서 1:10과 같은 최대 카디널리티 비율
  1. NULL 값 최소화
      • 가능한 한 구체적으로 표현하기
      • 이것은 논리 스키마에서 물리 스키마로의 매핑을 도움
 
언급된 매핑 절차는 많은 상업적 도구(예: erwin, ROSE 등)에서 구현되었음
 

ER-관계형 매핑 알고리즘

단계 1: 일반 엔터티 유형의 매핑

  • ER 스키마에서 각각의 강한 엔터티 유형 에 대하여, 의 모든 단순 속성을 포함하는 관계 을 생성함
  • 의 키 속성 중 하나를 의 기본 키로 선택함
  • 선택한 의 키가 복합 키인 경우, 키로 선택한 단순 속성 집합이 의 기본 키(PK)가 됨
  • 예: EMPLOYEE, DEPARTMENT, PROJECT 관계 (ER 스키마에서 일반 엔터티로 매핑)
    • 관계 : EMPLOYEE, DEPARTMENT, PROJECT 엔터티 유형
    • PKs: 각각 EMPLOYEE에 대한 Ssn, DEPARTMENT에 대한 Dnumber, PROJECT에 대한 Pnumber.
 

단계 2: 약한 엔터티 유형의 매핑

  • ER 스키마에서 소유자 엔터티 유형 를 가진 각각의 약한 엔터티 유형 에 대하여
    • 관계 을 생성하고
    • 의 모든 단순 속성(또는 복합 속성의 단순 구성 요소)을 의 속성으로 포함함
  • 또한 소유자 엔터티 유형에 해당하는 관계의 PK 속성을 의 외래 키(FK) 속성으로 포함함
  • 의 PK는 (i) 소유자의 PK와 (ii) 약한 엔터티 유형 의 부분 키의 조합 (있는 경우)
  • 예) DEPENDENT 관계
    • PK: {Essn, Dependent_name}
 

단계 3: 이진 1:1 관계 유형의 매핑

  • ER 스키마에서 각 이진 1:1 관계 유형 에 대하여, 에 참여하는 엔터티 유형에 해당하는 관계 를 식별함. 세 가지 가능한 옵션이 있음
      1. 외래 키 방식 (2개의 관계) 옵션
          • 관계 중 하나, 예를 들어 를 선택함
            • 에서 총 참여를 하는 엔터티 유형으로 를 선택하는 것이 좋음
          • 의 PK를 의 FK로 포함함
          • 예) ER 스키마에서의 MANAGES 관계 유형
            • 관계 : DEPARTMENT 엔터티 유형 (총 참여로 인해)
            • 관계 : EMPLOYEE 엔터티 유형
            • 의 FK (예, DEPARTMENT 관계)
              • 의 PK (예: EMPLOYEE 관계)인 Ssn
      1. 병합된 관계 (1개의 관계) 옵션
          • 두 엔터티 유형과 관계를 하나의 관계로 병합하여 1:1 관계 유형의 대체 매핑이 가능함
          • 두 참여가 모두 총 참여인 경우 적절할 수 있음
      1. 교차 참조 또는 관계 관계 (3개의 관계) 옵션
          • 두 엔터티 유형을 대표하는 두 관계 의 PK를 교차 참조하기 위한 목적으로 세 번째 관계 를 설정함
          • 의 PK는 에서의 FK 중 하나가 될 것임
          • 다른 FK는 의 고유 키가 될 것임
          • 추가 조인 연산이 필요함
 

단계 4: 이진 1:N 관계 유형의 매핑

  • 각 정규 이진 1:N 관계 유형 에 대하여, 의 N-side에 참여하는 엔터티 유형을 대표하는 관계 를 식별함
  • R에 참여하는 다른 엔터티 유형을 대표하는 관계 의 기본 키를 의 외래 키로 포함함
  • 1:N 관계 유형의 모든 단순 속성을 의 속성으로 포함합니다.
  • 예: ER 스키마에서의 WORKS_FOR 관계 유형
    • 관계 : EMPLOYEE 엔터티 유형 (N-side)
    • 관계 : DEPARTMENT 엔터티 유형 (1-side)
      • 의 FK (Dno): 의 PK, Dnumber에서 가져온 것
 

단계 5: 이진 M:N 관계 유형의 매핑

  • 각각의 정규 이진 M:N 관계 유형 에 대해, 을 나타내기 위해 새로운 관계 (relationship relation라고 함)를 생성
  • 의 FK 속성으로 참여하는 엔터티 유형을 대표하는 관계의 PKs를 포함함; 그들의 조합은 의 PK가 될 것임
  • M:N 관계 유형의 모든 단순 속성(또는 복합 속성의 단순 구성 요소)을 의 속성으로 포함함
  • 예) ER에서의 WORKS_ON 관계 유형
    • 관계 : WORKS_ON 관계 유형
    • FKs (Essn 및 Pno): 각각 EMPLOYEE 및 PROJECT 관계의 PKs (Ssn 및 Pnumber)에서 가져옴
    • PK: {Essn, Pno}
    • 한 속성: WORKS_ON의 Hours에서 Hours
 

단계 6: 다중값 속성의 매핑

  • 각 다중값 속성 에 대해, 새로운 관계 를 생성함
  • 이 관계 는 다음을 포함할 것
    • A에 해당하는 속성
    • 를 속성으로 가지는 엔터티 유형의 PK인 FK
    • PK:
  • 예) Department의 Locations 다중값 속성
  • 관계 : DEPT_LOCATIONS 관계
    • : DEPARTMENT 엔터티 유형의 Locations에서 Dlocation
    • FK: DEPARTMENT 엔터티 유형의 PK에서 Dnumber
    • PK: {Dlocation, Dnumber}
 

단계 7: N-ary 관계 유형의 매핑

  • > 2인 각 -ary 관계 유형 에 대해, 을 나타내기 위해 새로운 relationship relation 를 생성함
  • 외래 키 속성으로 참여하는 엔터티 유형을 대표하는 관계의 기본 키를 포함함
  • 또한 -ary 관계 유형의 모든 단순 속성(또는 복합 속성의 단순 구성 요소)을 의 속성으로 포함함
    • 관계 U
      • SUPPLY 관계
    • PKs/FKs
      • {Sname, Partno, ProjName}
    • 다른 속성: Quantity
 

ER 및 관계형 모델 간의 대응

ER MODEL
RELATIONAL MODEL
엔터티 유형
엔터티 관계
1:1 또는 1:N 관계 유형
외래 키(또는 관계 관계)
M:N 관계 유형
relationship relation 및 두 외래 키
-ary 관계 유형
relationship relation 및 외래 키
단순 속성
속성
복합 속성
단순 구성 요소 속성 집합
다중값 속성
관계 및 외래 키
값 집합
도메인
키 속성
기본(또는 보조) 키
 

핵심 포인트

  • ER-관계형(E2R) 매핑 목표
    • 모든 정보(모든 속성 포함) 보존
    • 가능한 한 제약 유지
    • null 값 최소화
  • E2R 매핑 알고리즘
    • 정규/약한 엔터티 유형 매핑
    • 이진 1:1, 1:N, M:N 관계 유형 매핑
    • 다중값 속성 매핑
    • N-ary 관계 유형 매핑
    •