ホームページ >データベース >mysql チュートリアル >データベースの主キー、外部キー、インデックスを理解する方法
データベースの主キーは、レコードを一意に識別できる属性または属性グループを指します。外部キーは、他のテーブルとの接続を確立するために使用される別のテーブルの主キーを指します。インデックスは、レコード
#[推奨コース:データベース チュートリアル]
データベースの主キー
データベースの主キーは、属性グループ内のレコードを一意に識別できる属性または属性グループを指します。テーブル内に存在できる主キーは 1 つだけであり、それを繰り返したり、NULL にしたりすることはできません。主キーは多くの場合、データの不整合を防ぐために外部キーと参照整合性制約を形成します。データベース管理システムでは主キーに対して一意のインデックスが自動的に生成されるため、主キーは特別なインデックスになります。 例:学生表(学号,姓名,班级)各学生の学籍番号は一意であるため、学生番号はは主キーです
课程表(课程ID,课程名)コース ID は一意であるため、主キーです
成绩表(学号,课程ID,成绩)スコア テーブルの単一の属性ではレコードを識別できません。学生番号と学生番号の組み合わせが必要です。コース ID。レコードを識別する役割を果たすため、この 2 つの組み合わせが主キーです
データベース内の外部キー
外部キーは関係を確立するために使用されます別のテーブルとの関連付けは、別のテーブル内のレコードを決定するフィールドです。外部キーは別のテーブルの主キーであり、複数指定して繰り返すことも、NULL 値にすることもできます。外部キーの目的は、テーブル内のデータの一貫性を保つことです例:上記の場合、学生番号は成績テーブルの主キーではありませんが、主キーです。したがって、スコア テーブルの学生番号を学生テーブルの外部キーと呼ぶことができます。データベースのインデックス
インデックスは、特定の値を持つクイック検索レコードを参照します。検索を容易にし、アクセスを高速化することを目的としており、一定の規則に従って作成され、ソートの役割を果たします。主キー、外部キー、インデックスの違い
これら 3 つの違いは次のとおりです
##主キー |
外部キー | インデックス | |
#レコードを一意に識別します。重複または null 値は許可されません。 | は別のテーブルの主キーであり、重複およびnull 値は許可されます | 重複する値はありませんただし、null 値は存在する可能性があります | |
データの整合性を確保するために使用されます | 他のテーブルとの接続を確立します | アクセス速度の向上 | |
主キーは 1 つだけです | 主キーは 1 つだけです。 multiple | There can be multiple unique Indexes |
以上がデータベースの主キー、外部キー、インデックスを理解する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。