テーブルに外部キーを設定すると、参照整合性が実現されます。
#参照整合性では、存在しないエンティティへの参照が関係内で許可されないことが必要です。 エンティティの整合性は、データの一貫性を確保するためにリレーショナル モデルが満たさなければならない整合性制約です。参照整合性は、参照整合性とも呼ばれます。 (推奨される学習: MySQL ビデオ チュートリアル )
参照整合性は、リレーショナル モデルの完全な制約の 1 つであり、データ整合性の一種です 。その他には次のようなものがあります。エンティティの整合性、ユーザー定義の整合性。
参照整合性ルール: 属性または属性グループ F が基本リレーションシップ R の外部キーである場合、それは基本リレーションシップ S (基本リレーションシップ R の主キー Ks に対応します)と S は必ずしも異なる関係ではありません)、F 上の R の各タプルの値は次のようになります:
(1) NULL 値、F の各属性値は NULL 値です。 (2) S のタプルの主キー値 (主コード値)。 つまり、参照される関係の属性値は、参照される関係内で見つかるか、null 値を取る必要があります。そうでない場合は、データベースのセマンティクスに準拠しません。テーブルのデータの更新、削除、挿入などの実際の操作では、関連する別のテーブルのデータを参照することで、テーブルのデータ操作が正しいかどうかを確認し、間違っている場合は操作が正しく行われません。拒否されましたプロパティ
参照整合性はテーブル間ルールに属します。永続的な関係を持つ関連テーブルの場合、レコードを更新、挿入、または削除するときに、一方のみが変更され、他方は変更されないと、データの整合性が影響を受けます。親テーブル キー値が入力された後、子テーブルのキー値はそれに応じて変更されません。親テーブルのレコードを削除した後、子テーブルの対応するレコードは削除されないため、これらのレコードは孤立レコードになります。子テーブルに挿入されたレコードの場合、親テーブルには対応するキーワード値のレコードが存在しません。などです。これらの設計テーブル間のデータの整合性は、総称して参照整合性と呼ばれます。
参照整合性は、関連する 2 つのテーブル間の制約です。具体的には、スレーブ テーブルの各レコードの外部キーの値がマスター テーブルに存在する必要があります。したがって、2 つのテーブルの間にリレーションシップが確立されている場合、テーブルの場合、一方のリレーションシップに対する操作は、もう一方のテーブルのレコードに影響を与えます。参照整合性が実装されている場合、メイン テーブルに関連レコードがない場合、関連テーブルにレコードを追加できません。関連テーブルに一致するレコードがある場合、メイン テーブルのレコードを削除することはできません。また、関連テーブルに関連レコードがある場合、メイン テーブルの主キー値を変更することはできません。
つまり、参照整合性が実装された後、システムはテーブル内の主キー フィールドを操作するときに主キー フィールドを自動的にチェックして、フィールドが追加、変更、または削除されたかどうかを確認します。主キーへの変更が参照整合性要件に違反する場合、システムは参照整合性を自動的に適用します。 MySQL 関連の技術記事の詳細については、MySQL チュートリアル
列にアクセスして学習してください。以上がテーブルに外部キーを設定すると、どのようなタイプのデータ整合性が実現されますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。