平成24年度 春期 午前 問29
データベース
一意性制約に関する問題
関係データベースの表定義において,列の値の重複を禁止するために指定する字句はどれか。
- アCLUSTERING
- イDISTINCT
- ウNOT NULL
- エUNIQUE
答えと解説を見る
✓ これが正解エUNIQUE
解説
表定義で重複を禁じる一意性制約の字句です。
設問の二語を落とさないことが要点です。表定義において、そして重複を禁止する、という二つです。見分けの軸は、その字句が効くのは値を格納しようとする段階か、それとも取り出して見せる段階か、という一点になります。表定義に書くものであり、かつ同じ値を二つ入れさせない働きを持つものを選びます。それが UNIQUE です。英語のとおり唯一という意味で、その列に同じ値が重ねて入ろうとしたところで拒みます。これは一意性制約と呼ばれます。主キーは、この制約に空の値を許さない条件を重ねたものに当たりますので、主キー以外の列にも重複を禁じたいときにこの字句を使います。たとえば社員を並べた表のメールアドレスの列に付けておけば、同じアドレスが二人分登録されることを防げます。制約は、何を禁止しているのかを一語で言えるようにしておくと取り違えません。
ほかの選択肢はなぜ違うのか
- アCLUSTERING:CLUSTERING は、行をどう並べて格納するかを指定する考え方で、関係の深い行を近くに置いて読み出しを速くします。値が重なることを止める働きは持ちませんので、求められているものとは役割が違います。
- イDISTINCT:DISTINCT は、取り出した結果から重なった行を畳んで見せるために使う語です。効くのは取り出す段階で、格納されている値そのものは重なったまま残ります。設問が求めているのは入れる段階で止める字句です。
- ウNOT NULL:NOT NULL は、空の値を入れさせない制約です。同じ表定義に書く点は共通していますが、止めているのは値が無い状態のほうであって、同じ値が二つ並ぶことではありません。
この問題の用語
- 関係データベースデータを表の形で持ち、表どうしを結びつけて扱う、最も広く使われているデータベース。データの定義や操作にはSQLを使います。
出典:平成24年度 春期 応用情報技術者試験 午前 問29
同じ用語が出る問題
- 令和7年度 秋期 午前 問28:ビューに関する記述(関係データベース)
- 令和7年度 春期 午前 問25:多重度に関する問題(関係データベース)
- 令和5年度 春期 午前 問30:参照制約に関する問題(関係データベース)
- 令和5年度 春期 午前 問26(関係データベース)
- 令和3年度 春期 午前 問28:NoSQLに関する問題(関係データベース)
この解説に誤りを見つけたら教えてください。直して、直した記録を残します。誤りを報告する(メールが開きます)