1과목. 데이터 모델링의 이해
2장. 데이터 모델과 SQL
2절. 관계와 조인의 이해
# 관계(Relationship)의 개념
- 엔터티 인스턴스 사이의 논리적인 연관성
- 엔터티의 정의, 속성 정의 및 관계 정의에 따라서 다양하게 변할 수 있음
- ’관계를 맺는다‘ 라는 의미는 부모의 식별자를 자식에 상속하고, 상속된 속성을 매핑키(조인키)로 활용한다는 의미 ➪ 부모, 자식을 연결하는 것
# 관계의 분류
- 관계는 존재에 의한 관계와 행위에 의한 관계로 분류
- 존재 관계는 엔터티 간의 상태를 의미
ex) 사원 엔터티는 부서 엔터티에 소속됨
- 행위 관계는 엔터티 간의 어떤 행위가 있는 것을 의미
ex) 주문은 고객이 주문할 때 발생됨
# 조인의 의미
- 정규화는 테이블에 있는 데이터의 중복을 피하기 위해 분리함
- 두 테이블은 서로 관계를 맺게 되고, 다시 이 테이블의 데이터를 동시에 출력하거나 관계가 있는 테이블을 참조하기 위해 데이터를 연결해야 하는데 이 과정을 조인이라고 함
* 조인의 예시를 찾아서 이해할 필요가 있음
# 계층형 데이터 모델
- 자기 자신끼리 관계가 발생 ➪ 하나의 엔터티 내의 인스턴스끼리 계층 구조를 가지는 경우를 말함
- 계층 구조를 갖는 인스턴스끼리 연결하는 조인을 ‘셀프조인‘이라고 함(같은 테이블을 여러 번 조인하는 것)
* 엘리아스: 테이블의 임시 닉네임
# 상호 배타적 관계
- 두 테이블 중 하나만 가능한 관계를 말함
ex) 주문 엔터티에는 개인 또는 법인번호 둘 중 하나만 상속될 수 있음 ➪ 상호 배타적 관계
즉, 주문은 개인고객이나 법인 고객 둘 중 하나의 고객만이 가능하다는 것
'🖊️Certificate > 📌SQLD' 카테고리의 다른 글
[SQLD] 1과목 - 2장) 4절. NULL 속성의 이해 (2) | 2024.03.05 |
---|---|
[SQLD] 1과목 - 2장) 3절. 모델이 표현하는 트랜잭션의 이해 (0) | 2024.03.05 |
[SQLD] 1과목 - 2장) 1절. 정규화 (0) | 2024.03.05 |
[SQLD] 1과목 - 1장) 5절. 식별자 (0) | 2024.03.05 |
[SQLD] 과목1 - 1장) 4절. 관계 (0) | 2024.03.05 |
댓글