본문 바로가기

SQL/SQLD 준비

[관계 (Relationship)]

728x90

1. 관계의 종류
    - 존재 관계: 엔터티 간의 상태를 의미, 두 엔티티가 존재 여부의 관계가 있는 것
    - 행위 관계: 엔터티간에 어떤 행위가 있는 것, 두 엔터더가 어떤 행위에 의한 관련성

2. 관계 차수 (두 엔터티 간에 관계에 참여하는 수)
    (1) 1대1 관계
    - 완전 1대1 : 하나의 엔터티에 관계되는 엔터티의 관계가 하나인 경우, 반드시 존재
    - 선택적 1대1 : 하나의 엔터티에 관계되는 엔터터의 관계가 하나이거나 없을수도 있다.

    (2) 1대 N 관계
    - 엔터티에 행이 하나 있을 때 다른 엔터티 값이 여러개 있는 관계
    - 예) 고객은 여러 개의 계좌를 개설 할 수 있다.
        계좌가 있는 고객은 반드시 고객정보가 한개 있다.

    (3) M대N 관계
    - 두 개 엔터터가 서로 여러 개의 관계를 가지고 있는 것.
    - 예) 한명이 여러개의 과목을 수강, 한개의 과목은 여러명의 학생이 수강.
    - 관계형 DB에서 MHN 관계의 조인은 카테시안 곱이 발생 -> M대N를 1대N, N대1로 해소해야 한다
    위의 예)에서 '수강'이라는 엔터티를 추가적으로 도출

    (4) 필수적 관계 선택적 관계
    - 필수적 관계 : 반드시 하나가 있어야 하는 관계 '|'로 표시 ex) 고객이 반드시 있어야 계좌를 개설 기능
    - 선택적 관계 : 없을수도 있는 관계 'O'로 표시 ex)고객은 있지만 계좌가 없을수도

3 식별 관계 비식별 관계
    (1) 식별관계
    - 강한 개체는 다른 엔터티에게 의존하지 않고 독립적으로 존재.
    - 식별관계란 강한 개체의 기본키를 약한 개체의 기본키의 하나로 공유
    - 강한 개체는 식별관계로 표현되며, 실선으로 표시한다.

    (2) 비식별관계
    - 강한 개체의 기본키를 다른 엔터티의 기본키가 아닌 일반 칼럼으로 관계를 가짐.
    - 비식별 관계는 점선으로 표시

728x90

'SQL > SQLD 준비' 카테고리의 다른 글

[SQL 자격검정 실전문제] 데이터 모델링의 이해 31~52번  (2) 2023.12.06
[엔터티 식별자]  (0) 2023.11.21
[속성 (Attribute)]  (0) 2023.11.21
[엔터티 (Entity)]  (0) 2023.11.21
[3층 스키마 (3- Level Schema)]  (0) 2023.11.21