この記事では、特定の MYSQL テーブルに存在する外部キーのチェックを支援するツール navicat ソフトウェアを使用して、テーブルに存在する外部キーをすばやく確認できるようにします。
推奨チュートリアル: navicat グラフィック チュートリアル
#1. navicat を開き、操作するデータベースを選択します。
2. 右側の領域でテーブルを選択して、テーブル内の外部キーを表示します。具体的な操作は次の図に示すとおりです。
3. 前の手順に進みます。テーブルをクリックした後、上のメニュー バーのメニューを選択し、以下に示すように [テーブルの設計] オプションをクリックします。 ##4. 最後のステップは、テーブル内の外部キー フィールドを表示することです。操作はステップ 3 から続きます。操作は次の図に示すとおりです。設計テーブルをクリックしてインターフェイスに入ります。詳細情報がマークされています。外部キーを表示する手順は、ツールを使用してさらに詳細に説明されています。直感的です。#拡張情報
共通キーがリレーションシップの主キーの場合、この共通キーは、別のリレーションシップの外部キー と呼ばれます。外部キーは 2 つの関係間の関連リンクを表していることがわかります。別のリレーションシップの外部キーを主キーとするテーブルをマスターテーブル、外部キーを持つテーブルをマスターテーブルのスレーブテーブルと呼びます。外部キーは外部キーワードとも呼ばれます。
関数
データの一貫性と整合性を維持するための主な目的は、外部キー テーブルに格納されているデータを制御することです。 2 つのテーブルを関連付けるには、外部キーはテーブル内の列の値を参照するか、NULL 値を使用することしかできません。外部キーが使用されていない場合、値 (20140999999 など) が表 2 の学生番号フィールドに挿入されますが、この値は表 1 には存在しません。この時点で、データベースは挿入を許可します。データの関係がチェックされます。ただし、外部キーを設定する場合は、表 2 の学生 ID フィールドに挿入する値が、表 1 の学生 ID フィールドに存在する必要があります。同時に、表 1 の特定の学生番号フィールドを削除する場合は、そのフィールド値を参照する列が表 2 に存在しないことを確認する必要があります。そうしないと、そのフィールドは削除されません。これは、データの一貫性と完全性の維持と呼ばれます。右に示すように、表 2 が表 1 の特定の学生 ID を参照しているにもかかわらず、表 1 の学生 ID を削除すると、表 2 はその学生 ID がどの学生に対応するかを認識できなくなります。
データベース内のテーブルは、データの冗長性、挿入異常、削除異常、その他の現象を防ぐための仕様に準拠している必要があります。正規プロセスは、テーブルを分解するプロセスです。分解後、物の代表的な属性がさまざまなテーブルに表示されます。明らかに、それらは一貫している必要があります。たとえば、学生の代表的なデータは学生番号 012 です。これは学生テーブルでは 012 であり、成績テーブルでも 012 である必要があります。この一貫性は外部キーによって実現されます。外部キーの機能は次のとおりです。その値は別のテーブルの主キー値である必要があります。学生番号は、学生テーブルの主キーであり、成績テーブルの外部キーです。成績表の学生番号は学生名簿の学生番号でなければなりません。したがって、生徒表の生徒番号と成績表の生徒番号は一致します。外部キーの機能は、異なるテーブル内の同じものの符号の一貫性を達成することであることが直感的に理解できます。 2 外部キーで接続された 2 つのテーブルの機能実現 個別に操作する場合、外部キー機能は 2 つの方法で実現されます [4]:実行を阻止する
●テーブルから新しい行を挿入します。外部キー値がメイン テーブルの主キー値ではない場合、挿入はブロックされます。●テーブルから外部キー値を変更します。新しい行の場合は、挿入がブロックされます。 value はメイン テーブルの主キー値ではありません。変更はブロックされます。
●マスター テーブルから行が削除された場合、その主キー値がスレーブに存在する場合、その主キー値は削除されません。 table (削除したい場合は、まずスレーブ テーブルから関連する行を削除する必要があります); ●マスター テーブルは主キーの値を変更します。古い値が存在する場合、古い値は変更されません。スレーブ テーブル内にあります (変更する場合は、まずスレーブ テーブルから関連する行を削除する必要があります)。カスケード実行
●メイン テーブルから行を削除し、関連する行もテーブルからまとめて削除します。#●主キーの値を変更します。メインテーブル、テーブルの関連行の外部キー値をまとめて変更します。ユーザーが選択できる 2 つの方法が提供されています。どの方法を選択しても、テーブルに余分な行は存在しません。別の観点から見ると、スレーブ テーブルとマスター テーブルのフラグの不一致を拒否して、マスター テーブルのフラグとの整合性を確保することで、同じことが実現されます。
●2つの実装方法、以下の方法から選択可能: インターフェース: カスケード更新とカスケード削除の2つの選択ボックスを設定、選択するとカスケード実行、選択しないとカスケード実行; コマンド: E)kSCM)E と RESTRICT を 2 つのオプションのオプションとし、CASCADE はカスケード実行を意味し、RESTRICT は実行の禁止を意味します。以上がnavicat のテーブル内の外部キーを表示する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。