MySQL の外部キーは、制約関係とデータ保守の役割を果たし、次の 3 つの主な機能があります。テーブル間の参照整合性を確保し、テーブル レコードの削除または更新によって引き起こされるデータの不整合を防止します。ルール カスケードにより、テーブル間の操作が強制されます。参照整合性を確保し、孤立レコードを防止します。インデックスを使用してクエリのパフォーマンスを最適化し、外部キーを使用して特定の主キーを参照するサブテーブル内のレコードを迅速に検索します。
MySQL における外部キーの役割
外部キーは、MySQL データベースで重要な役割を果たします。テーブル間の関係の制約および維持者。機能 1: データの整合性の確保
外部キーの機能は、テーブル間の参照関係が常に一貫していることを保証することです。たとえば、Orders テーブルと Products テーブルでは、Orders テーブルの Product ID 外部キーは Products テーブルの Product ID 主キーを参照します。 Products テーブルでレコードが削除されると、外部キー制約により、そのレコードを参照する Orders テーブルのレコードがすべて削除されるまで操作が実行されなくなり、データの不整合が防止されます。機能 2: データ カスケードの強制
外部キーを使用すると、テーブル間のカスケード操作を強制できます。テーブルの主キー レコードを削除または更新するときに、アクション (そのレコードを参照するサブテーブル レコードの更新または削除) を自動的にカスケードするように外部キー ルールを設定できます。これにより、参照整合性が保証され、連鎖的な削除または更新によって発生する孤立したレコードが防止されます。機能 3: クエリ パフォーマンスの最適化
外部キー インデックスを使用することにより、MySQL はテーブル間のクエリ パフォーマンスを最適化できます。インデックスを使用すると、特定の主キー レコードを参照する子テーブル内のレコードをすばやく見つけることができるため、大量のデータをスキャンする必要性が軽減されます。これは、複数のテーブルが関係する大規模なクエリの場合に特に重要です。例
次の例は、orders テーブルと products テーブルの間の外部キー関係を示しています。1 2 3 4 5 6 7 8 9 10 11 12 13 |
|
order テーブルの
product_id 列は、
products テーブルの
product_id 列への外部キーです。この外部キー関係により、各注文が有効な商品を参照することが保証されます。
以上がmysql における外部キーの役割の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。