返信がゼロまたは多数になる可能性のあるチケット/質問があるとします。
'reply'テーブルと'ticket'テーブルは2つの方法で関連付けることができます。
最初の方法:
Ticket(**ticket_id**, title, message) //ticket_id: PK
Reply(**reply_id**, reply_message, ticket_id) //reply_id: PK and ticket_id: FK
2番目の方法:
Ticket(**ticket_id**, title, message) //ticket_id: PK
Reply(**reply_id**, **ticket_id**, reply_message) //reply_id: PK and ticket_id: FK & PK
私の意見では、どちらも正しいと思います。
私が見ているように、2番目の方法での返信は、返信がチケットに強く結びついているため、弱いエンティティと見なされます。ただし、プログラミングレベルでの処理が簡単なため、最初の方法を好みます。最初の方法では、1つのPKを処理するだけで済みます。同意しますか?なぜそしてなぜそうではないのですか?。
注:チケットと返信はモックアップサンプルです。