ホームページ > データベース > mysql チュートリアル > 外部キーは一意でないインデックスを参照できますか?

外部キーは一意でないインデックスを参照できますか?

Linda Hamilton
リリース: 2025-01-08 08:52:41
オリジナル
505 人が閲覧しました

Can Foreign Keys Reference Non-Unique Indexes?

データベース設計における非一意インデックスに対する外部キー制約

データベース設計では、外部キー制約によって 2 つのテーブル間の関係が確立され、一方のテーブルの行がもう一方のテーブルの有効な行を参照するようになります。ただし、外部キーは一意のインデックスを参照する必要がある、つまり行間に 1 対 1 の関係があることが一般的に受け入れられています。

ただし、MySQL などの特定のデータベース管理システムでは、外部キーが一意でないインデックスを参照する可能性があります。これは標準の SQL 解釈から逸脱しています。

MySQL のドキュメントによると、外部キーは一意でないキーを参照できます。これは標準の拡張機能です。ただし、外部キー参照に一意でない列を使用すると、実際の問題が発生する可能性があることに注意することが重要です。

たとえば、参照されるテーブルの列に重複した値が含まれており、「ON DELETE CASCADE」制約が適用されている場合、カスケード削除の動作があいまいになります。したがって、一意のキー (主キーを含む) と非 null キーを参照する外部キーを使用することを強くお勧めします。

要約すると、一部のデータベース システムでは一意でないインデックスに外部キーを作成することは可能ですが、データ整合性の維持において不整合や曖昧さが生じる可能性があるため、そのような作成は避けることをお勧めします。

以上が外部キーは一意でないインデックスを参照できますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート