- 정의 = 하나의 엔티티가 다른 엔티티(x) 자기 자신(o)과 관계 맺는 경우
- 용도 = 조직과 같은 계층적 구조 표현/추가/삭제 등에 유용
e.g.1) '부서'와 '부서' 사이의 재귀적 관계 = '상/하위 부서' 관계
e.g.2) '과목'과 '과목' 사이의 재귀적 관계 = '선수과목' 관계 - 특징
- mandatory 관계를 가질 수 없음 → 반드시 optional 관계
- 비식별 관계로 작성해야 함
- 식별 관계로 작성할 경우 FK가 PK가 되어 NULL을 허용할 수 없게 되는데, NULL이 허용되지 않은 경우 첫번째 생성되는 레코드부터 참조할 수 있는 키가 없는 바, 데이터 입력이 원천적으로 불가능해짐
- 비식별 관계로 만들어지는 FK에 NULL을 허용하게 해야 함
- 참조되는 컬럼 = PK vs 참조하는 컬럼 = FK
- FK 컬럼은 한 테이블 내에서 다른 행의 PK 컬럼 참조
- FK와 PK 컬럼으로 재귀 호출해서 결과 추출
References
'back-end dev > database' 카테고리의 다른 글
[SQL] GROUP BY (0) | 2023.09.04 |
---|---|
데이터베이스 모델링 실습 중 궁금한 점 (0) | 2022.10.07 |
OSX DBeaver 설치 및 세팅 (0) | 2022.10.06 |
MySQL 설치 및 세팅 (0) | 2022.10.06 |
[knou] 정규화 (0) | 2022.07.20 |