본문 바로가기
Spring/JPA

식별 관계 비식별 관계

by 행운의나무 2021. 7. 13.
728x90
반응형

용어

  • 기본키 : 테이블에서 row(행)를 구분 할 수 있는 column(열, 필드명)
  • 외래키 : 테이블간의 참조관계를 나타내는 column
  • 참조 관계에서 두 테이블 간의 관계에 따라 식별, 비식별 관계로 나눌 수 있다.

식별 관계

  • 부모테이블 기본키(PK)가 자식 테이블의 외래키(FK)이면서, 기본키(PK)로 사용되는 관계이다.
  • 자식 테이블의 row를 추가할 때(데이터를 추가하려고 할 때) 부모 테이블에 참조하려는 row가 없다면(데이터가 없다면) 자식테이블에 데이터를 생성할 수 없다.

비식별 관계

  • 자식 테이블에서 참조된 외래키가 기본키가 아닌 일반 컬럼으로 참조되는 관계이다.
  • => 부모테이블의 기본키(PK)가 자식테이블의 외래키(FK)로만 사용되는 관계
  • 자식 테이블의 row를 추가할 때 부모 테이블의 참조 row가 없어도 자식 테이블의 row를 추가할 수 있다.
  • => 부모 테이블에 데이터가 없어도 자식테이블에 데이터를 추가할 수 있다.

정리

  • 테이블 설계 시 비식별 관계로 테이블을 설계하는 것을 권장한다.
    • 식별 관계를 사용할 경우 데이터의 정합성을 보장하지만 비즈니스 로직이 변경되면 테이블 관리가 힘들어진다.
      • 정합성 : 데이터 들의 값이 서로 일치함
  • 비식별관계를 이용할 경우 정합성을 유지하기 위해 별도의 비즈니스 로직이 필요하다.
  • 비식별 관계는 데이터 무결성을 보장하지 않는다.
    • 무결성 : 데이터 값이 정확한 상태

 

쿠팡으로 연결 클릭

 

제주삼다수 그린

COUPANG

www.coupang.com

파트너스 활동을 통해 일정액의 수수료를 제공받을 수 있음

반응형