2021. 10. 13. 16:55ㆍMajor`/DB
데이터베이스 시스템(DBS) 개발 단계
ER 스키마를 관계 모델 릴레이션으로 변환
[규칙 1] 개체 타입 : 강한 개체 타입
-> 사원(사원번호, 사원 이름)
[규칙 2-1] 속성 : 복합 속성(Composite Attribute)
-> 고객(고객 아이디, 년, 월, 일)
[규칙 2-2] 속성 : 다중값 속성(Multi-Valued Attribute)
- 원래 개체의 릴레이션 속성에 다중값 속성을 포함시키지 않는다
- 다중값 속성은 따로 릴레이션을 만든다
- 다중값 속성 릴레이션의 기본키 = 원래 개체의 기본키(FK) + 다중값 속성
-> 고객(고객 아이디, 고객명)
-> 고객 연락처(고객 아이디(FK), 연락처)
[규칙 3-1-1] 관계 타입 : 2항 관계 / 1:1 관계
※ 관계 타입 R에 대하여 R에 참여하는 릴레이션 S와 T
- 릴레이션 둘 중 하나를 선택(릴레이션 S)하고, 릴레이션 T의 기본키를 릴레이션 S의 속성으로 포함
- 관계 타입 R이 가지고 있는 모든 속성들을 릴레이션 S의 속성에 포함
Type 1)
-> 사원(사원번호, 사원 이름, 컴퓨터 번호(FK), 배정일)
-> 컴퓨터(컴퓨터 번호, 제조년도)
Type 2)
컴퓨터(컴퓨터 번호, 제조년도, 사원번호(FK), 배정일)
사원(사원번호, 사원 이름)
[규칙 3-1-2] 관계 타입 : 2항 관계 / 1:1 관계 (필수적 참여 존재)
※ 관계 타입 R에 대하여 R에 참여하는 릴레이션 S(필수적 참여)와 T(선택적 참여)
- 필수적 참여하는 개체에 해당하는 릴레이션 S의 속성에 릴레이션 T의 기본키를 포함
- 관계 타입 R이 가지고 있는 모든 속성들을 릴레이션 S의 속성에 포함
-> 사원(사원번호, 사원 이름, 컴퓨터 번호(FK), 배정일)
-> 컴퓨터(컴퓨터 번호, 제조년도)
[규칙 3-2] 관계 타입 : 2항 관계 / 일대다(1:N) 관계
※ 관계 타입 R에 대하여 R에 참여하는 릴레이션 S(1)와 T(N)
- (1)측의 릴레이션 S의 기본 키를 릴레이션 T의 속성에 포함시킨다
- 관계 타입 R이 가지고 있는 모든 속성들을 (N)측의 릴레이션 T에 포함시킨다
-> 부서(부서 번호, 부서 이름)
-> 사원(사원번호, 사원 이름, 부서 번호(FK), 소속일)
[규칙 3-3] 관계 타입 : 2항 관계 / 다대다(N:M) 관계
※ 관계 타입 R에 대하여 R에 참여하는 릴레이션 S(N)와 T(M)
- 릴레이션 S와 릴레이션 T의 속성은 본인의 속성 그대로 포함
- 릴레이션 S의 기본키, 릴레이션 T의 기본키는 릴레이션 R의 속성이 된다
- 릴레이션 R 기본키 = 릴레이션 S 기본키 + 릴레이션 T 기본키
- 관계 타입 R이 가지고 있는 모든 속성들을 릴레이션 R의 속성에 포함
-> 고객(고객번호, 고객 이름)
-> 책(책 번호, 책이름)
-> 구매(고객번호(FK), 책 번호(FK))
[규칙 4] 약한 개체 타입 + 강한 개체 타입
※ 강한 개체 릴레이션 S / 약한 개체 릴레이션 R
- 릴레이션 R(약한 개체) 기본키 = 릴레이션 S(강한 개체) 기본키 + 릴레이션 R(약한 개체)의 구별자
-> 직원(직원 번호, 직원 이름, 직책)
-> 부양가족(직원 번호(FK), 이름, 관계)
[규칙 5] 1항 관계 / 순환 관계
- 릴레이션 S의 속성은 본인의 속성 그대로 포함
- 관계 타입 R의 릴레이션 R은 역할에 따라 속성에 대입
-> 학생(학번, 이름)
-> 멘토링(멘티 학번, 멘토 학번)
[규칙 6] 3항 관계
※ 관계 타입 R에 대하여 릴레이션 S(1), 릴레이션 T(N), 릴레이션 Z(M) 존재
- 릴레이션 S, T, Z는 각각 본인의 속성 그대로 포함
- 관계 타입 R에 대하여 릴레이션 R의 속성은 릴레이션 S, T, Z의 기본키들을 포함
- 릴레이션 R 기본키 = (N 또는 M 측에 포함) 릴레이션 T 기본키 + 릴레이션 Z 기본키
-> 공급자(공급자 번호, 공급자 이름)
-> 부품(부품번호, 부품 이름)
-> 부서(부서 번호, 부서 이름)
-> 계약(부품번호(FK), 부서 번호(FK), 공급자 번호(FK))