平成24年度春期 応用情報技術者試験 午前 問29
関係データベースの表定義において,列の値の重複を禁止するために指定する字句はどれか。
- ア CLUSTERING
- イ DISTINCT
- ウ NOT NULL
- エ UNIQUE
解答・解説を見る
正解:エ
AI解説
表定義(CREATE TABLE)で列の値の重複を禁止するのはUNIQUE制約である。UNIQUEを指定した列には同じ値を複数行に格納できなくなる(一意性制約)。主キー(PRIMARY KEY)はUNIQUEにNOT NULLを加えたものに相当する。 ア: CLUSTERINGはデータの物理的な格納配置(クラスタ化)に関する用語であり,列値の重複禁止を指定するSQL標準の字句ではない。 イ: DISTINCTはSELECT文で問合せ結果から重複行を除くための指定であり,表定義には使えない。 ウ: NOT NULLは列にNULL(空値)を許さない制約であり,値の重複は禁止しない。 エ: 正しい。UNIQUEは列の値の一意性を保証し,重複する値の格納を禁止する制約である。 💡 「表定義で重複禁止=UNIQUE」「検索結果で重複除去=DISTINCT」の対比が定番のひっかけ。UNIQUE+NOT NULL≒PRIMARY KEYの関係も併せて覚えておく。
出典:平成24年度 春期 応用情報技術者試験 午前 問29 / 独立行政法人情報処理推進機構(IPA)
※Web掲載用に表記を一部変更しています。著作権はIPAに帰属します。
※Web掲載用に表記を一部変更しています。著作権はIPAに帰属します。