だから、私はそうのように作成されたテーブルを持っていますか?かなり簡単な質問のように思えますが、それは可能かどうかですか?あなたの人の助けてくれてありがとう!外部キーの参照技術キー
1
A
答えて
1
はい - 完全に簡単です。完全な複合インデックスを指定するだけで済みます。あなたの他の表には、ここにPKを構成するこれらの4つの列を持っている必要があり、その後、FK制約は次のようになります。
ALTER TABLE dbo.YourOtherTable
ADD CONSTRAINT FK_YourOtherTable_CharacterSavingThrow
FOREIGN KEY(CharacterCode, FortitudeSaveCode, ReflexSaveCode, WilSaveCode)
REFERENCES dbo.CharacterSavingThrow(CharacterCode, FortitudeSaveCode, ReflexSaveCode, WilSaveCode)
ポイントは次のとおりです。あなたが持っている場合複合主キー(以上で構成されましたその表を参照したい他の表もすべての列を持ち、それらの列をすべてFK関係に使用する必要があります。
また、これらの2つのテーブルを結合するクエリを作成する場合は、化合物PKに含まれるすべてのカラムをにする必要があります。
これは、PKとして4つの列を使用する際の主な欠点の1つです。FK関係やJOINクエリが非常に扱いにくくなり、書き込みや使用に迷惑をかけます。そのため、そのような場合は、別の代理キーをテーブルに使用することを選択します。あなたのdbo.CharacterSavingThrow
テーブルに新しいINT IDENTITY
を導入してプライマリキーとして機能させると、はそのテーブルを参照し、そのテーブルを使用するJOINクエリを書くのがずっと簡単になります。
関連する問題
- 1. 自己参照外部キー
- 2. 同じ列の外部キーの参照
- 3. MySQLの外部キーの参照
- 4. sqlite、外部キー参照をカウントする
- 5. 外部キー参照、無効なテーブル
- 6. MySQLクエリプライマリキーを参照する外部キー
- 7. Hibernateコード生成外部キー参照オブジェクト
- 8. Linqが参照する外部キー参照データ
- 9. 外部キーを照会
- 10. 2つの列を含む主キーを持つ表への外部キー参照
- 11. POSTGRESQL外部キー2つの異なるテーブルの主キーを参照する
- 12. 円の外部キー参照の挿入MySQLとトランザクションのロールバック
- 13. Djangoモデルの複数の外部キーの参照
- 14. SQLの外部キーと他のテーブルの参照
- 15. Djangoビューのクエリと外部キーの参照
- 16. Oracleのすべての外部キー参照
- 17. 同じプライマリキーを参照する2つの外部キー
- 18. 自己参照外部キーの意味は何ですか?
- 19. SQL Serverの外部キーと参照テーブルを削除します
- 20. Laravel移行自己参照外部キーの問題
- 21. 外部キーを持つエンティティファントムテーブルとエンティティへの参照
- 22. 外部キー参照によるテーブルデータへのアクセス方法
- 23. 異なるユーザー間で外部キーを参照
- 24. 循環参照外部キーを持つDB2データベース
- 25. 外部キー参照を削除せずにプライマリキーに追加
- 26. 表示/編集中に外部キーを参照するMVC3?
- 27. 複合キーの外部キー
- 28. Objectify:外部キーの内容を照会
- 29. 主キーと外部キー?
- 30. 複合キーと外部キー
ハハ、申し分なく。どうもありがとう!私はおそらくサロゲートキーを使用すると思います...私のSQL教師はそれに合っているでしょう! = D – Jack