外部キー
参照整合性
を適用します 。これらの制約により、テーブルの行がorder_details
であることが保証されます。 フィールドorder_id
を使用 orders
を参照する テーブルにorder_id
が含まれることはありません orders
に存在しない値 テーブル。
外部キーは、機能するリレーショナルデータベースを持っている必要はありません(実際には、MySQLのデフォルトストレージ エンジンはFKをサポートしていません)が、壊れた関係や孤立した行(つまり、参照整合性)を回避するためにFKは絶対に不可欠です。 C には、データベースレベルで参照整合性を適用する機能が必要です。 ACID で 立つ。
パフォーマンスに関する懸念については、一般的にパフォーマンスコストがかかりますが、おそらく無視できるでしょう。すべての外部キー制約を設定することをお勧めします。他の方法では解決できない実際のパフォーマンスの問題がある場合にのみ、外部キー制約なしで実験してください。