これは初めてのスタックオーバーフローでの投稿です。私は次のような状況をモデリングするのに苦労しています。助けを求めていた。ここでデータベーステーブルの設計(ユーザー、受信者、アドレス)
は、ビジネスルールです:
- ユーザーは、受信者との多くの関係に0..1を持っています
- ユーザーが0..1を持っている(例えば、ユーザは、ゼロまたは多数の受信者を持つことができます)住所と多くの関係に:
- 受信者がアドレスと1対1の関係を持っている(例えば、ユーザは、ゼロまたは多くのアドレスを持つことができます)(例:受信者がアドレスを持っている必要があります)これは私が持っているものである
遠い:
- ユーザー(ユーザーID PK)
- 受信者(RecipientID PK、ユーザーID NOT NULL FK、あるAddressId NOT NULL FK)
- アドレス(あるAddressId PK、ユーザーID NULL FK)
本当に気になります私は、アドレステーブルのUserIDはnull可能でなければならないと私はそれを回避方法が表示されません。
ありがとうございました。
メハニーがコメントに書いたように、ユーザーと住所の間に関係テーブルを追加することができます。 rIDはヌル可能である可能性があり、アドレステーブル上にリレーションを持たないはずです。関係を保持するピボット・テーブルを使用できます。 Ex。 UserAddressTable:ID、AddressID、UserID – mehany