반응형
관계(Relationship)
- 엔터티 간의 관련성을 의미, 존재 관계와 행위 관계로 분류
- 존재 관계 : 두 개의 엔터티가 존재 여부의 관계가 있는 것
- 행위 관계 : 두 개의 엔터티가 어떤 행위에 의한 관련성이 있는 것
관계의 종류
(1). 존재 관계
- 엔터티 간의 상태를 의미
- ex) 고객이 은행에 회원가입을 화면, 관리점이 할당되며 그 할당된 관리점에서 고객을 관리한다.
(2). 행위 관계
- 엔터티 간에 어떤 행위가 있는 것
- 계좌를 사용해서 주문을 발주하는 관계가 만들어진다.
- ex) 증권회사는 계좌를 개설하고 주문을 발주하는 것
관계 차수(Cardinality)
(1). 관계 차수(Relation Cardinality)
- 두 개의 엔터티 간에 관계에 참여하는 수를 의미
- ex) 한 명의 고객은 여러 개의 계좌를 개설할 수 있다. 이러한 경우는 1대 N 관계
(2). 관계 차수의 종류
(2-1) 1대 1 관계
- 1대 1 관계는 완전 1대 1 관계와 선택적 1대 1 관계가 있음
- 아래의 사진은 선택적 1대 1 관계를 표현한 것, 한 명의 고객은 하나의 고객등급이 부여되거나 고객 등급이 없을 수 있다.
> 1대 1 관계
종류 | 설명 |
완전 1대1 | 하나의 엔터티에 관계되는 엔터티의 관계가 하나인 경우, 반드시 존재 |
선택적 1대1 | 하나의 엔터티에 관계되는 엔터티의 관계가 하나이거나 없을 수도 있다. |
(2-2) 1대 N 관계
- 엔터티에 행이 하나 있을 때 다른 엔터티의 값이 여러 개 있는 관계
- ex) 고객은 여러 개의 계좌를 가질 수 있다.
(2-3) M대 N 관계
- 두 개 엔터티가 서로 여러 개의 관계를 가지고 있는 것
- ex) 한 명의 학생이 여러 개의 과목을 수강할 수 있다. | 반대로 한 개의 과목은 여러 명의 학생이 수강한다. 즉*** M:N 관계
- 관계형 DB에서 M:N 관계의 Join은 카테시안 곱이 발생, M:N 관계를 1:N, N:1로 해소해야 함
- 수강이라는 엔터티를 추가적으로 도출하여 1대 N, N대 1로 해소해야 합니다.
(2-4) 필수적 관계와 선택적 관계
- 필수적 관계는 반드시 하나는 존재해야 하는 관계이며 선택적 관계는 없을 수도 있는 관계
- 필수적 관계는 "|"로 표현, 선택적 관계는 "O"로 표현
구분 | 설명 |
필수적 관계 | - 반드시 하나가 있어야 하는 관계 ex) 고객이 반드시 있어야 계좌를 개설 가능 |
선택적 관계 | - 없을 수도 있는 관계 고객은 있지만, 계좌가 없을 수도 있다면 선택적 관계가 된다. |
반응형
'재미로하는 공부' 카테고리의 다른 글
[sqld] 엔터티 식별자 (Entity Identifier) (3) | 2022.03.29 |
---|---|
[sqld] 데이터 모델링 식별 관계와 비식별 관계 (16) | 2022.03.28 |
[sqld] 데이터 모델링 속성(Attribute) (14) | 2022.03.25 |
[sqld] 엔터티 (Entity) 개념, 특징, 종류 (12) | 2022.03.25 |
[sqld] 3층 스키마 (3-Level Schema) (6) | 2022.03.24 |