私は 2 つのクラスを持ってUser
いStatus
ます。ユーザーにはいくつかのステータスがありますが、これは当然のMany-to-One
関係であり、DB テーブルに簡単にマップできます。
ただし、この要件では、ユーザーが「現在の」ステータスを維持する必要もあります。つまり、User
テーブルでは、テーブルへの外部キーが必要Status
です。この結果、2 つのテーブル間に反対方向の 2 つの外部キーが存在します。
これの明らかな問題の 1 つは、レコードが 2 つのテーブルに挿入されると、どちらも削除できないため、一方のテーブルから削除すると、もう一方のテーブルの外部キーに違反することです。
この状況に最適な設計は何ですか?