SQLキー は、要件または条件に従ってテーブルからデータを取得するために使用される単一または複数の属性です。 また、さまざまなテーブル間の関係を設定するためにも使用できます。 SQLキーには、次のようなものがあります。
- スーパーキー
- 候補キー
- 主キー
- 代替キー
- 複合キー
- 一意のキー
- 外部キー
1。スーパーキー
SUPER KEYは、データベース内のテーブル内の1つまたは複数の列の組み合わせであり、テーブル内の各行の一意の識別に役立ちます。 1つまたは複数のキーのグループです。
例:
EmpSSN | EmpNum | EmpName |
1254654 | TAE03 | ハリー |
2165465 | TAE04 | ロン |
2154864 | TAE05 | ドビー |
上記の例では、EmpSSNとEmpNumは、テーブル内の各行を一意に識別するのに役立つため、スーパーキーです。
2。候補キー
CANDIDATE KEYは、テーブル内の各行を個別に識別するのに役立つ列または属性のセットでもあります。 候補キーは、一致する属性を持たないスーパーキーとして定義できます。 SUPERKEYのサブセットとしてデモンストレーションできます。いくつかの候補キーがテーブルに存在する可能性があります。
例:
StuID | ロール | FirstName | 姓 | メール |
01 | 42 | ハリー | ケイン | [email protected] |
02 | 43 | ロン | ワイズリー | [email protected] |
03 | 44 | ドビー | ライト | [email protected] |
StuID、Roll、Emailは、各行を一意に識別するのに役立つため、上記の表の候補キーです。
3。主キー
PRIMARY KEYは、個々の行を明確に識別するのに役立つ属性または属性のグループです。 PRIMARYKEYの正確な値がテーブルに複数回存在することはできません。 PRIMARY KEYは、CANDIDATEKEYのサブセットとして表すことができます。 テーブルに複数の主キーを含めることはできません。
主キーのプロパティ:
- テーブルにPRIMARYKEYの値が重複することはできません。
- PRIMARYKEYにnull値を含めることはできません。
- PRIMARYKEYの値は時間とともに変更しないでください。
- テーブルの個々の行には、主キーが含まれている必要があります。
例:
StuID | ロール | FirstName | 姓 | メール |
01 | 42 | ハリー | ケイン | [email protected] |
02 | 43 | ロン | ワイズリー | [email protected] |
03 | 44 | ドビー | ライト | [email protected] |
StuID は、テーブル内の各レコードを一意に識別できるため、上記の例の主キーです。
4。代替キー
ALTERNATE KEYは、テーブル内のレコードを明確に識別するのに役立ちます。テーブル内の個々の行を個別に識別できる列がテーブル内に複数存在する場合があります。これらの属性のうち、主キーとして選択される属性は1つだけです。残りの属性はALTERNATEKEYSになります。
例:
StuID | ロール | FirstName | 姓 | メール |
01 | 42 | ハリー | ケイン | [email protected] |
02 | 43 | ロン | ワイズリー | [email protected] |
03 | 44 | ドビー | ライト | [email protected] |
上記の例では、ロールとメールは代替キーです。
次の表現は、候補キー、主キー、および代替キーをよりよく理解するのに役立ちます。
5。複合キー
COMPOSITE KEYは、各行を明確に識別するのに役立つ複数の列のマージです。この区別は、列が組み合わされている場合にのみ保証されます。列を個別に取得する場合、区別を約束するものではありません。複数の属性で構成される主キーは、複合キーとして定義されます。
例:
OrderNo | ProductID | ProductName | 数量 |
A001 | 5624185 | LCD | 1 |
A001 | 3216546 | プリンター | 2 |
A001 | 3516527 | マウス | 3 |
A002 | 9816846 | キーパッド | 1 |
A003 | 7160354 | USB | 5 |
上記の例では、OrderNoとProductIDを組み合わせてCOMPOSITEKEYを形成しています。テーブル内の各行を個別に識別することはできませんが、組み合わせると、テーブル内の各レコードを一意に識別できます。
6。一意のキー
UNIQUE KEYは、PRIMARY KEYのように、テーブル内の各行を一意に識別することもできます。ただし、PRIMARY KEYとは異なり、UNIQUEKEYは単一のnull値しか持つことができません。テーブルには複数の一意キーが存在する可能性があります。
例:
次の列を持つStudentテーブルについて考えてみましょう。
上記の列では、CityIDは一意のキーです。学生が都市を離れて留学する場合、その学生のCityIDはそこにありません。その場合、その属性はnullになり、UNIQUEKEYでnull値が許可されます。
7。外部キー
テーブル内の外部キーは、2つのテーブル間の関係を確立する属性です。 1つのテーブルのFOREIGNKEYは、別のテーブルのPRIMARY KEYを参照し、2つのテーブル間の関係を確立します。 FOREIGN KEYは、複数のnull値と重複値を受け入れることができます。
例:
次の2つの表、学生について考えてみましょう。 テーブル、および注文 テーブル。
最初の表は学生です テーブル。
StuID | FName | LName | 都市 |
1 | ハリー | ケイン | コルカタ |
2 | ロン | ワイズリー | ノイダ |
3 | ドビー | ライト | ムンバイ |
2番目の表は注文です テーブル。
OrderID | OrderNo | StuID |
1 | 65498545 | 3 |
2 | 46546854 | 2 |
3 | 21654698 | 3 |
4 | 65165415 | 1 |
学生のStuID テーブルは主キーであり、注文のStuIDです。 テーブルは外部キーです。
これらは、データベースを作成または処理する際に重要視されるSQLの重要なキーです。