キー、スーパーキー、最小スーパーキー、候補キー、主キーの違い



Differences Between Key



解決:

ここでは、収集した情報の一部をコピーして貼り付けます

キーは、単一または複数のフィールドの組み合わせです。その目的は、要件に応じてテーブルからデータ行にアクセスまたは取得することです。キーは、保存されたデータにすばやくスムーズにアクセスまたは順序付けするためにテーブルで定義されます。また、異なるテーブル間のリンクを作成するためにも使用されます。



キーの種類

主キー リレーション内の行またはレコードを一意に識別する属性または属性の組み合わせは、主キーと呼ばれます。



二次キー 検索の基礎となるフィールドまたはフィールドの組み合わせは、2次キーと呼ばれます。二次キーは一意でないフィールドです。 1つの2次キー値は、多くのレコードを参照する場合があります。

候補キーまたは代替キー リレーションは主キーを1つだけ持つことができます。主キーとして使用できる多くのフィールドまたはフィールドの組み合わせが含まれる場合があります。 1つのフィールドまたはフィールドの組み合わせが主キーとして使用されます。主キーとして使用されないフィールドまたはフィールドの組み合わせは、候補キーまたは代替キーと呼ばれます。

複合キーまたは連結キー 2つ以上の属性で構成される主キーは、複合キーと呼ばれます。



ソートまたはコントロールキー ソートキーと呼ばれる、保存されたデータを物理的に順序付けるために使用されるフィールドまたはフィールドの組み合わせ。コントロールキーとしても知られています。

スーパーキー データベースレコードを識別するために一意に使用できる属性の組み合わせです。テーブルには多くのスーパーキーがある場合があります。候補キーは、余分な情報が含まれていないスーパーキーの特別なサブセットです。

スーパーキーの例 :フィールドのあるテーブルを想像してみてください。このテーブルには、多くの可能なスーパーキーがあります。これらのうちの3つは。リストされているもののうち、他のキーにはレコードを一意に識別するために必要のない情報が含まれているため、は候補キーです。

外部キー 外部キーは、値が別のリレーションの主キーと一致するリレーションの属性または属性の組み合わせです。外部キーが作成されるテーブルは、従属テーブルと呼ばれます。外部キーが参照するテーブルは、親テーブルと呼ばれます。


私はいつもすべての鍵を覚えるのが難しいと感じていました。だから私は以下のメモを手元に置いておきます、彼らが誰かを助けることを願っています! 改善できるかどうか教えてください。

  • :リレーショナルテーブル内のエンティティ/レコードを一意に識別する属性または属性の組み合わせ。

  • PK :一意でnullではない単一のキー。候補キーの1つです。

  • 外部キー :FKは、あるテーブル(子)のキーであり、別のテーブル(親)の行を一意に識別します。 FKは子テーブルで一意ではありません。これは、親テーブルの候補キーです。 FKの値が親テーブルのPKの値として存在するため、参照整合性が維持されます。それ以外の場合はNULLです。

  • 一意のキー :NULLである場合とそうでない場合がある一意のキー

  • 自然キー :OLTPのPK。 OLAPのPKである可能性があります。

  • 代理キー :OLTPのPKの代わりとして機能するOLAPの代理PKです。 OLAPで内部的に生成された人工鍵。

  • 複合キー :複数の属性で構成されるPK

  • スーパーキー :データベースレコードを識別するために一意に使用できるキー。レコードを一意に識別するために必要ではない追加の属性が含まれている場合があります。

  • 候補キー :候補キーは、無関係なデータなしでデータベースレコードを識別するために一意に使用できます。それらはヌルではなく、一意です。最小限のスーパーキーです。

  • 代替キー :主キーではない候補キーは、代替キーと呼ばれます。

  • 無関係なデータを持つ候補キー:これは、Employeeテーブルのレコードを識別するために使用できますが、このタスクには候補キーだけで十分であると考えてください。したがって、無関係なデータになります。

PK、外部キー、一意キー、自然キー、代理キー、複合キーはデータベースオブジェクトとして定義されていることに注意してください。ここで、自然キーはOLTPのPKであり、ターゲットOLAPのPKである可能性があります。残りのキーについては、一意/非null /参照整合性制約を適用する必要があるかどうかを決定するのはDB設計者/アーキテクト次第です。

以下では、集合論を使用して、キーw.r.tのメンバーシップの表現を単純化しようとしました。お互い。

key = {以下のすべてのキー} PK = {PK}外部キー= {Null以外の制約のあるキー}一意のキー= {{候補キー/ s}、{NULLを含む属性}}自然キー= {PK}代理キー= {PK}複合キー= {PK}スーパーキー= {{候補キー/秒}、{外部データを含む候補キー}}候補キー= {PK、{代替キー/秒}}代替キー= {{候補キー} -PK}無関係なデータを持つ候補キー= {}

私はそれを以下に要約しました:

データベースキー

注:データベースの概要-主キー-複合キー-代理キー-et-al


主に受け入れられた回答に基づいていますが、いくつかのコースで教えられている定義に合うようにいくつかの調整が加えられています。

  • :1列以上のセット。
  • スーパーキー :⊇候補キーとなるキー。
    • したがって、スーパーキーには1つを超える列が含まれている必要があります。
    • 最小限のスーパーキー候補キー :テーブルの各行を一意に識別できるキー。
    • 主キー : NS 選ばれた そのための候補キー。
    • 二次キー/代替キー :候補キー 選ばれなかった それをしてくれて。
  • 検索キー :に使用されるキー レコードの検索
  • 複合キー また 連結キー :1列を超えるキー。
    • 通常は「複合主キー」を意味しますが、「複合代替キー」も重要です。
  • 選別 また コントロールキー :保存されたデータを物理的にシーケンスするために使用されるキー。
  • 外部キー 別のテーブルの主キーと一致する1つのテーブルのキー。
    • 外部キーが存在するテーブル 従属テーブルと呼ばれます。
    • 外部キーが参照するテーブル 親テーブルとして知られています。