DB의 식별 관계와 비식별 관계

song yuheon·2023년 10월 5일
0

Database

목록 보기
2/2
post-thumbnail

테이블의 관계란?


데이터베이스에서 여러 테이블을 관리하다 보면 한 테이블의 정보가 다른 테이블과 연결되어 있는 경우가 많다.
이러한 연결을 '관계'라고 한다.


관계의 종류 = 식별 vs 비식별

관계는 크게 '식별 관계'와 '비식별 관계'로 나눌 수 있다.

  • 식별 관계
    아이가 태어났을 때 부모님의 성을 그대로 받는 경우 이것이 바로 식별 관계이다.
    자식 테이블이 부모 테이블의 '이름(기본키)'을 그대로 받아서 사용하는 것이다.

  • 비식별 관계
    부모님의 성은 받지 않고 다른 성을 가지게 되는 상황을 생각해보자.
    부모님의 이름(기본키)은 알고 있지만 나만의 이름을 가지는 것이다.


비식별 관계의 세부 분류

  • 필수적 비식별 관계
    '항상' 부모님의 성을 알아야 하는 상황 즉 이름을 모르는 경우는 없다.

  • 선택적 비식별 관계
    부모님의 성을 모를 수도 있다.
    이름을 모르는 경우가 있을 수 있다.


식별 vs. 비식별: 언제 무엇을 사용할까?**

  • 식별 관계의 장점
    연결된 테이블 간의 관계가 명확하게 보인다.
    특정 상황에서는 조인 없이도 원하는 정보를 빠르게 찾을 수 있다.
  • 비식별 관계의 장점
    더 유연하고 복잡하지 않다.
    기본키 관리도 간단하다.

ORM에서의 추천 방식


ORM 예를 들면 JPA를 사용하는 프로젝트에서 추천

  • 비식별 관계를 주로 사용하여야 한다.
  • 기본키로는 대량의 데이터를 안정적으로 처리할 수 있는 LONG 타입을 사용하는 것이 좋다.

profile
backend_Devloper

0개의 댓글

관련 채용 정보