主キーとは
しゅきー
表の中の1行を一意に識別するための列、または列の組。値が重複せず、NULLを含まないという制約を持つ。行を一意に識別できる最小限の列の組(候補キー)の中から1つを選んで主キーにする。
「主キー」は、1分野の8問の練習問題に出てきます(データベースの基礎など)。
この用語の分野: データベースの基礎
しゅきー
表の中の1行を一意に識別するための列、または列の組。値が重複せず、NULLを含まないという制約を持つ。行を一意に識別できる最小限の列の組(候補キー)の中から1つを選んで主キーにする。
「主キー」は、1分野の8問の練習問題に出てきます(データベースの基礎など)。
この用語の分野: データベースの基礎
正解:C. 値が表の中で重複せず、NULLを含まないこと
主キーは、表の中の1行を一意に識別するための列、または列の組です。そのため、主キーの値はほかの行と重複してはならず(一意性)、値が決まっていないことを表すNULLも認められません(非NULL)。SQLの CREATE TABLE で PRIMARY KEY を指定すると、DBMS(データベース管理システム)がこの2つの制約を守らせ、重複した値やNULLを入れようとする操作はエラーになります。主キーの値は社員番号のような数値でも文字列でもかまいませんし、列の位置にも決まりはありません。行を一意に識別できる最小限の列の組を候補キーと呼び、候補キーの中から1つを選んだものが主キーです。
正解:C. 学生番号と科目番号の組
1人の学生が複数の科目を履修するので、学生番号だけでは同じ値の行が複数でき、行を一意に識別できません。同様に、1つの科目を複数の学生が履修するので、科目番号だけでも一意になりません。学生番号と科目番号を組み合わせれば、同じ学生が同じ科目を2回登録しないという条件から、1行が一意に決まります。このように複数の列を組み合わせた主キーを複合キー(連結キー)と呼び、SQLでは PRIMARY KEY (学生番号, 科目番号) のように列を並べて指定します。履修表の学生番号と科目番号は、それぞれ学生表と科目表の主キーを参照する外部キーにもなり、この表は学生と科目の多対多の関係を表しています。
主キーは、表の中の1行を一意に識別するための列、または列の組です。
関係データベースの表で、主キーに指定する列(または列の組)が満たさなければならない条件はどれか。このように複数の列を組み合わせた主キーを複合キー(連結キー)と呼び、SQLでは PRIMARY KEY (学生番号, 科目番号) のように列を並べて指定します。
履修表(学生番号, 科目番号, 成績)は、どの学生がどの科目を履修し、どんな成績だったかを記録する。1人の学生は複数の…外部キーは、ほかの表(ここでは顧客表)の主キーなどを参照する列で、参照先に存在する値かNULLしか入れられないという参照整合性制約を守らせます。
顧客表(顧客ID, 氏名)の主キーは顧客IDで、注文表(注文ID, 顧客ID)の顧客IDは、顧客表の顧客IDを参照する…第2正規形は、第1正規形で、しかも主キーの一部だけに従属する列(部分関数従属)がない状態です。
受注表(受注番号, 商品番号, 数量, 顧客番号, 顧客名)の主キーは{受注番号, 商品番号}で、関数従属は {受注番…主キーが社員番号の1列だけなので、主キーの一部だけに従属する部分関数従属は起こりえず、第2正規形でもあります。
社員表(社員番号, 氏名, 部署コード, 部署名)の主キーは社員番号で、どの列も1つの値だけを持つ。関数従属は 社員番…Amazonの検索結果へのリンクです。Amazonのアソシエイトとして、半導体教室は適格販売により収入を得ています。
外部キー 関係データベース SQL 第3正規形 正規化 E-R図 ACID特性 インデックス トランザクション 2相ロック