ホームページ >よくある問題 >テーブル間の関係を確立するためにデータベースが使用するもの

テーブル間の関係を確立するためにデータベースが使用するもの

青灯夜游
青灯夜游オリジナル
2021-01-30 15:14:3016618ブラウズ

データベースは「外部キー」を使用してテーブル間の関係を確立します。外部キーを使用すると、マスター テーブルとスレーブ テーブル間の関連付けを確立し、2 つのテーブル内のデータの接続を確立し、2 つのテーブル内のデータの一貫性と整合性を制約できます。

テーブル間の関係を確立するためにデータベースが使用するもの

このチュートリアルの動作環境: Windows 7 システム、mysql バージョン 5.8、Dell G3 コンピューター。

データベースは「外部キー」を使用してテーブル間の関係を確立します。

データベースの外部キー制約 (FOREIGN KEY) はテーブルの特別なフィールドであり、多くの場合、主キー制約と一緒に使用されます。関連付けられた 2 つのテーブルの場合、関連付けられたフィールドの主キーが配置されているテーブルが主テーブル (親テーブル) となり、外部キーが配置されているテーブルが副テーブル (子テーブル) になります。

外部キーは、マスター テーブルとスレーブ テーブル間の関連付けを確立し、2 つのテーブルのデータの接続を確立し、2 つのテーブルのデータの一貫性と整合性を制約するために使用されます。たとえば、果物の屋台には、リンゴ、桃、プラム、スイカの 4 種類の果物しかありません。すると、果物を買いに果物屋に来たとき、選択できるのはリンゴ、桃、プラム、スイカだけです。は購入できません。

レコードがメイン テーブルから削除されると、それに応じてテーブルの対応するレコードも変更する必要があります。テーブルには 1 つ以上の外部キーを含めることができ、外部キーは null にすることもできます。null でない場合、各外部キーの値はメイン テーブルの主キーの特定の値と等しくなければなりません。

外部キーを定義するときは、次の規則に従う必要があります。

  • メイン テーブルはデータベースにすでに存在しているか、現在作成中のテーブルである必要があります。後者の場合、マスターテーブルとスレーブテーブルは同一のテーブルとなり、このようなテーブルを自己参照テーブルと呼び、この構造を自己参照整合性と呼びます。

  • メインテーブルには主キーを定義する必要があります。

  • 主キーには null 値を含めることはできませんが、外部キーでは null 値が許可されます。つまり、外部キーのすべての非 null 値が指定された主キーに出現する限り、外部キーの内容は正しいことになります。

  • メインテーブルのテーブル名の後に列名または列名の組み合わせを指定します。この列または列の組み合わせは、メイン テーブルの主キーまたは候補キーである必要があります。

  • 外部キーの列数は、メイン テーブルの主キーの列数と同じである必要があります。

  • 外部キーの列のデータ型は、メイン テーブルの主キーの対応する列のデータ型と同じである必要があります。

その他の関連記事については、mysql ビデオ チュートリアル

をご覧ください。

以上がテーブル間の関係を確立するためにデータベースが使用するものの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。