令和6年度 秋期データベーススペシャリスト試験午前II 問題び解答暗記用ページです。
- 問1 SQL のシーケンスに関する説明のうち, 適切なものはどれか。
- 問2 クライアントサーバシステムにおけるストアドプロシージャに関する記述のうち, 適切でないものはどれか。
- 問3 関係データベースのテーブルにレコードを1件追加したところ, インデックスとして使う, B+木のリーフノードCがノード C1とC2に分割された。 ノード分割後の B+木構造はどれか。ここで, 矢印はノードへのポインタとする。 また,中間ノードAには十分な空きがあるものとする。
- 問4 転置インデックスに関する記述として, 適切なものはどれか。
- 問5 あるエンティティを関係データベース上に実装しようとしたとき, その主キーが多くの属性から構成される複合キーとなることが分かった。 主キーとして扱う属性を少なくして扱いやすくしたい。 この対応として、 適切なものはどれか。
- 問6 階層構造をもつ組織と,従業員の組織への所属を表す UML のクラス図のうち, “従業員は組織階層中のどの組織にも所属できるが, 兼務はしない” とするものはどれか。
- 問7 “商品” 表と “商品別売上実績” 表に対して, SQL文を実行して得られる売上平均金額はどれか。
- 問8 図のツリー構造に対するデータを格納した “隣接リスト”表から, リーフノードを取得する SQL 文のaに入れる字句はどれか。 ここで, 図の丸はノードを表し,矢印は親ノードから子ノードへの関係を表す。
- 問9 “商品” 表と “納品” 表を商品番号で等結合した結果はどれか。
- 問10 “従業員” 表から,男女それぞれの最年長従業員を除く全ての従業員を取り出すSQL 文とするために, a に入れる字句はどれか。 ここで, “従業員” 表の構造は次のとおりであり、実線の下線は主キーを表す。
- 問11 関係 R, Sに次の演算を行うとき, RとSが和両立である必要のないものはどれか。
- 問12 二つのトランザクションが,同じデータに対して, 更新, 参照を行うときに発生し得るダーティリードの事象を記述したものはどれか。
- 問13 トランザクション A~G の待ちグラフにおいて, 永久待ちの状態になっているトランザクション全てを列挙したものはどれか。 ここで, 待ちグラフのXY は, トランザクション XはトランザクションY がロックしている資源のアンロックを待っていることを表す。
- 問14 トランザクションPが資源 X の値を4から5に更新した後にトランザクション Qが開始し,P がコミットする前に Q が資源 X を参照しようとした。 Q の挙動の a, b に入れる字句の組みはどれか。 ただし, 隔離性水準は READ COMMITTED とする。
- 問15 トランザクション T, と T2の並行実行における不整合検索異状 (inconsistentretrieval anomaly) の説明はどれか。
- 問16 ビッグデータの処理に使用される CEP (複合イベント処理) に関する記述として,適切なものはどれか。
- 問17 スタースキーマでモデル化し, 一定期間内に発生した取引などを分析対象データとして格納するテーブルはどれか。
- 問18 データウェアハウスのメタデータに関する記述のうち, データリネージはどれか。
- 問19 システムで利用できるパスワードの仕様を 数字 16 桁から, 英数字記号及び空白文字(計 95 種の文字とする) から成る決まった長さのものに変更する。このとき,利用できるパスワードの総数を変更前よりも多くするために必要な新しいパスワードの最小桁数はどれか。 ここで, log10 95 = 1.98 とする。
- 問20 迷惑メールの検知手法であるベイジアンフィルターの説明はどれか。
- 問21 ブロックチェーンに関する記述のうち, 適切なものはどれか。
- 問22 複数組の RAID5 をストライピング動作させることによって, 一組の RAID5 と比べて性能を改善させたものを RAID5+0 と呼ぶ。 この RAID5+0 を一組の RAID5 と比較した記述として, 適切なものはどれか。
- 問23 Web アプリケーションサーバの可用性設計方式のうち, セッションを共有する負荷分散方式の説明はどれか。
- 問24 組込み機器のソフトウェア開発にプラットフォーム開発を適用する利点として適切なものはどれか。
- 問25 エクストリームプログラミング (XP: Extreme Programming) における “テスト駆動開発” の特徴はどれか。
問1 SQL のシーケンスに関する説明のうち, 適切なものはどれか。
- 現在基底値が0→1→2→0→1→2→0→… のように, 周期的に繰り返すシーケンスを定義することはできない
- シーケンスの現在基底値を、 最小値と最大値との間の任意の整数値に変更することはできない。
- シーケンスの増分を, 負の整数値にすることはできない。
- トランザクション開始後のシーケンスの値の取得による現在基底値の変更は,トランザクションのロールバックでその変更を取り消すことができない。
問2 クライアントサーバシステムにおけるストアドプロシージャに関する記述のうち, 適切でないものはどれか。
- 機密性が高いデータに対する処理を特定のプロシージャ呼出しに限定することによって, セキュリティを向上させることができる。
- システム全体に共通な処理をプロシージャとして格納しておくことによって,処理の標準化を行うことができる。
- データベースへのアクセスを細かい単位でプロシージャ化することによって, 処理性能 (スループット)を向上させることができる。
- 複数の SQL 文から成る手続を1回のプロシージャ呼出しで実行することによってクライアントとサーバの間の通信回数を減らすことができる。
問3 関係データベースのテーブルにレコードを1件追加したところ, インデックスとして使う, B+木のリーフノードCがノード C1とC2に分割された。 ノード分割後の B+木構造はどれか。ここで, 矢印はノードへのポインタとする。 また,中間ノードAには十分な空きがあるものとする。
問4 転置インデックスに関する記述として, 適切なものはどれか。
- SQL 関数を評価した結果の値をインデックスとして使用する。
- 最上位のノードから, 実データへのポインタを格納したリーフノードへと至るポインタをインデックスとして使用する。
- テキストに含まれる単語に対して, その単語を含むテキストへのポインタをインデックスとして使用する。 ヒープ領域を使用せずに実データを物理的に並べ替えたデータをインデックスとして使用する。
- ヒープ領域を使用せずに実データを物理的に並べ替えたデータをインデックスと
して使用する。
問5 あるエンティティを関係データベース上に実装しようとしたとき, その主キーが多くの属性から構成される複合キーとなることが分かった。 主キーとして扱う属性を少なくして扱いやすくしたい。 この対応として、 適切なものはどれか。
- 複合キーを構成する属性のうち, エンティティの性格を最もよく表している一つの属性を主キーとし、 残りの属性を外部キー (foreign key) にする。
- 複合キーを構成する属性のうち, エンティティの性格を最もよく表している一つの属性を主キーとし, 残りの属性を代替キー (alternate key) とする。
- 連番などを値としてとる列を新たに設けて主キーとし、 複合キーの代理キー(surrogate key)とする。
- 連番などを値としてとる列を新たに設けて主キーとし, 複合キーを外部キー(foreign key) にする。
問6 階層構造をもつ組織と,従業員の組織への所属を表す UML のクラス図のうち, “従業員は組織階層中のどの組織にも所属できるが, 兼務はしない” とするものはどれか。
問7 “商品” 表と “商品別売上実績” 表に対して, SQL文を実行して得られる売上平均金額はどれか。
[SQL 文〕
SELECT AVG (売上合計金額) AS 売上平均金額
FROM 商品 LEFT OUTER JOIN 商品別売上実績
ON 商品 商品コード=商品別売上実績. 商品コード
WHERE 商品ランク = ‘A’
- 100
- 150
- 225
- 275
問8 図のツリー構造に対するデータを格納した “隣接リスト”表から, リーフノードを取得する SQL 文のaに入れる字句はどれか。 ここで, 図の丸はノードを表し,矢印は親ノードから子ノードへの関係を表す。
- EXCEPT
- INTERSECT
- UNION
- UNION ALL
問9 “商品” 表と “納品” 表を商品番号で等結合した結果はどれか。
問10 “従業員” 表から,男女それぞれの最年長従業員を除く全ての従業員を取り出すSQL 文とするために, a に入れる字句はどれか。 ここで, “従業員” 表の構造は次のとおりであり、実線の下線は主キーを表す。
従業員(従業員番号,従業員名,性別,生年月日)
[SQL 文]
SELECT 従業員番号, 従業員名 FROM 従業員 AS S1
WHERE 生年月日 >( a )
- SELECT MIN (生年月日) FROM 従業員 AS S2
GROUP BY S2. 性別 - SELECT MIN(生年月日) FROM 従業員 AS S2
WHERE S1. 生年月日 > S2. 生年月日 OR S1. 性別 =S2. 性別 - SELECT MIN (生年月日) FROM 従業員 AS S2
WHERE S1. 性別=S2.性別 - SELECT MIN (生年月日) FROM 従業員
GROUP BY S2. 性別
問11 関係 R, Sに次の演算を行うとき, RとSが和両立である必要のないものはどれか。
- ア 共通集合
- 差集合
- 直積
- 和集合
問12 二つのトランザクションが,同じデータに対して, 更新, 参照を行うときに発生し得るダーティリードの事象を記述したものはどれか。
- トランザクションAがある検索条件を満たす, ある表の行の集合を参照した。 次に, トランザクションBがトランザクションAと同じ検索条件を満たす新しい行を挿入しコミットした。 その後, トランザクションAが同じ検索条件で再度参照すると、以前には存在しなかった行が出現した。
- トランザクションAがある表の行の列を参照した。 次に, トランザクションBがその列の値を更新しコミットした。 その後, トランザクションAがその列を再度参照すると, 以前の値と異なった。
- 二つのトランザクションがそれぞれ2相ロックをかけ, デッドロックを起こした。
- まだコミットしていないトランザクションAの更新後データをトランザクションBが参照した。 その後, 更新後データはロールバックされた。
問13 トランザクション A~G の待ちグラフにおいて, 永久待ちの状態になっているトランザクション全てを列挙したものはどれか。 ここで, 待ちグラフのXY は, トランザクション XはトランザクションY がロックしている資源のアンロックを待っていることを表す。
[トランザクション A~G の待ちグラフ]
- A, B, C, D
- B, C, D
- B, C, D, F
- C, D, E, F, G
問14 トランザクションPが資源 X の値を4から5に更新した後にトランザクション Qが開始し,P がコミットする前に Q が資源 X を参照しようとした。 Q の挙動の a, b に入れる字句の組みはどれか。 ただし, 隔離性水準は READ COMMITTED とする。
[Q の挙動]
同時実行制御が単版2相ロッキングプロトコルの場合Qは[ a ]多版同時実行制御(MVCC) の場合Qは [ b ]。
a | b | |
ア | P がコミット完了するまで待機した後, X の値 5 を得る | P のコミット完了を待機することなく, X の値 4 を得る |
イ | Pがコミット完了するまで待機した後,X の値 5 を得る | P のコミット完了を待機することなく, X の値5を得る |
ウ | P のコミット完了を待機することなく, X の値 4 を得る | P のコミット完了を待機することなく, X の値 5 を得る |
エ | P のコミット完了を待機することなく, X の値 5 を得る | P のコミット完了を待機することなく, X の値 4 を得る |
問15 トランザクション T, と T2の並行実行における不整合検索異状 (inconsistentretrieval anomaly) の説明はどれか。
- T1が x を更新した後コミットする前に, T2 も x を更新すること
- T1 と T2 が同時にデータ x を読み, T1は x を更新する。 T2は更新前のxの値に基づいてデータy を更新することによって, yの値が xの値に基づかなくなること
- 先行する T1が更新したデータ x を, 後続の T2が読んで処理を行うとき, T1がロールバックすると, T2 もロールバックしなければならなくなること
- 先行する T1 が更新したデータ x を, 後続の T2が読んで処理を行った後に,T1 がロールバックすることによって, T2は結果的に誤った処理になること
問16 ビッグデータの処理に使用される CEP (複合イベント処理) に関する記述として,適切なものはどれか。
- 多次元データベースを構築することによって, 集計及び分析を行う方式である。
- データ更新時に更新前のデータを保持することによって, 同時実行制御を行う方式である。
- 分散データベースシステムにおけるトランザクションを実現する方式である。
- 連続して発生するデータに対し, あらかじめ規定した条件に合致する場合に実行される処理を実装する方式である。
問17 スタースキーマでモデル化し, 一定期間内に発生した取引などを分析対象データとして格納するテーブルはどれか。
- ディメンションテーブル
- デシジョンテーブル
- ハッシュテーブル
- ファクトテーブル
問18 データウェアハウスのメタデータに関する記述のうち, データリネージはどれか。
- 誰がどのデータを見てよいかを示す情報であり, 適切なアクセス制御を目的として設定される。
- データが誰によって作られ管理されているかを示す情報であり, データ構造やデータ辞書を見ても意味が分からないときの問合せ先を表す。
- データがどこから発生し, どのような変換及び加工を経て、 現在の形になったかを示す情報であり, データの生成源の特定又は障害時の影響調査に利用できる。
- データ構造がどのように定義されているかを示す情報であり, Web サイトなどに
公開して検索できるようにする。
問19 システムで利用できるパスワードの仕様を 数字 16 桁から, 英数字記号及び空白文字(計 95 種の文字とする) から成る決まった長さのものに変更する。このとき,利用できるパスワードの総数を変更前よりも多くするために必要な新しいパスワードの最小桁数はどれか。 ここで, log10 95 = 1.98 とする。
- 6
- 7
- 8
- 9
問20 迷惑メールの検知手法であるベイジアンフィルターの説明はどれか。
- 信頼できるメール送信元を許可リストに登録しておき, 許可リストにないメール送信元からの電子メールは迷惑メールと判定する。
- 電子メールが正規のメールサーバから送信されていることを検証し、 迷惑メールであるかどうかを判定する。
- 電子メールの第三者中継を許可しているメールサーバを登録したデータベースの掲載情報を基に, 迷惑メールであるかどうかを判定する。
- 利用者が振り分けた迷惑メールと正規のメールから特徴を学習し、 迷惑メールであるかどうかを統計的に判定する。
問21 ブロックチェーンに関する記述のうち, 適切なものはどれか。
- RADIUS を必須の技術として, 参加者の利用者認証を一元管理するために利用する。
- SPF を必須の技術として, 参加者間で電子メールを送受信するときに送信元の真正性を確認するために利用する。
- 楕円曲線暗号を必須の技術として,参加者間の P2P (Peer to Peer) 通信を暗号化するために利用する。
- ハッシュ関数を必須の技術として, 参加者がデータの改ざんを検出するために利用する。
問22 複数組の RAID5 をストライピング動作させることによって, 一組の RAID5 と比べて性能を改善させたものを RAID5+0 と呼ぶ。 この RAID5+0 を一組の RAID5 と比較した記述として, 適切なものはどれか。
- RAID5+0 の実効容量は一組の RAID5 と同様に, 全体のHDD 台数より1台少ない台数分になる。
- RAID5+0 の耐障害性は一組のRAID5 よりも高く, 故障台数が全体のHDD 台数の半分までならデータを復旧できる。
- 一組の RAID5 には最小3台, 二組の RAID5 には最小 6台のHDD が必要だが, 二組の RAID5 をストライピング動作させる RAID5+0 にすれば最小5台のHDD でシステムを構成できる。
- ー組の RAID5 の転送速度に比べて, 複数組の RAID5 をストライピング動作させたRAID5+0 は転送速度を高速にできる。
問23 Web アプリケーションサーバの可用性設計方式のうち, セッションを共有する負荷分散方式の説明はどれか。
- CPUやメモリなどの各装置を二重化した1台のサーバを使用し, 各装置が処理を分担する。 故障時には故障が発生していない装置がセッションを処理するので,サービスは継続される。
- 稼働しているサーバと同一機能をもつサーバを待機系として用意し, 故障時には待機系に手動で切り替えることによってセッションを引き継ぎ、サービスを復旧させる。
- 同一機能と共通のディスク領域をもつ複数台のサーバでクラスタを構成することによって処理を分担し、故障時には故障が発生していない他のサーバがセッションを引き継ぎ、サービスを継続させる。
- 同一機能をもつ複数台のサーバで処理を分担し, 故障時には故障が発生したサーバを切り離す。 故障時に行っていた処理は消失するが, 新規にセッションを開始して,サービスを復旧させる。
問24 組込み機器のソフトウェア開発にプラットフォーム開発を適用する利点として適切なものはどれか。
- 機器ごとにソフトウェアを新規に設計するので,最小のコードサイズで最大の性能を実現できる。
- 機器ごとのハードウェアとソフトウェアの結合テストを不要にできる。
- ソフトウェアを複数の異なる機器に共通して利用することが可能になるので,ソフトウェア開発効率を向上できる。
- 複数の機器に共通のバグが発生したとき, ソフトウェアのプラットフォーム部分をバグの原因から除外できる。
問25 エクストリームプログラミング (XP: Extreme Programming) における “テスト駆動開発” の特徴はどれか。
- 最初のテストで, なるべく多くのバグを摘出する。
- テストケースの改善を繰り返す。
- テストでのカバレージを高めることを目的とする。
- プログラムコードを書く前にテストコードを書く。
コメント