본문 바로가기
SQL

관계(Relationship)

by rubyda 2021. 3. 14.
728x90

관계(Relationship)

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

 

관계의 종류

존재 관계

 - 엔터티 간의 상태를 위미

행위 관계

 - 엔터티 간에 어떤 행위가 있는 것

 

관계 차수

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

 

① 1대1 관계

종류 설명
완전 1대1

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

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

 

 ② 1대N 관계

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

 

 ③ M대N 관계

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

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

 

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

구분 설명
필수적 관계

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

선택적 관계

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

 

식별 관계와 비식별 관계

식별 관계

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

비식별 관계

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

 

'SQL' 카테고리의 다른 글

관계형 데이터베이스(Relation Database)  (0) 2021.03.15
엔터티 식별자  (0) 2021.03.14
속성(Attribute)  (0) 2021.03.14
3층 스키마  (0) 2021.03.14
데이터 모델링  (0) 2021.03.14