wms's Programming&Study

[SQLD - PART1] 1. 데이터 모델링 - ⑤ 관계(Relationship) 본문

데이터베이스/SQL Developer

[SQLD - PART1] 1. 데이터 모델링 - ⑤ 관계(Relationship)

wms2275 2019. 10. 6. 03:42

1) 관계(Relationship)

 - 관계는 엔터티 간의 관련성을 의미하며 존재관계와 행위관계로 구분

 

2) 관계의 종류

존재 관계

 - 엔터티 간의 상태를 위미
 - 두 개의 엔터티가 존재 여부의 관계가 있는 것

행위 관계

 - 엔터티 간에 어떤 행위가 있는 것
 - 두 개의 엔터티가 어떤 행위에 의한 관련성이 있는 것

 

3) 관계 차수

[1] 관계 차수 - 두 개의 엔터티 간에 관계에 참여하는 수

[2] 관계 차수의 종류

 ① 1대1 관계

종류 설명
완전 1대1

 - 하나의 엔터티에 관계되는 엔터티의 관계가 하나 있는 경우
 - 반드시 존재

선택적 1대1  - 하나의 엔터티에 관계되는 엔터티의 관계가 하나이거나 없을 수도 있다.

 

 ② 1대N 관계

 - 1대N 관계는 엔터티에 행이 하나 있을 때 다른 엔터티의 값이 여러 개 있는 관계

 

 ③ M대N 관계

 - 두 개 엔터티가 서로 여러 개의 관계를 가지고 있는 것

 - 관계형 데이터베이스에서 M대N 관계의 조인은 카테시안 곱이 발생 -> 1대N, N대1로 해소해야 한다.

 

 ④ 필수적 관계와 선택적 관계

구분 설명
필수적 관계

 - 반드시 하나가 있어야 하는 관계
 - ' | ' 로 표현

선택적 관계

 - 없을 수도 있는 관계. 예) 고객은 있지만 계좌가 없을 때
 - 'O' 로 표현

 

4) 식별 관계와 비식별 관계

식별 관계

 - 강한 개체는 어떤 다른 엔터티에게 의존하지 않고 독립적으로 존재
 - 강한 개체는 다른 엔터티와 관계를 가질 때 다른 엔터티에게 기본티를 공유
 - 강한 개체는 식별 관계로 표시
 - 강한 개체의 기본키 값이 변경되면 식별 관계에 있는 엔터티의 값도 변경된다.
 - 실선으로 표현

비식별 관계

 - 강한 개체의 기본티를 다른 엔터티의 기본키가 아닌 일반 칼럼으로 관계를 가지는 것
 - 점선으로 표현

 

 

< 참고자료 >