ER 모델 논리적 모델링 매핑

Bam·2025년 5월 8일
0

Database

목록 보기
32/39
post-thumbnail

논리적 모델링 매핑

개념적 모델링의 결과로 산출된 ER 다이어그램 또는 IE 표기를 실제 DBMS에서 구축하기 위해서 논리적 모델링으로 매핑 (Mapping, 사상)하는 단계를 거치게 됩니다.

일반적으로 개념적 모델링의 산출물은 릴레이션으로 매핑하게 됩니다.

위와 같은 ERD가 있다고 할 때 이를 릴레이션으로 나타내면 개체명(식별자, 속성1, 속성2)와 같은 형태로 매핑됩니다.

관계 데이터 모델 매핑은 개체 매핑 > 관계 매핑 > 속성 매핑으로 순서로 수행됩니다.

개체 매핑

강한 개체 타입의 경우 릴레이션 이름을 개체명으로 두고, 릴레이션의 속성으로 개체의 속성을 삽입합니다. 이때 식별자(키)는 기본키, 외래키에 따라 PK, FK로 표기합니다. 일반적으로 키가 한 개라면 해당 키가 곧 PK이기 때문에 PK 표시는 생략합니다.

약한 개체 타입은 동일하게 릴레이션을 구성하되, 강한 개체 타입의 키를 외래키로 가져와 구성합니다.위 ERD를 개체 매핑하면 다음과 같은 결과가 나타납니다.
A(A식별자, 속성) B(B식별자, A식별자(FK), 속성)

개체 속성을 매핑할 때는 속성, 유도 속성, 복합 속성과 같은 단일값 속성은 개체 성격에 맞게 설계자가 자체적으로 매핑합니다. 다중값 속성의 매핑은 아래에서 다룹니다.

관계 매핑

개체 매핑이 완료되었다면 이제 관계의 차수나 관계 대응수에 따라서 관계 매핑을 수행합니다.

다음과 같이 가장 많이 사용되는 이진 관계 ERD가 있을 때 관계 매핑 수행 방법은 4가지 방법이 있습니다.

  1. B 개체를 기준으로 관계 표현

    A(A식별자, 속성)
    B(B식별자, A식별자(FK), 속성)

  2. A 개체를 기준으로 관계 표현

    A(A식별자, B식별자(FK), 속성)
    B(B식별자, 속성)

  3. 단일 릴레이션으로 통합 후 관계 표현

    AB(A식별자, B식별자, 속성, 속성)

  4. A 릴레이션, B 릴레이션과 관계를 나타내는 관계 릴레이션 R로 표현

    A(A식별자, 속성)
    B(B식별자, 속성)
    R(A식별자, B식별자)

3번 방법은 관계가 불명확해지는 관계로 거의 사용되지 않는 방식이고 1번, 2번, 4번 중에서 상황(몇대몇 관계 등)에 따라 유동적으로 방법을 결정하게 됩니다.

  • 1:1 관계
    1:1 관계에서는 1번과 2번 방법 중 외래키(FK)에 NULL 값이 덜 발생되는 방법을 채택합니다.

  • 1:N 관계
    1:N 관계에서는 N이 되는 개체에 맞춰 1번 또는 2번 방법으로 매핑합니다. N이 되는 개체 릴에이션에 1의 식별자를 외래키로 사용합니다. (반대는 불가능)

  • M:N 관계
    M:N 관계는 4번 방법을 사용합니다. 이때 생성되는 관계를 나타내는 릴레이션 테이블은 중간 테이블이라고도 부릅니다.

  • 3진 이상의 관계
    지금까지는 2진 관계 상황들을 다뤘는데요. 만약 관계 차수가 3진 이상이라면 4번 방식으로 중간 테이블을 만들어서 표현합니다.

다중값 속성 매핑

만약 속성으로 다중값이 온다면 지금까지 알아본 방식으로 직접 매핑하기엔 많은 어려움이 있습니다.

다중값은 다중값 개수를 알 수 없는 경우와 다중값 개수가 제한된 경우 두 가지 경우에 따라 다른 방식으로 매핑하게 됩니다.

위와같이 다중값 속성을 가진 개체를 매핑해보겠습니다.

먼저 다중값 개수를 알 수 없거나 제한되어 있어도 많은 경우는 다중값 릴레이션을 따로 하나 생성합니다.

개체(식별자, 속성)
개체-다중값(식별자, 다중값)

다음으로 다중값 개수가 적고 제한된 경우는 다중값 속성을 그냥 릴레이션에 더해줍니다.

만약, 다중값 속성 수가 3개로 제한되어있다면 다음과 같이 매핑됩니다.
개체(식별자, 속성, 다중값1, 다중값2, 다중값3)

0개의 댓글