[解決済み] 外部キーの命名規則
2022-04-21 02:12:19
質問
外部キーを初めて使うのですが、標準的な命名規則はありますか?
これらのテーブルがあるとします。
task (id, userid, title)
note (id, taskid, userid, note);
user (id, name)
タスクがノートを持つ場合、タスクはユーザーによって所有され、ユーザーはノートを作成します。
この場合、3つの外部キーはどのような名前になるのでしょうか?あるいは、その代わりに は、全く問題ないのでしょうか ?
アップデート : この質問は、外部キー名に関するもので、フィールド名ではありません
どのように解決するのですか?
SQL Server の標準的な規約は以下の通りです。
FK_ForeignKeyTable_PrimaryKeyTable
ですから、例えばノートとタスクの間のキーは、次のようになります。
FK_note_task
そして、タスクとユーザーの間のキーは、次のようになります。
FK_task_user
これにより、どのテーブルがキーに関与しているかが「一目瞭然」になり、特定のテーブル(最初の名前)がどのテーブルに依存しているか(2番目の名前)を簡単に確認することができます。このシナリオでは、キーの完全なセットは次のようになります。
FK_task_user
FK_note_task
FK_note_user
つまり、タスクはユーザーに依存し、ノートはタスクとユーザーの両方に依存していることがわかります。
関連
-
EF Exception Inquiry (エンティティオブジェクトは、IEntityChangeTrackerの複数のインスタンスから参照できません。)...
-
mybatis バッチアップデートのSQL文は正常だが、SQLの文法が悪い [] エラーが報告される
-
[解決済み] Pythonの変数名や関数名の命名規則について教えてください。
-
[解決済み] T-SQLを使用して外部キー制約を一時的に無効にするにはどうすればよいですか?
-
[解決済み] 外部キー制約のあるテーブルを切り捨てるには?
-
[解決済み] アプリケーション開発者が陥りやすいデータベース開発の失敗例【終了しました
-
[解決済み] redis-serverを停止するにはどうすればよいですか?
-
[解決済み] データベース駆動型アプリケーションのユニットテストに最適な戦略とは?
-
Sqliteです。FOREIGN KEY 制約は、エラー理由の削除に失敗しました。
-
[解決済み】マイグレーション。外部キー制約を追加できない
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
親行が削除または更新できない: 外部キー制約に失敗 解決策
-
Hibernateでhibernate.propertiesが見つからない問題とデータベース方言の更新の問題
-
解決策: テーブルの定義が正しくありません。
-
AttributeError: 'function' オブジェクトには 'cursor' という属性がありません。
-
2021年版Redisインタビューの質問(継続更新中)
-
MySql への JDBC 接続エラー com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException.MySQLSyntaxErrorException: 不明なデータベース 'test'
-
[解決済み] データベースの水平方向と垂直方向の拡大縮小の違い【終了しました
-
Net connection pool configuration Timeout expired. 操作の完了前にタイムアウト時間が経過したか、サーバーが応答していない。"
-
[解決済み] 既存データベースのERDを生成する【終了しました
-
[解決済み] PostgreSQLでタイムスタンプを自動更新する方法