データベース設計 (全49問中46問目)
No.46
三つの表“商品”,“注文”,“顧客”に対するデータ操作の記述のうち,参照制約を受けることなく実行可能な操作はどれか。ここで,下線の実線は主キーを,破線は外部キーを表す。
商品 (商品コード,商品名,単位,金額)
注文 (注文コード,商品コード,注文数,顧客コード)
顧客 (顧客コード,顧客名,顧客住所)
商品 (商品コード,商品名,単位,金額)
注文 (注文コード,商品コード,注文数,顧客コード)
顧客 (顧客コード,顧客名,顧客住所)
出典:平成18年春期 問63
- “顧客”表への新規レコード追加
- “商品”表のレコード削除
- “商品”表のレコードの商品コードの変更
- “注文”表への新規レコード追加
分類
テクノロジ系 » データベース » データベース設計
正解
ア
解説
データベースでは格納されているデータの整合性を保つために、表中の行と列、または表と表の間において整合性制約と呼ばれるものが定義されています。
参照制約は整合性制約の1つで、外部キーを持つレコードを追加する場合に、その外部キーの値は参照先のレコードの主キーとして存在するものでなければならない、また、別表から主キーの値を参照されている行は削除することができないという制限が課すものです。
選択肢それぞれの操作を検証すると次のようになります。
参照制約は整合性制約の1つで、外部キーを持つレコードを追加する場合に、その外部キーの値は参照先のレコードの主キーとして存在するものでなければならない、また、別表から主キーの値を参照されている行は削除することができないという制限が課すものです。
選択肢それぞれの操作を検証すると次のようになります。
- 正しい。実行可能です。
- 商品表のレコードの削除は、それを参照する注文表の商品コードがあるので実行できません。
- 商品表のレコードの商品コードの変更は、もとの値を参照する注文表の商品コードがあるので実行できません。
- 注文表へのレコード追加は参照制約の影響で無条件に行えるわけではなく、商品コードが商品表に存在すること、顧客コードが顧客表に存在することが条件になります。