戦国IT - 情報処理技術者試験の過去問対策サイト
お知らせお問い合わせ料金プラン

応用情報技術者 2012年 春期 午前229


問題文

関係データベースの表定義において、列の値の重複を禁止するために指定する字句はどれか。

選択肢

CLUSTERING
DISTINCT
NOT NULL
UNIQUE(正解)

関係データベースの表定義における列の重複禁止指定【午前2 解説】

要点まとめ

  • 結論:列の値の重複を禁止するには「UNIQUE」制約を指定します。
  • 根拠:UNIQUE制約は、指定した列の値がテーブル内で一意であることを保証し、重複を防ぎます。
  • 差がつくポイント:NOT NULLは空値禁止、DISTINCTは検索時の重複排除、CLUSTERINGは物理的なデータ配置に関する用語であり、重複禁止とは異なります。

正解の理由

「UNIQUE」は関係データベースの表定義で列の値の重複を禁止するための制約です。これにより、同じ値が複数行に存在することを防ぎ、データの一意性を保ちます。
一方、NOT NULLは値の欠損を防ぐ制約であり、重複禁止とは目的が異なります。DISTINCTはSQLの検索結果で重複行を排除するキーワードで、表定義では使いません。CLUSTERINGはデータの物理的な配置に関する用語で、重複禁止とは無関係です。

よくある誤解

DISTINCTは検索時に重複を排除するためのキーワードであり、表定義での重複禁止には使いません。NOT NULLは値の欠損を防ぐだけで重複は許されます。

解法ステップ

  1. 問題文の「列の値の重複を禁止する」という条件を確認する。
  2. 各選択肢の意味を整理する。
  3. 「UNIQUE」が列の値の一意性を保証する制約であることを理解する。
  4. 他の選択肢が重複禁止と異なる役割であることを確認する。
  5. 「UNIQUE」を正解として選択する。

選択肢別の誤答解説

  • ア: CLUSTERING
    データの物理的な配置や索引の種類に関する用語で、重複禁止とは無関係です。
  • イ: DISTINCT
    SQLのSELECT文で重複行を排除するためのキーワードであり、表定義の制約ではありません。
  • ウ: NOT NULL
    列にNULL(空値)を許さない制約で、値の重複は許されます。
  • エ: UNIQUE
    列の値の重複を禁止し、一意性を保証する制約で正解です。

補足コラム

UNIQUE制約は主キー制約(PRIMARY KEY)と似ていますが、主キーはNULLを許さずテーブル内で唯一の行を特定するのに対し、UNIQUEはNULLを許す場合もあります(DBMSによる)。複数の列にUNIQUE制約を設定することで複合一意制約も可能です。

FAQ

Q: UNIQUE制約とPRIMARY KEY制約の違いは何ですか?
A: PRIMARY KEYはテーブル内で行を一意に識別しNULLを許しませんが、UNIQUEは重複禁止は同じでもNULLを許す場合があります。
Q: DISTINCTはどのような場面で使いますか?
A: SELECT文で検索結果の重複行を排除するために使います。表定義の制約ではありません。

関連キーワード: UNIQUE制約、重複禁止、関係データベース、表定義、NOT NULL, DISTINCT, PRIMARY KEY
← 前の問題へ次の問題へ →
戦国ITクイズ機能

\ せっかくなら /

応用情報技術者
クイズ形式で学習しませんか?

クイズ画面へ遷移する

すぐに利用可能!

©︎2026 情報処理技術者試験対策アプリ

このサイトについてプライバシーポリシー利用規約特商法表記開発者について