관리 메뉴

JIE0025

[데이터모델링] ER 모델 , 관계 데이터 모델로 사상 본문

백엔드/데이터베이스

[데이터모델링] ER 모델 , 관계 데이터 모델로 사상

Kangjieun11 2021. 6. 5. 22:17
728x90

완성된 ER모델이 실제 DB로 구축되기 위하여 

논리적 모델링 단계를 거치는데 , 이단계에서 사상(mapping)이 이루어진다.

 

 

사상 알고리즘 단계

단계 사상할 대상 구분
1단계 개체 타입 강한 개체 타입
2단계 약한 개체 타입
3단계 관계 타입 이진 1:1 관계 타입
4단계 이진 1:N 관계 타입
5단계 이진 N:M 관계 타입
6단계 속성 N진 관계 타입
7단계 다중값 속성

 

 

사상 방법의 종류

밑줄 : 기본키

기울은 글꼴 : 참조, 외래키(?)

 

방법 1 

오른쪽 개체 타입을 기준으로 관계 R표현

E1 ( KA2, A2 )
E2 ( KA2, A4, KA1 )

 

방법 2 

왼쪽 개체 타입을 기준으로 관계 R표현

E1 ( KA1, A2, KA2 )
E2 ( KA2, A4 )

 

방법 3

단일 릴레이션 ER로 통합, 관계 R표현

ER ( KA1, A2, KA2, A4 )

 

방법 4

개체 E1, E2 와 관계 타입 R을 모두 독립된 릴레이션으로 표현

E1 ( KA1, A2 )
R (KA!, KA2)
E2 ( KA2, A4 )

 


 

1. 개체 타입의 사상

 

1단계

강한 개체 타입 (정규 개체 타입 E)

- 사원 개체 타입에 대응하는 릴레이션 사원을 생성한 후 속성들을 표현한다.

- 기본키와 외래키는 PK, FK로 표시 

 

사원( 사번 , 이름 )

 

2단계

약한 개체 타입

자신의 키와 함께, 강한 개체 타입의 키를 외래키로 사상해 자신의 기본키를 구성

 

가족 ( 사번(FK), 이름 , 출생일 )

 

가족 개체는 사원 개체에 종속된 약한 개체 타입이다. 

사원 개체 타입의 키인 사번 속성을 외래키(FK)로 포함한다. 

 

 


 

2. 관계 타입의 사상

 

3단계

이진 1:1 관계 타입

- 개체가 가진 정보 유형에 따라 판단

- 외래키에 NULL이 덜 발생하는 방법을 사용하면 된다. 

- 방법 1~4 , 어떤것으로도 사상해도 된다. 

 

 

4단계

이진 1:N 관계 타입

- N의 위치에 따라 방법1, 방법2 유형으로 사상

 

아래 예시를 보면

>> N이 오른쪽에 있으므로, 

오른쪽에 위치한 학생 릴레이션에  <학과 릴레이션 학과코드>외래키로 사용

 

- 반대로 학과 릴레이션에 학생 릴레이션 학번을 저장하는 것은 불가능

 

학과 ( 학과코드, 학과명 )

학생 ( 학번, 이름, 학과코드(FK) )

 

 

 

5단계

이진 M:N 관계 타입

 

6단계 

N진 관계 타입

 

 

5단계

이진 M:N 관계 타입

- 방법 4 로 사상된다. (방법 4는 개체1, 개체2, 관계를 다 분류하는것)

 

즉 교수, 과목을 분류하고, R(관계)에는 두 개체의 키를 속성으로 만들면 된다.

 

교수 ( 사번, 이름 )

과목 ( 과목코드, 과목명 )

수업 ( 사번, 과목코드 )

 

 

6단계

N진 관계 타입

 

차수가 3 이상인 다진 관계 타입일 때,

방법 4로 사상

 

강좌 ( 강좌코드, 과목명 )

학생 ( 학번, 학과 )

강의실 ( 호실, 위치 )

수강 ( 학번, 강좌코드, 호실 )

 


 

3. 다중값 속성의 사상

 

7단계 

다중값 속성

 

속성의 개수를 알 수 없을 때 방법 1

속성의 개수가 제한적으로 정해질 때 방법2

 

취미는 다중값 속성이고 속성의 개수를 알 수 없으므로

방법 1 을 사용해야 한다.

 

학생( 학번, 이름)

취미 ( 학번, 취미이름 )