平成20年 秋期 ソフトウェア開発技術者 午前 問70

“従業員”表と“職歴”表の間で、“従業員”表からある従業員の行を削除するSQL操作を行う場合に、“職歴”表に削除する従業員の行が存在しないことを要求する整合性制約はどれか。

 ア  一意性制約  イ  参照制約
 ウ  定義域制約  エ  表検査制約


答え イ


解説

 ア  一意性制約は、追加、更新する際、列あるいは列のグループに含まれるデータが、テーブル内のすべての行で一意でなければならないで、“従業員”表に従業員を追加するとき同じデータを追加できないようにすることです。
 イ  参照制約は、複数のテーブルを利用して他のテーブルの値を参照する場合、参照するタプルが必ず存在しなければならないで、“従業員”表から従業員を削除するときに、“職歴”にその従業員の行が存在しないようにすることです。
 ウ  定義域制約は、属性の値が原子値(これ以上細分化できない単純な値)でなければならないで、“従業員”表の生年月日として“年月日”ではなく“年”、“月”、“日”にすることです。
 エ  表検査制約は、データ挿入又は更新時に条件を満たさないデータの場合は操作を抑止しなければならないで、“従業員”表に従業員を追加するとき生年月日のデータとして“-1”や“A”などといったデータ入力を防止することです。


キーワード
・整合性制約

キーワードの解説
  • 整合性制約
    データベースを常に正しい状態に保つために規則です。
    整合性制約には、
    • 一意性制約
      追加、更新する際、列あるいは列のグループに含まれるデータが、テーブル内のすべての行で一意でなければならない。
    • 参照制約
      複数のテーブルを利用して他のテーブルの値を参照する場合、参照するタプルが必ず存在しなければならない。
    • 定義域制約
      属性の値が原子値(これ以上細分化できない単純な値)でなければならない。
    • 表検査制約
      データ挿入又は更新時に条件を満たさないデータの場合は操作を抑止しなければならない。
    などがあります。

もっと、「整合性制約」について調べてみよう。

戻る 一覧へ 次へ