초록꼬마의 devlog
article thumbnail
  • 정의 = 하나의 엔티티가 다른 엔티티(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