본문 바로가기

자격증/SQLD 자격증

[SQLD자격증강좌] 6강 관계(RelationShip) - 오쌤의 니가스터디

728x90
반응형

 

 

 

 

 

 

 

1. 관계(Relationship)의 개념과 종류


- 관계는 엔터티 간의 관련성을 의미하며 존재 관계와 행위 관계로 분류합니다.

 

 

1) 존재 관계

- 존재 관계는 엔터티 간의 상태를 의미합니다.

- 예를 들어 회원이 영화관사이트에서 회원가입을 하면 예매를 할 수 있고, 지점을 선택해서 영화를 예매합니다.

- 이때 영화관 지점은 존재에 의한 관계가 됩니다.

 

 

2) 행위 관계

- 행위 관계는 엔터티 간의 어떤 행위가 있는 것입니다.

- 예를 들어 회원이 영화사이트의 예매기능을 사용해서 예매를 완료하는 것입니다. 

 

## 이론 문제 확인하기

다음 관계(RelationShip)의 종류 중 엔터티 간의 상태를 나타내는 것은?
1. 존재 관계
2. 행위 관계
3. 속성 관계
4. 필수 관계
더보기

정답 : 1

- 관계의 종류는 존재 관계와 행위 관계로 나뉩니다.

- 존재 관계는 엔터티 간의 상태입니다.

- 행위 관계는 엔터티간의 행위가 있는 것입니다. 

 

 

 

 

 

 

 

 

 

 

728x90
반응형

 

 

 

 

 

 

 

 

2. 관계 차수(Relation Cardinality)의 개념과 종류


 

 

1) 관계 차수(Relation Cardinality)의 개념

- 관계 차수는 두개의 엔터티 간에 관계에 참여하는 수를 의미합니다. 

- 예를 들어 한명의 회원은 여러 영화를 예매할 수 있다. 이런 경우는 1대 N관계가 됩니다. 

관계차수(Relation Cardinality)의 종류

 

 

 

2) 1대1 관계

- 1대1의 관계는 완전 1대 1 관계와 선택적 1대 1 관계가 있습니다. 

- 다음의 예는 선택적 1대1 관계를 표현한 것입니다.

- 회원은 하나의 휴대폰 번호를 가지거나 없을 수도 있습니다. 

- 회원휴대폰번호 엔터티에 값이 입력되려면 회원 ID가 필요합니다. 

선택적 1대1 관계

 

## 1대1관계의 종류

종류 설명
완전 1대1 하나의 엔터티에 관계되는 엔터티의 관계가 하나인 경우로 반드시 존재해야 합니다.
선택적 1대1 하나의 엔터티에 관계되는 엔터티의 관계가 하나이거나 하나도 없을 수 있습니다.

 

 

 

 

3) 1대N 관계

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

- 예를 들어 회원은 예매를 여러 개 할 수 있습니다. 

1대N의 관계

 

 

 

 

4) M대N 관계

- M대N의 관계는 두 개 엔터티가 서로 여러 개의 관계를 가지고 있는 것입니다.

- 예를 들어 한 명의 회원이 여러 개의 영화를 볼 수 있습니다.

- 반대로 한 개의 영화는 여러 명의 회원이 봅니다. 

- 그래서 M대N의 관계가 발생합니다. 

- 관계형 데이터베이스에서 M대 N의 관계의 조인(JOIN)은 카테시안 곱이 발생합니다.

- 그래서 M대N의 관계를 1대 N, N대 1로 해소해야 합니다.

- 카테시안 곱(Cartesian Product, 곱집합)은 각 릴레이션에 존재하는 모든 데이터를 조합하여 연산하는 것을 말합니다. 

M대N의 관계

- 위와 같은 예로는 예매라는 엔터티를 추가적으로 도출하여 1대 N, N대 1로 처리해야 합니다.

 

 

 

 

 

4) 필수적 관계와 선택적 관계

- 필수적 관계는 반드시 하나는 존재해야 하는 관계이고, 선택적 관계는 없을 수도 있는 관계입니다.

- 필수적 관계는 [ | ]로 표현되고, 선택적 관계는 [ o ]로 표현됩니다.

- 예를 들어 회원이 있어야 예매를 할 수 있다. 라고 한다면 필수적 관계입니다.

- 예를 들어 회원은 있지만 예매를 안할 수도 있다.라고 한다면 선택적 관계입니다.

필수적 관계와 선택적 관계

 

 

 

## 이론 문제 확인하기

엔터티 간의 1:1, 1:M과 같이 관계의 기수성을 나타내는 것을 무엇이라고 하는가?
1. 관계명(Relationship Membership)
2. 관계차수(Relationship Degree/Cardinality)
3. 관계선택성(Relationship Optionality)
4. 관계정의(Relationship Definition)
더보기

정답 : 2

- 엔터티 간의 1:1, 1:M등과 같이 관계 참여 인스턴스의 수를 지칭하는 것은 관계차수이다.

 

 

 

 

 

 

 

 

 

 

 

3. 식별과 비식별 관계


 

1) 식별 관계(Identification Relationship)

- 회원과 예매 엔터티에서 회원은 독립적으로 존재할 수 있는 강한 개체(Strong Entity)입니다.

- 강한 개체는 어떤 다른 엔터티에게 의존하지 않고 독립적으로 존재합니다.

- 강한 개체는 다른 엔터티와 관계를 가질 때 다른 엔터티에게 기본키를 공유합니다. 

- 강한 개체는 식별 관계로 표현됩니다. 

- 식별관계란 회원 엔터티의 기본키인 회원ID를 예매엔터티의 기본키의 하나로 공유하는 것입니다.

- 강한 개체의 기본키 값이 변경되면 식별 관계(기본키를 공유받은)에 있는 엔터티의 값도 변경됩니다.

- 하지만 위의 그림처럼 전화번호가 빠지면서 회원 휴대폰에 연결된다면 회원은 약한 개체가 됩니다. 

- 강한 개체는 누구에게도 지배되지 않는 독립적인 개체입니다.

- 약한 개체는 개체의 존재가 다른 개체의 존재에 달려 있는 개체입니다. 

 

 

 

 

2) 비식별 관계(Non-Identification Relationship)

- 비식별관계는 강한 개체의 기본키를 다른 엔터티의 기본키가 아닌 일반 컬럼으로 관계를 가지는 것입니다.

 

- 위 그림으로 보면 회원과 예매 엔터티는 회원아이디를 기본키로 참조하므로 식별관계입니다.

- 하지만 예매와 지점은 예매의 기본키가 아닌 일반 컬럼을 참조하므로 비식별관계입니다. 

- 비식별관계는 점섬으로 표시하고, 식별관계는 실선으로 표현합니다. 

 

## 이론 문제 확인하기

다음 중 식별 관계의 특징으로 옳은 것은?
1. 식별 관계는 실선으로 표현된다.
2. 외래키가 존재하지 않는다.
3. 점선으로 표현된다. 
4. 기본키를 공유하지 않는다.
더보기

정답 : 1

- 식별관계는 실선으로 비식별관계는 점선으로 표시합니다. 

 

 

 

 

 

728x90
반응형