• 카테고리

    질문 & 답변
  • 세부 분야

    백엔드

  • 해결 여부

    미해결

Identifying relation 과 non-identifying relation

23.04.18 14:58 작성 23.04.18 15:44 수정 조회수 356

0

안녕하세요! 보여주신 erd에서 궁금증이 생겨서 질문 드립니다.

dms의 ReciverId과 mentions의 Receiverid 만 Non-identifying relation으로 맺어져 있고 나머지 관계들은 모두 Identifying Relation으로 맺어져 있는 이유가 뭘까요?

Non-Identifying Relation과 Identifying Relation의 차이는 Non의 경우는 부모와 자식의 관계를 맺을때 자식이 부모 없이도 독립적으로 존재 가능한 것이고, Identifying-Relation은 자식이 부모 없이는 존재가 불가능한 차이로 알고 있습니다.

DM과 Mention의 Receiver가 존재하지 않는다면, DM과 Mention의 정보가 불완전해질 것 같은데, 왜 non-identifying 일까요?

typeorm entity 코드를 봐도, DM과 User entity의 Sender와 Receiver의 코드가 완전 똑같은데, 왜 ERD에서는 Receiver는 non-identifying 이고 Sender는 identifying인지 모르겠습니다.

답변 1

답변을 작성해보세요.

0

저는 erd에서 해당 기능을 사용하지 않습니다. 애초에 제가 그렇게 지정한 적도 없습니다.

이민석님의 프로필

이민석

질문자

2023.04.18

마지막에 erdcloud 사진 보면, ReceiverId만 점선으로 이어져 있어서 여쭤봤습니다 ㅜㅜ

이민석님의 프로필

이민석

질문자

2023.04.18

그러면, nest-typerorm 의 entity 코드만 보았을때, N:N relation만 join colunm들이 Primary : true로 되어있고, 나머지 relation에서는 join column들이 nullable : true로 되어있는데, N:N 관계만 identifying relation이고, 나머지 관계들은 non-identifying relation이라고 이해하면 될까요?

 

네 점선을 제가 의도하고 만든 게 아니라서요.

보통 남의 pk가 아닌 고유한 pk가 있으면 non-identifying이 맞습니다. M:N만 identifying입니다.

이민석님의 프로필

이민석

질문자

2023.04.18

답변 감사합니다!!