1対0または1(1-0..1)の関係が存在するシナリオ用のデータベースを設計しているとしましょう。例えば:
- ユーザーのセットがあり、一部の ユーザーは顧客である場合もあります。
したがって、対応する2つのテーブル、users
およびを作成しましたcustomers
が、…
…特定のSQLプラットフォームでこの状況を表現して実装する最良の方法は何ですか?私は2つの可能な解決策を検討しました:
で
users
テーブル、追加customer
のFOREIGN KEY参照のいずれであってもよく、列customers
またはNULL
マーク。customers
テーブルに、テーブルを指すuser
列(UNIQUE
制約付きで設定)を含めusers
ます。
すでにいくつかのフォーラムで同様の質問をしましたが、答えは基本的に「必要なものは何でも」「便利だと思うものは何でも」でした。このような答えは好きではありません。代わりに、DB理論の真面目な部分が必要です。1-0..1の関係についてどこで確認できますか?