キーはリレーショナル データベースで重要な役割を果たし、リレーショナル データベース モデルの重要な部分です。次の記事では、データベースの一般的なキーについて説明します。お役に立てば幸いです。
なぜキーを使用する必要があるのでしょうか?
実際のアプリケーションでは、データを保存するために必要なテーブルの数が多く、異なるテーブルも相互に関連しています。 [関連ビデオの推奨: MySQL チュートリアル ]
さらに、テーブルには大量のデータが保存されます。テーブルは多くの場合、分類も整理もされていない状態で、数千件のレコードを保存するまで拡張されます。
このようなデータセットから特定のレコードを取得するには、いくつかの条件を適用する必要がありますが、重複したデータがあり、いくつかの条件を適用してデータを取得しようとするたびに、エラー データが取得されます。正しいデータが得られるまで何回試行する必要がありますか?
これをすべて回避するには、テーブル内のデータ行を簡単に識別できるようにキーを定義します。
データベースでは、キーはテーブル間の関係を確立および識別するために使用され、またテーブル内のレコードまたはデータ行を一意に識別するためにも使用されます。単一の属性または属性のセットを指定でき、その組み合わせがキーとして機能します。
キーの種類
これらのキーを理解するために、いくつかの一般的なキーの種類を紹介します。例:
student_id | name | age | college_id | phone |
1 |
小华 | 20 | 01 | 1561258xxx |
2 | 小红 | 21 | 01 | 1771258xxx |
3 | 小明 | 20 | 02 | 1831258xxx |
これは、student_id、name、subject_id、age、phone フィールドを持つ単純な Student テーブルであることがわかります。
候補キー (候補キー)
候補キーは、テーブル内の各レコードを一意に識別できる最小のフィールドのセットとして定義されます。これは、テーブル内の各レコードを一意に識別するテーブルの主キーとして機能する属性または属性のセットです。
上記の Student テーブルでは、student_id と Phone は両方とも Student テーブルの候補キーです。候補キーのいくつかの特徴を次に示します。
● 候補キーは NULL または空であってはならず、その値は一意である必要があります。
● 主キーを除くテーブル内のすべての属性は、候補キーと見なされます。テーブルには複数の候補キーを持つことができます。
● 候補キーは複数の列 (属性) の組み合わせにすることができます。
スーパー キー
スーパー キーは、テーブル内の各レコードを一意に識別できるテーブル内の属性のセットとして定義されます。スーパー キーは、候補キーのスーパーセットです。
上で定義したテーブルでは、スーパー キーは次のとおりです。
●student_id:student_id データの各行は一意であるため、各行を一意に識別するために使用できます。
● (student_id, name): 2 人の学生の名前は同じにすることができますが、学生 ID は同じにすることはできないため、この組み合わせもキーにすることができます。
● 電話: 各生徒の電話番号は一意であるため、電話もキーになる可能性があります。
つまり、それらはすべてスーパー キーになる可能性があります。
主キー
主キーは、テーブルの識別キーとなる最も適切な候補キーであり、テーブル内の各レコードを一意に識別できます。
Student テーブルの場合、student_id 列を主キーとして使用できます。
複合キー
複合キーは、キーで構成されるテーブル内のレコードを一意に識別する 2 つ以上の属性で構成されます。 。テーブルの単一の属性で行を一意に識別できない場合は、複合キーを使用する必要があります。
注: 複合キーを形成するプロパティは、独立したキーや個別のキーではありません。
subject_id | exam_name | mark | |
02 | PHP コース | 90 | |
02 | MySQL コース | 80 |
代替キー
すべての候補キーのうち 1 つだけが主キーとして選択され、残りのキーは代替キーまたは補助キーと呼ばれます。外部キー
外部キーは、別のテーブルの主キーとして機能するテーブル内の属性値です。したがって、外部キーを使用して 2 つのテーブルをリンクできます。 #注: 外部キー列にデータを入力する場合は、細心の注意を払う必要があります。間違ったデータを入力すると、2 つのテーブル間の関係が無効になる可能性があります。 以上がこの記事の全内容です、皆様の学習のお役に立てれば幸いです。さらにエキサイティングなコンテンツについては、PHP 中国語 Web サイトの関連チュートリアルのコラムに注目してください。 ! !以上がデータベースにはどのような種類のキーがありますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。