ホームページ >データベース >mysql チュートリアル >データベースの主キー、外部キー、インデックスを理解する方法

データベースの主キー、外部キー、インデックスを理解する方法

清浅
清浅オリジナル
2019-03-20 15:21:115720ブラウズ

データベースの主キーは、レコードを一意に識別できる属性または属性グループを指します。外部キーは、他のテーブルとの接続を確立するために使用される別のテーブルの主キーを指します。インデックスは、レコード

データベースの主キー、外部キー、インデックスを理解する方法

#[推奨コース:データベース チュートリアル]

データベースの主キー

データベースの主キーは、属性グループ内のレコードを一意に識別できる属性または属性グループを指します。テーブル内に存在できる主キーは 1 つだけであり、それを繰り返したり、NULL にしたりすることはできません。主キーは多くの場合、データの不整合を防ぐために外部キーと参照整合性制約を形成します。データベース管理システムでは主キーに対して一意のインデックスが自動的に生成されるため、主キーは特別なインデックスになります。

例:

学生表(学号,姓名,班级)

各学生の学籍番号は一意であるため、学生番号はは主キーです

课程表(课程ID,课程名)

コース ID は一意であるため、主キーです

成绩表(学号,课程ID,成绩)

スコア テーブルの単一の属性ではレコードを識別できません。学生番号と学生番号の組み合わせが必要です。コース ID。レコードを識別する役割を果たすため、この 2 つの組み合わせが主キーです

データベース内の外部キー

外部キーは関係を確立するために使用されます別のテーブルとの関連付けは、別のテーブル内のレコードを決定するフィールドです。外部キーは別のテーブルの主キーであり、複数指定して繰り返すことも、NULL 値にすることもできます。外部キーの目的は、テーブル内のデータの一貫性を保つことです

例:

上記の場合、学生番号は成績テーブルの主キーではありませんが、主キーです。したがって、スコア テーブルの学生番号を学生テーブルの外部キーと呼ぶことができます。


データベースのインデックス

インデックスは、特定の値を持つクイック検索レコードを参照します。検索を容易にし、アクセスを高速化することを目的としており、一定の規則に従って作成され、ソートの役割を果たします。

主キー、外部キー、インデックスの違い

これら 3 つの違いは次のとおりです

定義関数数値 要約: 以上がこの記事の全内容です。

##主キー
外部キー インデックス
#レコードを一意に識別します。重複または null 値は許可されません。 は別のテーブルの主キーであり、重複およびnull 値は許可されます 重複する値はありませんただし、null 値は存在する可能性があります
データの整合性を確保するために使用されます 他のテーブルとの接続を確立します アクセス速度の向上
主キーは 1 つだけです 主キーは 1 つだけです。 multiple There can be multiple unique Indexes

以上がデータベースの主キー、外部キー、インデックスを理解する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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