[데이터베이스] 5.4 논리적 설계

BBaeng·2022년 6월 12일
0

데이터베이스

목록 보기
4/7

5.4 ER 스키마를 관계 모델의 릴레이션으로 사상


논리적 설계 단계에서 ER 스키마를 관계 데이터 모델의 릴레이션들로 사상한다. (Mapping)

  • 관계 데이터베이스에는 엔티티 타입과 관계 타입을 구분하지 않는다.
  • 사상대상에 따라 사상방법이 달라진다.
    • 엔티티 타입 or 관계타입
    • 정규 엔티티 타입 or 약한 엔티티 타입
    • 2진 관계 타입 or 3진 이상의 관계 타입
    • 단일 값 애트리뷰트 or 다치 애트리뷰트

ER-관계 사상 알고리즘

단계 1 정규 엔티티 타입과 단일 값 애트리뷰트

  • 정규 엔티티 타입에 대해 릴레이션 생성
  • 복합 애트리뷰트는 모두 단순 애트리뷰트로 바꾸어 릴레이션에 포함
  • 엔티티 타입의 기본키가 릴레이션의 기본키

단계 2 약한 엔티티 타입과 단일 값 애트리뷰트

  • 약한 엔티티 타입(E2)에 있던 모든 애트리뷰트들을 릴레이션(R)에 포함
  • 소유 엔티티 타입(E1)의 기본 키를 R의 외래 키로 포함시킴
  • R의 기본 키는 약한 엔티티 타입의 부분 키와 외래 키(소유 엔티티 타입의 기본키)의 조합으로 이루어짐.

단계 3 2진 1:1 관계 타입

  • 관계 타입 R에 대해 R에 참여하는 엔티티 타입에 대응되는 릴레이션 2개 존재.
  • 관계 타입에 완전하게 참여하는 릴레이션을 외래 키를 포함시키는 릴레이션을 선택
    • 완전 참여하는 쪽 릴레이션을 선택하여 외래키를 생성하는 이유는 최대한 NULL를 적게 만들기 위함이다.
  • 관계 타입 R이 가지고 있는 모든 단순 애트리뷰트들을 외래키 가지고 있는 릴레이션에 포함.
  • 두 엔티티 타입 모두 완전하게 참여 시에는 하나의 릴레이션으로 합치는 방법 존재.
    • 방법 4


  • 추가적으로 방법 3은 관계를 나타내는 별도의 릴레이션을 만들어 각 릴레이션의 기본키를 외래키로 가져와서 기본키로 만든다.

단계 4 정규 2진 1:N 관계 타입

릴레이션 T, S 존재, 관계 R 존재

  • 1:N 관계 에서 N측의 엔티티 타입에 대응되는 릴레이션 S
  • 릴레이션 T의 기본 키를 릴레이션 S에 외래키로 포함.
    • 1측의 T에 외래 키로 포함시키면 애트리뷰트에 값들의 집합 또는 정보의 중복이 많이 발생. (N축 키를 외래키로 생성 X)
  • 관계 타입 R 의 애트리뷰트 S로 포함

단계 5 2진 M:N 관게 타입

  • 참여 엔티티 타입의 릴레이션들의 기본 키를 관계 릴레이션에 외래키로 포함시키고 이들의 조합을 기본 키로 한다.

단계 6 3진 이상의 관계 타입

  • 단계 5처럼 관계 릴레이션 R 을 만들어서 대응되는 릴레이션들의 기본 키를 릴레이션 R에 외래 키로 포함시킨다.

  • 엔티티 타입들의 카디날리티가 1:N:N이면 카디날리티가 1인 릴레이션의 기본 키를 참조하는 외래 키는 기본키 결합에서 제외된다.

단계 7 다치 애트리뷰트

  • 다치 애트리뷰트에 대한 릴레이션 MVA 생성
  • 관계 타입에 해당하는 릴레이션의 기본 키를 릴레이션 R에 외래키로 포함
  • MVA의 다치 애트리뷰트와 외래 키의 조합은 기본 키가 된다.


  • 마지막으로 ER 개념과 데이터베이스 개념들의 대응 관계이다.

0개의 댓글