現時点ではデータベースを構築していませんが、ER ダイアグラムとテーブルのリストを使用してデータベースの計画について学習している段階です。
1 対 1 の関係とは何か、いつ使用するか、いつ避けるべきかなどを理解しています。理解できないのは、それらがどのように実装されているかです。どちらも同じ主キーを持っていますか? それとも、単に多対多の関係のように外部キーを配置するだけですか?
現時点ではデータベースを構築していませんが、ER ダイアグラムとテーブルのリストを使用してデータベースの計画について学習している段階です。
1 対 1 の関係とは何か、いつ使用するか、いつ避けるべきかなどを理解しています。理解できないのは、それらがどのように実装されているかです。どちらも同じ主キーを持っていますか? それとも、単に多対多の関係のように外部キーを配置するだけですか?
通常、テーブルの 1 つで、他のテーブルの主キーを指す null 以外の外部キーとしてこれを実装し、この外部キーに一意の制約を追加します。
チェック制約を追加して、テーブルのすべての外部キーが他のテーブルの主キーとして表示されるようにすることもできますが、そうすると、2 つのテーブルの項目の追加と削除がかなり難しくなります。
他の 2 つのオプションは次のとおりです。