ER-관계 사상에 의한 관계 데이터베이스 설계1 (데이터베이스)

심채운·2023년 6월 27일
0

학점은행제 컴공

목록 보기
15/40

일반/강한 엔티티

약 엔티티와는 다르게 실세계의 독립체를 나타내며, 데이터 구성의 주체가 되는 개념이다. 엔티티의 존재가 다른 엔티티에 의해 종속되지 않는다.

약 엔티티의 사상 방법

약 엔티티타입은 테이블로 사상하되 소유 테이블의 주키를 포함시킨다. 생성된 테이블의 주키는 소유 테이블의 주키와 약 엔티티타입의 부분키를 합쳐서 만든다.

N:M관계타입 사상 방법

별도의 테이블을 생성하고 관계에 참여하는 두 테이블의 주키를 빌려와 외래키로 구성하고, 각 외래키가 해당 주키를 참조하도록 한다. 빌려온 두 개의 외래키가 새로 생성된 관계 테이블의 주키(복합키 형태)가 된다.

ER-관계 사상 방법

  • 사상규칙들
    • 일반 엔티티타입 사상
    • 약 엔티티타입 사상
    • 다치 속성의 사상
    • 복합 속성의 사상
    • 2진 1:1 관계타입 사상
    • 2진 1:N 관계타입 사상
    • 2진 N:M 관계타입 사상

일반/강한 엔티티 사상

  • 엔티티타입은 테이블로 사상
  • 엔티티타입의 키 중에서 하나를 테이블의 주 키로 지정
  • 복합 속성은 테이블에 다 포함시키기
  • 다치 속성은 새롭게 테이블을 만듦(주키를 가져와서 복합키로 만든다. 가져온 키는 외래키로 표현)

약 엔티티 사상

  • 약 엔티티타입도 테이블로 사상하되 소유(/식별) 테이블의 주키를 포함시킴
  • 테이블의 주키는 소유(/식별) 테이블의 주키와 약 엔티티타입의 부분 키를 합쳐서 복합키 형태로 만듦

다치 속성의 사상

  • 다치 속성은 새로운 테이블로 사상됨
  • 새로운 테이블에 다치 속성을 포함시키고, 다치 속성이 소속되어 있던 테이블의 주키를 외래키로 빌려옴
  • 새로운 테이블의 주키는 다치 속성과 빌려온 주키로 구성함

복합 속성의 사상

  • 복합 속성을 구성하는 모든 단순 속성을 테이블에 포함시키며, 복합 속성은 포함시키지 않음

관계 카디낼러티 1:1, 1:N, N:M에 의한 사상방법

2진 1:1 관계타입 사상

  • 관계에 참여하는 두 개 엔티티의 참여 제약에 따라 다양한 접근법이 존재함
  • 외래키 접근법
    • 둘 중 하나만 전체 참여일 때 전체 참여로 참여하는 테이블에 외래키를 사상함, 왜냐하면 외래키 값에 나타나게 되는 null 을 없앨 수 있기 때문임
    • [참고] : 데이터베이스는 null과 중복을 가장 싫어함, 오류의 발생이나 성능을 떨어뜨리는 요인이 되기 때문임
  • 통합 접근법
    • 두 개 엔티티가 모두 전체 참여일 때 하나의 테이블로 합침, 어떤 테이블로 합칠 지는 설계자의 선택 사항임
  • 상호참조 관계 접근법
    • 두 개 엔티티가 모두 부분 참여일 때 새로운 상호 참조 테이블을 생성하고, 각 테이블의 주키를 외래키로 빌려오고, 빌려온 외래키들을 합쳐서 주키를 만든다

2진 1:N 관계타입 사상

  • 1:N 이진 관계는 1-측의 주키를 N-측 테이블에서 외래키로 빌려오며, 외래키가 주키를 참조하도록 함 (내장방식)

2진 N:M 관계타입 사상

  • 별도의 테이블을 생성한 후 관계에 참여하는 두 테이블의 주키를 빌려와 외래키로 구성하고, 각 외래키가 해당 주키를 참조하도록 함
  • 이 때 두 외래키가 관계-테이블(/관계-릴레이션)의 주키(복합키 형태)가 됨
profile
불가능, 그것은 사실이 아니라 하나의 의견일 뿐이다. - 무하마드 알리

0개의 댓글