- トップページ
- 応用情報技術者
- 平成27年度春季問題
- 平成27年度春季解答・解説
平成27年度春季解答
問題26
“電話番号”列にNULLを含む“取引先”表に対して、SQL文を実行した結果の行数は幾つか。
ア | 1 |
イ | 2 |
ウ | 3 |
エ | 4 |
解答:ウ
<解説>
NOT LIKE 句は、「~を含まない」と解釈されます。
したがって、本問のSQL文では「電話番号列の値が010で始まる文字列を含まない かつ NULL を含まない」データが抽出されます。
その結果、B社,D社,E社の3件が該当する。
問題27
埋込みSQLにおいて、問合せによって得られた導出表を1行ずつ親プログラムに引き渡す操作がある。
この操作と関係の深い字句はどれか。
ア | CURSOR |
イ | ORDER BY |
ウ | UNION |
エ | UNIQUE |
解答:ア
<解説>
ア | ○ | CURSORはSELECT文の実行結果に対して1行ずつループ処理を行なうことができる。 ※SQLは複数行のデータを一括して処理することに適している。1000行のデータを一括して取得したり、一括して更新を行うなど大量のデータに対する一括した処理を行える。しかしながら、一括したデータ処理ではなく、1行ずつデータを読み取り、処理を行いたい場合がある。例えば処理内容が複雑で一括した処理を行えず、1行ずつ条件を判断して処理を行う必要があるような場合である。このような場合にカーソルを利用する。 |
イ | × | ORDER BY句を使用すると、降順、昇順と該当レコードを並び替えることができる。 |
ウ | × | UNION句を使用すると、これまでに使用してきたSQL文の結果を統合して、1つの結果とすることができる。 |
エ | × | UNIQUE制約は特定の列にユニーク制約(値が一意でなければならないこと)を設定することができる。 |
問題28
“学生”表が次のSQL文で定義されているとき、検査制約の違反となるSQL文はどれか。
CREATE TABLE 学生 (学生番号 CHAR(5) PRIMARY KEY,
学生名 CHAR(16),
学部コード CHAR(4),
住所 CHAR(16),
CHECK (学生番号 LIKE ‘K%’))
ア | DELETE FROM 学生 WHERE 学生番号 = ‘K1002’ |
イ | INSERT INTO 学生 VALUES (‘J2002’, ‘渡辺次郎’, ‘M006’, ‘東京都’) |
ウ | SELECT * FROM 学生 WHERE 学生番号 = ‘K1001’ |
エ | UPDATE 学生 SET 学部コード = ‘N001’ WHERE 学生番号 LIKE ‘K%’ |
解答:イ
<解説>
検査制約(CHECK制約)とは、列を定義するときに条件式を用いた独自の制約条件をつけるための制約である。
問題では、CHECK句で、「学生番号 LIKE ‘K%’」と指定しているので学生番号にはKで始まる文字列だけが入る。
ア | × | 問題ない。学生テーブルから学生番号 が ‘K1002’の行を削除する。 |
イ | ○ | 学生番号‘J2002’のデータを追加しようとするが、学生番号がKで始まっていないので検査制約違反となる。 |
ウ | × | 問題ない。学生テーブルから学生番号 が ‘K1001’の行を抽出する。 |
エ | × | 問題ない。学生番号の頭文字が'K'から始まる学生の学部コードをすべて'N001'に変更する。 |
問題29
“部品”表のメーカコード列に対し、B+木インデックスを作成した。これによって、検索の性能改善が最も期待できる操作はどれか。 ここで、部品及びメーカのデータ件数は十分に多く、メーカコードの値は均一に分散されているものとする。また、ごく少数の行には、メーカコード列にNULLが設定されている。ここで、実線の下線は主キーを、破線の下線は外部キーを表す。
部品(部品コード, 部品名, メーカコード)
メーカ(メーカコード, メーカ名, 住所)
ア | メーカコードの値が1001以外の部品を検索する。 |
イ | メーカコードの値が1001でも4001でもない部品を検索する。 |
ウ | メーカコードの値が4001以上、4003以下の部品を検索する。 |
エ | メーカコードの値がNULL以外の部品を検索する。 |
解答:ウ
<解説>
ア | × | 「以外」を検索するためには、全数を線形検索する必要がある。したがって、1001以外を検索するのは非効率である。 |
イ | × | 「以外」を検索するためには、全数を線形検索する必要がある。したがって、1001でも4001でもない部品を検索するのは非効率である。 |
ウ | ○ | B+木インデックスでは、範囲を指定した検索が最も効率よく検索できる。 |
エ | × | 「以外」を検索するためには、全数を線形検索する必要がある。したがって、NULL以外を検索するのは非効率である。 |
問題30
DBMSに実装すべき原子性(atomicity)を説明したものはどれか。
ア | 同一のデータベースに対する同一処理は、何度実行しても結果は同じである。 |
イ | トランザクションが完了すると、その後にハードウェア障害が発生しても、更新されたデータベースの内容は保証される。 |
ウ | トランザクション内の処理は、全て実行されるか、全て取り消されるかのいずれかしかない。 |
エ | 一つのトランザクションの処理結果は、他のトランザクション処理の影響を受けることはない。 |
解答:ウ
<解説>
ACIDは、トランザクション処理の信頼性を保証するために求められる性質である。
原子性(Atomicity:不可分性)、一貫性(Consistency)、独立性(Isolation)、および永続性(Durability)から合成された頭字語である。
- 原子性(Atomicity)
- トランザクションの処理が完全に実行されるか、全く処理をしないかのどちらかである。
- 一貫性(Consistency)
- トランザクションの実行によってデータベースの内容に矛盾が生じない。
- 独立性(Isolation)
- 複数のトランザクションを同時に実行しても処理過程は他者から隠蔽され、影響されない。
- 永続性(Durability)
- トランザクションが完了した操作は、失われない。
ア | × | 一貫性(Consistency)の説明である。 |
イ | × | 永続性(Durability)の説明である。 |
ウ | ○ | 原子性(Atomicity)の説明である。 |
エ | × | 独立性(Isolation)の説明である。 |
お問い合わせ