私はSQL Serverの1対多、多対多の関係を作成する方法を知っていますが、1対1の関係を作成することは可能ですか? 1から0または1の関係を作成することは可能ですか?Sqlの関係
Sqlの関係
答えて
はい、ちょうど両方のエンティティにUNIQUE
キー定義、リンクテーブルに両方のエンティティのPRIMARY KEY
Sを置く:、
entityA entityB
1 2
:entityA = 1
がentityB = 2
に関連している場合、このように
myrel(entityA, entityB, UNIQUE(entityA), UNIQUE(entityB))
をentityA = 1
も他のentityB
にもentityB = 2
も他のいずれにも関連付けることはできません。entityA
entityA entityB
UNIQUE(entityA)
UNIQUE(entityB)
CHECK(entityA < entityB)
と変換:
あなたの関係は対称ある場合は、追加CHECK
constrantを定義する(すなわちentityA
とentityB
は、同じドメインともentityA
へentityB
に関連する意味entityA
entityB
に関連に属しています)次のクエリを使用して正規化された正規化された関係:
SELECT entityA, entityB
FROM myrel
UNION
SELECT entityB, entityA
FROM myrel
これは(0-1):(0-1)
の関係です。
あなたはそれが1:1
関係になりたい場合は、entityA
とentityB
両方のドメインであることを、このテーブルを定義します。
myrel(entityA, entityB, UNIQUE(entityA), UNIQUE(entityB))
A(id, PRIMARY KEY(id), FOREIGN KEY(id) REFERENCES myrel (entityA))
B(id, PRIMARY KEY(id), FOREIGN KEY(id) REFERENCES myrel (entityB))
いずれかの表の定義からFOREIGN KEY
を除去することにより、あなたはの対応する部分を変更します関係は1
から(0-1)
までです。
はい、親テーブルの主キーへの外部キーは、従属テーブルの主キーまたは代替キーにするだけです。
約1〜0または1の関係は? –
私が説明したことは、1対0または1の関係です。親テーブルのすべての行の子テーブルにレコードがある必要はありません。 –
2つの方法: 1)pk-pk 1:1の関係。表AおよびBは両方ともPKを有する。 1関係
又は
2)FK/UC-PK 1:1の関係A.のPKにB PKからFKを作成これは 'B' 1のFK側になります。テーブルAにはPKがあり、テーブルBにはAへの外部キーがありますが、BのFKはBのPKにありません。次に、BのFKフィールドにUCを作成します。
約1〜0または1の関係は? –
方法1では、AとBの両方にどのように新しいエントリを挿入しますか?方法2は最終的に「1対0または1」の関係ではありませんか? –
@ArsenMkrt:FKをnullにします。 @Jonathan:方法1は簡単に挿入できます。 BはAに依存するので、最初に行をAに挿入し、次にBの行を挿入します.AはBを指しておらず、BはAを指しています。方法2は1..0..1の関係ではないFKをヌル可能にしないようにします.FK側がオプションの場合はオプションになります。 –
- 1. SQLの関係
- 2. SQLは関係
- 3. SQLデータベーステーブルの関係?
- 4. SQLテーブルの関係
- 5. SQLの関係エラー
- 6. SQL - 依存関係
- 7. コード内のSQLの関係
- 8. SQLのSQLでの関係部
- 9. 階層関係のSQL
- 10. C#のSQL依存関係
- 11. テーブルの関係sql、php
- 12. SQL Alchemy:孫との関係
- 13. SQLの多対多関係
- 14. linqとSQLの関係
- 15. マウスカーソルとSQLカーソルの関係
- 16. SQL SELECTクエリの関係テーブル
- 17. SQL関数の依存関係
- 18. 3つの関係を持つSQL多対多の関係
- 19. SQL外部キー関係
- 20. 再帰関係SQLエラー
- 21. SQL親子関係クエリ
- 22. PocketPCへのSQL CEの依存関係
- 23. SQL JOBのステップの依存関係
- 24. NoSQLとSQLとの関係の使用
- 25. SQLの多対多テーブルの関係
- 26. 多対多のSQLの関係
- 27. SQL Serverの問題の親子関係
- 28. SQLサーバーのER図の関係
- 29. SQL Server:多対多の関係
- 30. SQL Serverと関係のC#DataSet
約1〜0または1の関係は? –