자격증/SQLD

SQLD 요약 정리 - 관계

비뀨_ 2022. 11. 14. 03:39

참고 : + 표시는 제가 이해한 부분을 다시 설명한 것입니다.

1.관계의 개념

관계는 DB에서 연관성이 있는 상태라고 할 수 있다.

 

2.관계의 표기법

ㄱ.관계명

관계명은 엔티티가 관계에 참여하는 형태를 지칭한다. 

각각의 관계는 두개의 관계명을 가지고 있다.

 

+ 예를 들어 학생은 학원을 다니면 강사와 관계를 가진다고 할 수 있다.

학생은 강사에서 배우고,

강사는 학생을 가르치기 때문에 둘은  두개의 관계명을 가지고 있다고 할 수 있다.

 

관계가 시작되는 쪽을 관계시작점이라하고,  받는 편을 관계 끝점이라 한다.

참여자의 관점에 따라 관계 이름이 능동적이거나, 수동적으로 명명됨.

 

관계명의 명명 규칙

  • 애매한 동사는 피하기. '관계된다 | 관련이 있다 | 이다 | 한다' 등은 구체적이지 않아 어떤 상태가 있는지 모름
  • 현재형으로 표현.

 

ㄴ.관계차수( Degree / Cardinality )

두 개 엔티티의 관계에서 참여자의 참여자의 수를 표현하는 것.

+ 쉽게 설명하자면 담임선생님은 한 반을 맡는데, 한 반의 학생은 여러명이다.

 

그렇다면 위의 관계 차수는 담임선생님(1) : 학생 ( N )이 된다.

 

  • 관계차수 : 1:1, 1 : M, M : N

왼쪽부터 1:1 , 1: N ,  M : N

  • 관계선택사양 : 필수 관계, 선택관계

필수 관계

 

필수 관계란 무조건 포함되어야 하는 관계이다.

예를 들자면 우리가 배달앱으로 주문을 할 때 사장님에게 주문이 전달되고,

주문이 쌓여 그 매장의 하루 매출을 볼 수 있을 것이다.

 

주문서메뉴목록을 가지고 있어야한다. 

당연히 사용자가 메뉴를 선택하고 결제해야 사장님에게 주문서가 전달이 될테니깐 말이다.

 

메뉴는 주문서에서 필수참여관계가 되는 것이다.

 

선택 관계

 

다른 경우에서 예를 들어보자.

사장님이 하루 매출을 볼 수 있는 주문 목록 페이지가 있는데,  하루 매출은 주문서에 계산된 금액들의 합일 것이다.

하지만 불행하게도 배달 플랫폼이 잘 알려지지 않아 해당 플랫폼에서 주문이 아예 없을 수도 있다.

주문 목록은 주문서를 포함하고 있지만, 주문 목록에는 주문서가 0개일 수도 있다는 소리다.

 

이 때 주문 목록은 선택참여 관계가 된다.

선택 참여는 위의 이미지에서 원( O ) 표시로 표기한다.

 

선택 참여 관계는 물리속성에서 FK (Foreign Key)로 연결될 때 Null을 허용할 수 있는 항목이 된다.

 

설계 단계에서 필수 참여와 선택참여는 개발시 반드시 고려되어야 한다.

 

3.관계 읽는 방법

 

IE 표기법 기준으로 쉽게 이해하기 위해서는 

  • 원 (O) 표시 : 선택참여관계. 항상이 아님. 
  • | 표시 :  한 개
  • 새발표시 : 여러개

를 알면 된다.

 

관계를 읽을 때에는 다음 이미지처럼 읽으면 된다.

  1. 기준 엔터티를 '한 개 | 하나의' 또는 '각'으로 읽는다.
  2. 대상 엔터티의 관계 참여도 (개수)를 읽는다.
  3. 관계선택사양과 관계명을 읽는다.

 

실습하기 위해서 바로위의 이미지를 보고 다시 이걸 읽어보자.

 

 

주문목록 기준

  • 각각의 주문목록은 한 개의 목록에 때때로 속한다.

목록 기준

  • 하나의 목록에는 여러 주문목록이 항상 포함된다.

 

로 읽을 수 있다.

 

'자격증 > SQLD' 카테고리의 다른 글

SQLD 요약 - DDL  (0) 2023.01.15
SQLD 요약 - 관계형 데이터베이스 개요  (0) 2023.01.14
SQLD 요약정리 - 식별자  (5) 2022.12.19
SQLD 요약 정리 - 속성  (0) 2022.11.03
SQLD 요약정리 - 엔티티  (0) 2022.11.03