ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [DB] 스키마 설계 - 식별 비식별 관계
    DB 2023. 6. 29. 22:31

    데이터베이스 설계에서 테이블 간의 관계를 설정할 때 외래키를 사용합니다.

     

    A 테이블 ,B 테이블 관계 설정을 하면 부모 테이블과 자식 테이블이 필연적으로 만들어지는데 외래키가 설정되는 테이블을 자식 테이블이라 했을 때 외래키가 자식 테이블에서 PK 또는 FK로 설정할 수 있습니다.

     

    PK로 사용 하는것을 식별 관계, FK로 사용하는 것을 비식별 관계라고 합니다.

     

    식별과 비식별 사이에는 차이점이 있습니다. 바로 부모 테이블에 레코드에 종속적이게 되는가!

     

    PK 설정인 식별관계에서는 부모 테이블 PK가 존재하지 않으면 자식 테이블을 생성할 수 없지만

     

    FK 설정인 비식별관계에서는 부모 테이블 PK가 존재하지 않아도 자식 테이블의 PK로 생성할 수 있다는 차이입니다.

     

    식별관계로 설정 할 경우 부모 테이블에 의존적이다 보니 잘못된 데이터를 방지할 수 있습니다.(데이터 정합성)

     

    하지만 요구상항의 변경으로 부모 테이블과 의존정을 끈어야 한다면 방법이 없다.

     

    비식별관계로 설정 했을 경우 잘못된 데이터가 들어갈 수 있으니 애플리케이션 단에서 데이터 정합성을 꼼꼼히 따져야 합니다.

     

    부모 테이블과 의존성이 없으니 변경에 굉장히 자유롭습니다.

     

    따라서 이렇게 서비스, 요구사항을 받아들일 수 있는 확성장을 따져서 외래키 관계를 설정해줘야 합니다.

    'DB' 카테고리의 다른 글

    DB Lock  (0) 2024.12.07
    [DB] MySQL Union에 대해서  (0) 2023.06.22
    [Error] DB Event 실행 후 적용 안됨  (0) 2023.06.02
    [DB] 권한 설정  (0) 2023.05.10
Designed by Tistory.