Database/MySQL

[ERD] 관계선(실선, 점선) 차이

08genie 2023. 9. 24. 17:20
반응형

실선

실선(Identifying) : A테이블과 B테이블은 "식별관계"

  • 부모테이블[A테이블]의 PK가 외래키로써, 자식테이블[B테이블]의 PK에 포함되는 경우
  • 부모, 자식 관계(부모가 있어야 자식이 생기는 경우)
  • 즉, 자식 테이블[B테이블]이 부모 테이블의 FK이면서 PK인 경우

ex) User 테이블과 UserComment 테이블이 있을 경우, UserComment는 User가 반드시 있어야 존재할 수 있음

실선 테이블
FK가 PK에 포함되는 경우


점선

점선(Non-Identifying) : A테이블과 B테이블은 "비식별관계"

  • 부모테이블[A테이블]의 PK가 외래키로써, 자식테이블[B테이블]의 PK가 아닌 일반 속성이 되는 경우
  • 부모, 자식 관계가 아닌 모든 경우(부모가 없어도 자식이 생기는 경우)

ex) User 테이블과 Task 테이블이 있을 경우, Task는 User 없이도 존재 할 수 있음

실선 테이블
FK가 PK에 포함되지 않는 경우


** 이해가 잘 안된다면, 모든 테이블의 PK를 Auto Increment 형식의 숫자로 지정하고, 모두 "비식별관계"로 표시해도 무방합니다.

 

 

Reference : https://sddev.tistory.com/81

 

반응형