データベースの基礎

関係データベースの表で、主キーに指定する列(または列の組)が満たさなければならない条件はどれか。

  1. A値が数値であること
  2. B表の最初の列であること
  3. C値が表の中で重複せず、NULLを含まないこと
答えと解説を見る

正解:C. 値が表の中で重複せず、NULLを含まないこと

主キーは、表の中の1行を一意に識別するための列、または列の組です。そのため、主キーの値はほかの行と重複してはならず(一意性)、値が決まっていないことを表すNULLも認められません(非NULL)。SQLの CREATE TABLE で PRIMARY KEY を指定すると、DBMS(データベース管理システム)がこの2つの制約を守らせ、重複した値やNULLを入れようとする操作はエラーになります。主キーの値は社員番号のような数値でも文字列でもかまいませんし、列の位置にも決まりはありません。行を一意に識別できる最小限の列の組を候補キーと呼び、候補キーの中から1つを選んだものが主キーです。

  • A. 主キーは文字列でもよく、数値である必要はありません。
  • B. 主キーは表のどの列でもよく、列の位置は関係ありません。
  • C. 正しい。一意で、NULLを含まないことが主キーの条件です。
この分野を解く 分野ページへ

関連する計算ツール

データベースの基礎の参考書を探す PR

Amazonの検索結果へのリンクです。Amazonのアソシエイトとして、半導体教室は適格販売により収入を得ています。

データベースの基礎のほかの問題

  1. 社員表(社員番号, メールアドレス, 氏名, 部署)で、社員番号とメールアドレスはどちらも社員ごとに異なり、NULLにならない。氏名と部署は、ほかの社員と同じになることがある。この表の候補キーをすべて挙げたものはどれか。
  2. 履修表(学生番号, 科目番号, 成績)は、どの学生がどの科目を履修し、どんな成績だったかを記録する。1人の学生は複数の科目を履修し、1つの科目は複数の学生が履修する。同じ学生が同じ科目を2回登録することはないとき、この表の主キーとして適切なものはどれか。
  3. 顧客表(顧客ID, 氏名)の主キーは顧客IDで、注文表(注文ID, 顧客ID)の顧客IDは、顧客表の顧客IDを参照する外部キーとして定義されている。顧客表には顧客IDが'C1'と'C2'の行だけがある。この状態で INSERT INTO 注文 VALUES ('O9', 'C5') を実行したときの結果として正しいものはどれか。
  4. SQLの文は、データ定義言語(DDL)、データ操作言語(DML)、データ制御言語(DCL)に分けられる。DDLに分類されるものはどれか。
  5. 商品表に、(商品名, 価格)が(ペン, 120)、(ノート, 250)、(消しゴム, 80)、(ファイル, 300)、(定規, 150)の5行がある。SELECT 商品名 FROM 商品 WHERE 価格 >= 150 ORDER BY 価格 DESC の結果として、返される行を順に並べたものはどれか。