- トップページ
- データベーススペシャリスト
- 平成23年度特別問題
- 平成23年度特別解答・解説
平成23年度特別解答
問題6
次のSQL文によって“会員”表から新たに得られる表はどれか。
解答:ウ
<解説>
このSQL文では、会員表からグループ(GROUP BY グループ)ごとに年齢の平均値(AVG(年齢))を求め、グループの人数が一人より大きい(HAVING COUNT(*)>1)行を選択する。
- グループAの会員は1人で平均年齢は60歳である。
→グループの会員数が1人なので対象となる。 - グループBの会員は2人で平均年齢は30歳((20+40)÷2)である。
→グループの会員数が2人なので対象となる。 - グループCの会員は3人で平均年齢は40歳((30+40+50)÷3)である。
→グループの会員数が3人なので対象となる。
したがって、ウが正解である。
問題7
地域別に分かれている同じ構造の三つの商品表、“東京商品”、“名古屋商品”、“大阪商品”がある。 次のSQL文と同等の結果が得られる関係代数式はどれか。 ここで、三つの商品表の主キーは“商品番号”である。 また、X -Y はX からY の要素を除いた差集合を表す。
SELECT * FROM 大阪商品
WHERE 商品番号 NOT IN (SELECT 商品番号 FROM 東京商品)
UNION
SELECT * FROM 名古屋商品
WHERE 商品番号 NOT IN (SELECT 商品番号 FROM 東京商品)
ア | (大阪商品 ∩ 名古屋商品)-東京商品 |
イ | (大阪商品 ∪ 名古屋商品)-東京商品 |
ウ | 東京商品-(大阪商品 ∩ 名古屋商品) |
エ | 東京商品-(大阪商品 ∪ 名古屋商品) |
解答:イ
<解説>
UNION句は、別々のSELECT文による抽出結果を統合する。
1つ目のSELECT文により、大阪商品から東京商品にある行を除外した行,つまり(大阪商品-東京商品)が抽出される。
2つ目のSELECT文により、名古屋商品から東京商品にある行を除外した行,つまり(名古屋商品-東京商品)が抽出される。
これらをUNION句により和集合するので、(大阪商品-東京商品)∪(名古屋商品-東京商品)=(大阪商品∪名古屋商品)-東京商品となる。
したがって、正解はイである。
問題8
“取引先”表、“商品”表、“注文”表の3表を基底表とするビュー“注文123”を操作するSQL文のうち、実行できるものはどれか。 ここで、各表の列のうち下線のあるものを主キーとする。
ア | DELETE FROM 注文123 WHERE 取引先ID = '111' |
イ | INSERT INTO 注文123 VALUES (8,'目白商店','レンチ',3) |
ウ | SELECT 取引先.名称 FROM 注文123 |
エ | UPDATE 注文123 SET 数量 = 3 WHERE 取引先 = '目白商店' |
解答:エ
<解説>
ア | × | 取引先IDはビューの列名に存在しない。 |
イ | × | ビューの列数は3,追加しようとしている列数は4なのでエラーとなる。 |
ウ | × | 取引先.名称列は存在しないのでエラーとなる。 |
エ | ○ | 実行できる。注文表の取引先が '目白商店'の数量が変更される。 |
問題9
関係Rと関係Sから、関係代数演算R÷Sで得られるものはどれか。 ここで、÷は商の演算を表す。
解答:エ
<解説>
関係代数演算R÷Sの計算は、次の条件のものが選択される。
- 関係Rから関係SのX,Yのデータの組が一致
- Zの値が同じもののデータ列
したがって、エが正解である。
問題10
関係データモデルにおいて属性A、Bを考える。 属性Aのドメイン(定義域)はm 個の要素から成る集合であり、属性Bのドメインはn 個の要素から成る集合であるとする。 関係RをR(A,B)とすると、Rには最大何個のタプルがあるか。
ア | 2m 2n |
イ | m + n )2 |
ウ | m + n |
エ | mn |
解答:エ
<解説>
Rの最大タプル数は、直積Aの要素数×Bの要素数に等しい。
したがって、(エ)mnが正解である。
お問い合わせ