コマンド道場

$ cat /exam/db/past/2020-october-am2

データベーススペシャリスト 令和2年度 10月 午前Ⅱ

全 25 問です。各問の「解答と解説を見る」を開くと正解が出ます。まず自分で解いてから開いてください。

問 1

応用技術

図のデータベース 1,2 は互いのデータの複製をもつ冗長構成である。クライアントからの更新・参照要求を受けたデータベースサーバ(以下,サーバという)は直下のデータベースを更新・参照し,他方のサーバにデータ更新を通知する。通知を受けたサーバは直下のデータベースに更新を反映する。サーバ 1,2 間のネットワークが分断し,データ更新を通知できなくなったとき,CAP 定理で重視する特性(C,A,P)に対するサーバの挙動のうち,適切な組合せはどれか。

図(構成と矢印)
経路内容
クライアント 1 → サーバ 1更新・参照要求
クライアント 2 → サーバ 2更新・参照要求
サーバ 1 → データベース 1更新・参照
サーバ 2 → データベース 2更新・参照
サーバ 1 ⇔ サーバ 2更新を通知
  1. ア
    C 及び P を重視する場合 = 一方のサーバは停止し,もう一方のサーバは動作し続ける。/A 及び P を重視する場合 = 両方のサーバが停止する。
  2. イ
    C 及び P を重視する場合 = 一方のサーバは停止し,もう一方のサーバは動作し続ける。/A 及び P を重視する場合 = 両方のサーバが動作し続ける。
  3. ウ
    C 及び P を重視する場合 = 両方のサーバが動作し続ける。/A 及び P を重視する場合 = 一方のサーバは停止し,もう一方のサーバは動作し続ける。
  4. エ
    C 及び P を重視する場合 = 両方のサーバが動作し続ける。/A 及び P を重視する場合 = 両方のサーバが停止する。
解答と解説を見る

正解: イ

結論: 整合性(C)を守るなら片方を止める、可用性(A)を守るなら両方動かし続けるです。

なぜ: 分断のあいだ、サーバ 1 と 2 は互いの更新を知ることができません。

  • C と P を重視する … 両方が別々に更新を受け付けると、2 つのデータベースの中身が食い違います。食い違いを生まないためには、一方を止めて、もう一方だけで受け付けるしかありません。止めた側にとっては応答できない=可用性を手放すことになります
  • A と P を重視する … どちらのクライアントにも応答し続けるために、両方が動き続けます。そのかわり分断のあいだは中身が食い違いうる=整合性を手放します

「両方停止」(ア・エ)は、誰にも応答しないので可用性を守ったことになりません。ウは C と A の振る舞いが逆です。

解説は本サイトが独自に作成したものです。根拠にした一次情報は次のとおりです。

出典: 令和2年度 10月 データベーススペシャリスト試験 午前Ⅱ 問1(IPA 独立行政法人 情報処理推進機構)/問題冊子・解答例

改変: 構成図(クライアント・サーバ・データベースを矢印で結んだ図)は、スマホの幅で読めるよう、矢印ごとに経路と内容を並べた表に書き直しています。また選択肢は原本では「C 及び P を重視する場合」「A 及び P を重視する場合」の 2 列の表ですが、1 行の組として書き下しています(内容は原本のままです)。

問 2

応用技術同じ設問が 令和4年度 秋期 午前Ⅱ 問1 にも出ています

BASE 特性を満たし,次の特徴をもつ NoSQL データベースシステムに関する記述のうち,適切なものはどれか。

〔NoSQL データベースシステムの特徴〕 ・ネットワーク上に分散した複数のノードから構成される。 ・一つのノードでデータを更新した後,他の全てのノードにその更新を反映する。
  1. ア
    クライアントからの更新要求を 2 相コミットによって全てのノードに反映する。
  2. イ
    データの更新結果は,システムに障害がなければ,いつかは全てのノードに反映される。
  3. ウ
    同一の主キーの値による同時の参照要求に対し,全てのノードは同じ結果を返す。
  4. エ
    ノード間のネットワークが分断されると,クライアントからの処理要求を受け付けなくなる。
解答と解説を見る

正解: イ

結論: BASE の E は Eventually consistent(結果整合性)です。更新はいつかは全ノードにそろう、というのが答えです。

なぜ: BASE は ACID と対になる考え方で、常に応答できること(可用性)を優先し、ノード間で一時的に値が食い違うことを許します。ある瞬間に読んだ値がノードごとに違ってもよく、障害がなければ最終的に同じ値に落ち着きます。

アの 2 相コミットは、全ノードが同時にそろうことを保証する強い一貫性のための手順で、BASE の考え方とは逆です。ウの「全ノードが常に同じ結果を返す」も強い一貫性の性質です。エの「分断されたら受け付けない」は、可用性より一貫性を取る選び方で、可用性を優先する BASE とは逆になります。

解説は本サイトが独自に作成したものです。根拠にした一次情報は次のとおりです。

出典: 令和2年度 10月 データベーススペシャリスト試験 午前Ⅱ 問2(IPA 独立行政法人 情報処理推進機構)/問題冊子・解答例

問 3

関係データベース理論

関係 R は属性 A,B,C,D,E から成り,関数従属 A→ {B,C},{C,D} →E が成立するとき,R の候補キーはどれか。

  1. ア
    {A,C}
  2. イ
    {A,C,D}
  3. ウ
    {A,D}
  4. エ
    {C,D}
解答と解説を見る

正解: ウ

結論: {A, D} です。

なぜ: 候補キーは「その属性から全属性が決まり、しかも余計な属性を含まない」最小の組です。{A, D} から順に広げてみます。

1. A → {B, C} で B と C が決まる → {A, B, C, D}2. {C, D} → E で E が決まる → {A, B, C, D, E}(全属性)

A も D も、どの関数従属の右辺にも出てこないので、他から導けません。つまりどの候補キーにも A と D は必ず入り、{A, D} で全属性に届くので、これが最小です。

  • ア {A, C} … D が決まらないので E にも届きません
  • イ {A, C, D} … 全属性に届きますが、C は A から決まるので余計です(最小でない)
  • エ {C, D} … A と B が決まりません

打って確かめる

解説は本サイトが独自に作成したものです。根拠にした一次情報は次のとおりです。

出典: 令和2年度 10月 データベーススペシャリスト試験 午前Ⅱ 問3(IPA 独立行政法人 情報処理推進機構)/問題冊子・解答例

問 4

障害回復

DBMS が取得するログに関する記述として,適切なものはどれか。

  1. ア
    トランザクションの取消しに備えて,データベースの更新されたページに対する更新後情報を取得する。
  2. イ
    媒体障害からの復旧に備えて,データベースの更新されたページに対する更新前情報を取得する。
  3. ウ
    ロールバック後のトランザクション再実行に備えて,データベースの更新されたページに対する更新後情報を取得する。
  4. エ
    ロールフォワードに備えて,データベースの更新されたページに対する更新後情報を取得する。
解答と解説を見る

正解: エ

結論: ロールフォワード(やり直し)には更新後情報を使います。

なぜ: ログには 2 種類の情報があります。

  • 更新前情報(変える前の値)… 取り消すとき(ロールバック)に、元へ戻すために使う
  • 更新後情報(変えた後の値)… やり直すとき(ロールフォワード)に、もう一度書き込むために使う

媒体障害では、バックアップから戻したあと、バックアップ以降に確定した更新を更新後情報で書き直して最新の状態に追いつきます。これがロールフォワードです。

  • ア … 取消しに使うのは更新前情報です
  • イ … 媒体障害からの復旧はロールフォワードなので、使うのは更新後情報です
  • ウ … ロールバックしたトランザクションをもう一度実行するのは、ログからではなくアプリケーションが改めて行う処理です

解説は本サイトが独自に作成したものです。根拠にした一次情報は次のとおりです。

出典: 令和2年度 10月 データベーススペシャリスト試験 午前Ⅱ 問4(IPA 独立行政法人 情報処理推進機構)/問題冊子・解答例

問 5

正規化

第 2 正規形であるが第 3 正規形でない表はどれか。ここで,講義名に対して担当教員は一意に決まり,所属コードに対して勤務地は一意に決まるものとする。また,{ } は繰返し項目を表し,実線の下線は主キーを表す。

  1. ア
    学生番号講義名担当教員成績
    2122経済学山田教授優
  2. イ
    社員番号氏名入社年月日電話番号
    71235山田 太郎2001-04-0103-1234-5678
  3. ウ
    社員番号氏名所属コード勤務地
    15547小林 明75T東京
  4. エ
    社員番号身長体重趣味
    7123417062{テニス,ゴルフ}
解答と解説を見る

正解: ウ

結論: ウです。勤務地が、主キーの社員番号から所属コードを経由して決まっています(推移的関数従属)。

なぜ: 4 つを順に見ます。

  • ア … 主キーは {学生番号, 講義名} で、担当教員は講義名だけで決まります。主キーの一部への従属(部分関数従属)があるので、第 2 正規形でもありません
  • イ … どの列も社員番号から直接決まり、それ以外の従属はありません。第 3 正規形です
  • ウ … 主キーは社員番号 1 つなので部分従属は起きようがなく、第 2 正規形です。ところが 社員番号 → 所属コード → 勤務地 という推移的な従属があるので、第 3 正規形ではありません
  • エ … 趣味が繰返し項目(1 つの欄に複数の値)なので、第 1 正規形でもありません

打って確かめる

解説は本サイトが独自に作成したものです。根拠にした一次情報は次のとおりです。

出典: 令和2年度 10月 データベーススペシャリスト試験 午前Ⅱ 問5(IPA 独立行政法人 情報処理推進機構)/問題冊子・解答例

改変: 選択肢の 4 つの表は、主キーの下線を保ったまま HTML の表として組み直しています(内容は原本のままです)。

問 6

論理設計

関係データベースの表を設計する過程で,A 表と B 表が抽出された。主キーはそれぞれ列 a と列 b である。この二つの表の対応関係を実装する表の設計に関する記述のうち,適切なものはどれか。

A
a
(ほかの列)
B
b
(ほかの列)
  1. ア
    A 表と B 表の対応関係が 1 対 1 の場合,列 a を B 表に追加して外部キーとしてもよいし,列 b を A 表に追加して外部キーとしてもよい。
  2. イ
    A 表と B 表の対応関係が 1 対多の場合,列 b を A 表に追加して外部キーとする。
  3. ウ
    A 表と B 表の対応関係が多対多の場合,新しい表を作成し,その表に列 a か列 b のどちらかを外部キーとして設定する。
  4. エ
    A 表と B 表の対応関係が多対多の場合,列 a を B 表に,列 b を A 表にそれぞれ追加して外部キーとする。
解答と解説を見る

正解: ア

結論: 1 対 1 なら、どちらの表に相手の主キーを持たせてもかまいません。

なぜ: 外部キーは「この行の相手は誰か」を 1 つだけ指す列です。1 対 1 ならどちらの側から見ても相手は 1 つなので、A 表に列 b を足しても、B 表に列 a を足しても表現できます。

  • イ … 1 対多(A が 1、B が多)なら、外部キーを持つのは多の側の B 表です(列 a を B 表に足す)。A 表に列 b を足すと、相手が複数あるときに 1 つの欄に収まりません
  • ウ … 多対多では新しい表(連関の表)を作りますが、その表には列 a と列 b の両方を外部キーとして持たせます。片方だけでは組を表せません
  • エ … 多対多で互いに外部キーを持たせても、相手が複数ある以上 1 つの欄に収まりません

解説は本サイトが独自に作成したものです。根拠にした一次情報は次のとおりです。

出典: 令和2年度 10月 データベーススペシャリスト試験 午前Ⅱ 問6(IPA 独立行政法人 情報処理推進機構)/問題冊子・解答例

改変: A 表・B 表の図は、主キーの下線を保ったまま組み直しています。原本で空欄になっている 2 列目は「(ほかの列)」と書いています(内容は原本のままです)。

問 7

SQL

表 R と表 S に対し,SQL 文を実行して結果を得るとき,a に入れる字句はどれか。ここで,結果の NULL は値が存在しないことを表す。

R
ID名称1
1AAA
2BBB
3CCC
S
ID名称2
2bbb
3ccc
4ddd
〔結果〕
ID名称1名称2
1AAANULL
2BBBbbb
3CCCccc
4NULLddd
〔SQL 文〕
SELECT [ a ] (R.ID, S.ID) AS ID, 名称1, 名称2
    FROM R FULL JOIN S ON R.ID = S.ID
    ORDER BY ID
  1. ア
    COALESCE
  2. イ
    DISTINCT
  3. ウ
    NULLIF
  4. エ
    UNIQUE
解答と解説を見る

正解: ア

結論: COALESCE で、R.ID が NULL なら S.ID を使います。

なぜ: 完全外部結合(FULL JOIN)は、相手の無い行も両側から残します。

  • ID 1 は R にしか無いので、S.ID は NULL
  • ID 4 は S にしか無いので、R.ID は NULL

結果の ID 列にはどちらの行も値が入っています。COALESCE(R.ID, S.ID) は左から順に見て最初の NULL でない値を返すので、R.ID が無い行では S.ID が使われ、1〜4 がそろいます。

  • イ DISTINCT … 関数ではありません。SELECT の直後に書くと「結果の重複を除く」という指定になり、(R.ID, S.ID) は 2 つの値をまとめた組として扱われます。ID 列が (1,) や (2,2) のような組になり、結果と合いません
  • ウ NULLIF … 2 つの値が等しいときに NULL を返す関数です。ID 1 は 1 になりますが、ID 2・3 は R.ID と S.ID が等しいので NULL、ID 4 は 1 つ目の値(R.ID)が NULL なので NULL になります
  • エ UNIQUE … 制約の指定で使う語で、ここには書けません

解説は本サイトが独自に作成したものです。根拠にした一次情報は次のとおりです。

出典: 令和2年度 10月 データベーススペシャリスト試験 午前Ⅱ 問7(IPA 独立行政法人 情報処理推進機構)/問題冊子・解答例

改変: 表 R・表 S と結果は HTML の表として組み直しています。SQL 文は原文のまま等幅で示しています。原本では空欄が四角い枠で囲まれていますが、ここでは [ a ] のように角括弧で示しています。(内容は原本のままです)

問 8

SQL

“社員” 表に対して,SQL 文を実行して得られる結果はどれか。ここで,実線の下線は主キーを表し,表中の NULL は値が存在しないことを表す。

社員
社員コード上司社員名
S001NULLA
S002S001B
S003S001C
S004S003D
S005NULLE
S006S005F
S007S006G
〔SQL 文〕
SELECT 社員コード FROM 社員 X
    WHERE NOT EXISTS
        (SELECT * FROM 社員 Y WHERE X.社員コード = Y.上司)
  1. ア
    社員コード
    S001
    S003
    S005
    S006
  2. イ
    社員コード
    S001
    S005
  3. ウ
    社員コード
    S002
    S004
    S007
  4. エ
    社員コード
    S003
    S006
解答と解説を見る

正解: ウ

結論: 誰の上司にもなっていない社員が出ます。S002・S004・S007 です。

なぜ: 副問い合わせは「X を上司にしている社員 Y がいるか」を聞いています。NOT EXISTS なので、そういう Y が 1 人もいない X だけが残ります。

上司の列に出てくる社員コードは S001・S003・S005・S006 です(=部下がいる人)。これ以外の S002・S004・S007 が答えです。

アは「部下がいる人」で、EXISTS にした場合の結果です。イは上司が NULL の人(いちばん上の人)、エは部下がいて自分にも上司がいる人で、どちらもこの SQL の条件とは関係がありません。

解説は本サイトが独自に作成したものです。根拠にした一次情報は次のとおりです。

出典: 令和2年度 10月 データベーススペシャリスト試験 午前Ⅱ 問8(IPA 独立行政法人 情報処理推進機構)/問題冊子・解答例

改変: “社員” 表と、選択肢の 4 つの結果は HTML の表として組み直しています。主キーの下線も再現しています。SQL 文は原文のまま等幅で示しています(内容は原本のままです)。

問 9

関係データベース理論

関係代数における直積に関する記述として,適切なものはどれか。

  1. ア
    ある属性の値に付加した条件を満たす全てのタプルの集合である。
  2. イ
    ある一つの関係の指定された属性だけを残して,他の属性を取り去って得られる属性の集合である。
  3. ウ
    二つの関係における,あらかじめ指定されている二つの属性の 2 項関係を満たす全てのタプルの組合せの集合である。
  4. エ
    二つの関係における,それぞれのタプルの全ての組合せの集合である。
解答と解説を見る

正解: エ

結論: 直積は、2 つの関係の行(タプル)をあらゆる組合せでつないだものです。

なぜ: R が m 行、S が n 行なら、直積は m × n 行になります。条件で絞らず、すべての組を作るのが直積です。SQL では CROSS JOIN がこれに当たります。

ほかの選択肢は別の演算です。

  • ア … 選択(条件を満たす行だけを残す)
  • イ … 射影(指定した属性だけを残す)
  • ウ … 結合(θ結合)。直積のうち、指定した属性どうしの関係(=や<など)を満たす組だけを残したもの

打って確かめる

解説は本サイトが独自に作成したものです。根拠にした一次情報は次のとおりです。

出典: 令和2年度 10月 データベーススペシャリスト試験 午前Ⅱ 問9(IPA 独立行政法人 情報処理推進機構)/問題冊子・解答例

問 10

SQL

“社員” 表から,男女それぞれの最年長社員を除く全ての社員を取り出す SQL 文とするために,a に入れる字句はどれか。ここで,“社員” 表の構造は次のとおりであり,実線の下線は主キーを表す。

社員
社員番号
社員名
性別
生年月日
〔SQL 文〕
SELECT 社員番号, 社員名 FROM 社員 AS S1
    WHERE 生年月日 > ( [ a ] )
  1. ア
    SELECT MIN(生年月日) FROM 社員 AS S2
        GROUP BY S2.性別
  2. イ
    SELECT MIN(生年月日) FROM 社員 AS S2
        WHERE S1.生年月日 > S2.生年月日
        OR S1.性別 = S2.性別
  3. ウ
    SELECT MIN(生年月日) FROM 社員 AS S2
        WHERE S1.性別 = S2.性別
  4. エ
    SELECT MIN(生年月日) FROM 社員
        GROUP BY S2.性別
解答と解説を見る

正解: ウ

結論: 同じ性別の中での最小の生年月日(=最年長の誕生日)と比べます。

なぜ: 生年月日が小さいほど年長です。外側の S1 の行ごとに、S1.性別 = S2.性別 で同じ性別の社員だけから最小の生年月日を求め、それより後に生まれた人を残せば、各性別の最年長だけが除かれます(相関副問い合わせ)。

  • ア … 性別ごとにまとめるので、男女 2 行が返ります。> の右辺は 1 つの値でなければならず、エラーになります
  • イ … 「自分より年長の人(性別を問わない)」も対象に入るので、最小値は全社員の中の最年長に引っ張られます。女性の最年長でも、もっと年長の男性がいれば残ってしまいます
  • エ … FROM に S2 という名前が無いので S2.性別 を参照できず、エラーになります

解説は本サイトが独自に作成したものです。根拠にした一次情報は次のとおりです。

出典: 令和2年度 10月 データベーススペシャリスト試験 午前Ⅱ 問10(IPA 独立行政法人 情報処理推進機構)/問題冊子・解答例

改変: 関係スキーマは主キーの下線を保ったまま組み直しています。SQL 文と選択肢は原文のまま等幅で示しています(字下げは詰めています)。原本では空欄が四角い枠で囲まれていますが、ここでは [ a ] のように角括弧で示しています。(内容は原本のままです)

問 11

同時実行制御

トランザクションの直列化可能性(serializability)の説明はどれか。

  1. ア
    2 相コミットが可能であり,複数のトランザクションを同時実行できる。
  2. イ
    隔離性水準が低い状態であり,トランザクション間の干渉が起こり得る。
  3. ウ
    複数のトランザクションが,一つずつ順にスケジュールされて実行される。
  4. エ
    複数のトランザクションが同時実行された結果と,逐次実行された結果とが同じになる。
解答と解説を見る

正解: エ

結論: 直列化可能性は、同時に動かした結果が、何らかの順番で 1 つずつ動かした結果と同じになることです。

なぜ: 本当に 1 つずつ動かせば干渉は起きませんが、それでは遅すぎます。そこで、実際には同時に動かしながら、結果だけは順番に動かした場合と区別がつかないように制御します。その性質が直列化可能性です。

  • ア … 2 相コミットは分散トランザクションの合意の手順で、直列化可能性とは別の話です
  • イ … 逆です。直列化可能性は、干渉が起きない最も強い隔離の性質です
  • ウ … 「一つずつ順に実行する」のは直列実行そのものです。直列化可能性は、同時に実行しても結果がそれと同じになることを言います

解説は本サイトが独自に作成したものです。根拠にした一次情報は次のとおりです。

出典: 令和2年度 10月 データベーススペシャリスト試験 午前Ⅱ 問11(IPA 独立行政法人 情報処理推進機構)/問題冊子・解答例

問 12

同時実行制御

SQL トランザクション内で変更を部分的に取り消すために設定するものはどれか。

  1. ア
    コミットポイント
  2. イ
    セーブポイント
  3. ウ
    制約モード
  4. エ
    チェックポイント
解答と解説を見る

正解: イ

結論: セーブポイントです。

なぜ: トランザクションの途中に SAVEPOINT 名前 で印を付けておくと、ROLLBACK TO SAVEPOINT 名前 でその印より後の変更だけを取り消せます。印より前の変更は残り、トランザクションも続けられます。

  • ア … コミットポイントは、トランザクションの変更が確定する時点のことで、取り消しの印ではありません
  • ウ … 制約モードは、制約の検査をいつ行うか(すぐか、コミット時か)の設定です
  • エ … チェックポイントは、障害回復を速くするために、メモリ上の更新をディスクへ書き出す時点のことです

解説は本サイトが独自に作成したものです。根拠にした一次情報は次のとおりです。

出典: 令和2年度 10月 データベーススペシャリスト試験 午前Ⅱ 問12(IPA 独立行政法人 情報処理推進機構)/問題冊子・解答例

問 13

性能設計

ハッシュ方式によるデータ格納方法の説明はどれか。

  1. ア
    レコードの特定のデータ項目の値が論理的に関連したレコードを,同一ブロック又はできる限り隣接したブロックに格納する。
  2. イ
    レコードの特定のデータ項目の値に対応した子レコード同士を,ポインタで鎖状に連結して格納する。
  3. ウ
    レコードの特定のデータ項目の値の順序を保持して,中間ノードとリーフノードの平衡木構造のブロックを作り,リーフブロックにレコード格納位置へのポインタを格納する。
  4. エ
    レコードの特定のデータ項目の値を引数とした関数の結果に従って決められたレコード格納場所に格納する。
解答と解説を見る

正解: エ

結論: ハッシュ方式は、キーの値を関数(ハッシュ関数)に通した結果で、格納場所を決める方式です。

なぜ: 同じキーなら同じ計算結果になるので、探すときも同じ関数に通せば、格納場所へ直接たどり着けます。等しい値を探すのは速い一方、値の大小の順には並ばないので、範囲を指定して探すのには向きません。

ほかの選択肢は別の格納方法です。

  • ア … クラスタリング(関連するレコードを近くに置く)
  • イ … ポインタでつなぐ方式(ネットワーク型・階層型データベースの格納)
  • ウ … B+木

解説は本サイトが独自に作成したものです。根拠にした一次情報は次のとおりです。

出典: 令和2年度 10月 データベーススペシャリスト試験 午前Ⅱ 問13(IPA 独立行政法人 情報処理推進機構)/問題冊子・解答例

問 14

同時実行制御

同時実行制御の手法の一種である楽観的制御法に関する記述として,適切なものはどれか。

  1. ア
    データに対して順序付けを行い,その順序に従ってロックを掛ける。
  2. イ
    データに対してのロックは行わずに,更新対象のデータが他のトランザクションと競合がなかったことを確認してからコミットを行う。
  3. ウ
    分散データベースシステムにおいて,コミット可否の問合せをした上で,コミット指示を行う。
  4. エ
    ロックが増加していく成長フェーズである第 1 相と,ロックが減少していく縮退フェーズである第 2 相の 2 相制御を行う。
解答と解説を見る

正解: イ

結論: 楽観的制御法は、ロックを掛けずに処理を進め、コミットの直前に「ぶつかっていないか」を確かめる方式です。

なぜ: 「たぶん他のトランザクションとは衝突しない」と楽観して、先に処理してしまいます。コミットの前に、読んだり書いたりしたデータを誰かが変えていないかを確認し、変えられていればやり直します。衝突がめったに起きない場面では、ロック待ちが無いぶん速く動きます。

  • ア … ロックを掛ける順番を決めておく方法(デッドロックを防ぐ工夫)
  • ウ … 2 相コミット
  • エ … 2 相ロック方式。ロックを使う悲観的な方法の代表です

解説は本サイトが独自に作成したものです。根拠にした一次情報は次のとおりです。

出典: 令和2年度 10月 データベーススペシャリスト試験 午前Ⅱ 問14(IPA 独立行政法人 情報処理推進機構)/問題冊子・解答例

問 15

応用技術同じ設問が 令和6年度 秋期 午前Ⅱ 問16、令和4年度 秋期 午前Ⅱ 問16 にも出ています

ビッグデータの処理に使用される CEP(複合イベント処理)に関する記述として,適切なものはどれか。

  1. ア
    多次元データベースを構築することによって,集計及び分析を行う方式である。
  2. イ
    データ更新時に更新前のデータを保持することによって,同時実行制御を行う方式である。
  3. ウ
    分散データベースシステムにおけるトランザクションを実現する方式である。
  4. エ
    連続して発生するデータに対し,あらかじめ規定した条件に合致する場合に実行される処理を実装する方式である。
解答と解説を見る

正解: エ

結論: CEP は、次々に流れてくるデータ(イベント)を、ためずにその場で調べ、決めておいた条件に合えば処理を動かす方式です。

なぜ: ふつうのデータベースは「ためてから問い合わせる」のに対し、CEP は「条件を先に置いておき、データの方を流す」という逆の発想です。センサーの値や取引の記録のように、絶え間なく届くデータへの即時の反応に使います。

ほかの選択肢は別の技術の説明です。

  • ア … OLAP(多次元分析)
  • イ … 多版同時実行制御(MVCC)
  • ウ … 2 相コミットなどの分散トランザクション

解説は本サイトが独自に作成したものです。根拠にした一次情報は次のとおりです。

出典: 令和2年度 10月 データベーススペシャリスト試験 午前Ⅱ 問15(IPA 独立行政法人 情報処理推進機構)/問題冊子・解答例

問 16

応用技術

NoSQL のうち,データ構造はキーに対して一つの値をもつデータモデルであり,データ間は疎結合で分散して配置しやすい特徴をもつものはどれか。

  1. ア
    キーバリューストア
  2. イ
    グラフデータベース
  3. ウ
    文書データストア
  4. エ
    ワイドカラムデータストア
解答と解説を見る

正解: ア

結論: キー 1 つに値 1 つを対応させるのはキーバリューストアです。

なぜ: キーバリューストアは「キー → 値」の組だけを持ちます。組どうしに関係が無い(疎結合)ので、キーごとに別々のサーバへ分けて置いても困らず、分散させやすいのが特徴です。

ほかの選択肢は、値の持ち方が違います。

  • イ グラフデータベース … ノードとそのつながり(辺)を持つ。データどうしの関係そのものが主役
  • ウ 文書データストア … 値として、入れ子の構造をもつ文書(JSON など)を持つ
  • エ ワイドカラムデータストア … 1 つのキーに、列の名前と値の組を多数持つ

解説は本サイトが独自に作成したものです。根拠にした一次情報は次のとおりです。

出典: 令和2年度 10月 データベーススペシャリスト試験 午前Ⅱ 問16(IPA 独立行政法人 情報処理推進機構)/問題冊子・解答例

問 17

応用技術

OLAP によって,商品の販売状況分析を商品軸,販売チャネル軸,時間軸,顧客タイプ軸で行う。データ集計の観点を,商品,販売チャネルごとから,商品,顧客タイプごとに切り替える操作はどれか。

  1. ア
    ダイス
  2. イ
    データクレンジング
  3. ウ
    ドリルダウン
  4. エ
    ロールアップ
解答と解説を見る

正解: ア

結論: 集計に使う軸の組合せを切り替えるのはダイスです。

なぜ: OLAP では、データを複数の軸をもつ立方体(キューブ)として扱います。ダイスは、そのキューブを別の角度から切り直す操作で、「商品 × 販売チャネル」で見ていたものを「商品 × 顧客タイプ」で見直す、といった軸の入替えがこれに当たります。

  • イ データクレンジング … 誤りや表記の揺れを直してデータをきれいにする前処理で、OLAP の操作ではありません
  • ウ ドリルダウン … 同じ軸の中で、より細かい単位へ下りる(年 → 月 → 日)
  • エ ロールアップ … 同じ軸の中で、より粗い単位へまとめる(日 → 月 → 年)

解説は本サイトが独自に作成したものです。根拠にした一次情報は次のとおりです。

出典: 令和2年度 10月 データベーススペシャリスト試験 午前Ⅱ 問17(IPA 独立行政法人 情報処理推進機構)/問題冊子・解答例

問 18

応用技術

分散型 DBMS において,二つのデータベースサイトの表で結合を行う場合,どちらか一方の表をもう一方のデータベースサイトに送る必要がある。その際,表の結合に必要な列値だけを送り,結合に成功した結果を元のデータベースサイトに転送して,最終的な結合を行う方式はどれか。

  1. ア
    入れ子ループ法
  2. イ
    セミジョイン法
  3. ウ
    ハッシュセミジョイン法
  4. エ
    マージジョイン法
解答と解説を見る

正解: イ

結論: 結合に必要な列だけを先に送って絞り込むのはセミジョイン法です。

なぜ: 表を丸ごと送ると通信量が大きくなります。セミジョイン法では、

1. サイト 1 が、結合に使う列の値だけをサイト 2 へ送る2. サイト 2 は、その値と結合できる行だけを選び、サイト 1 へ送り返す3. サイト 1 で最終的な結合を行う

という手順で、結合に関係する行だけをやり取りします。

  • ア・エ … 入れ子ループ法・マージジョイン法は、1 つのサイトの中での結合の計算方法で、サイト間で何を送るかの方式ではありません
  • ウ … ハッシュセミジョイン法は、列の値そのものではなくハッシュ値を送る方式です。問題文は「列値だけを送り」と言っているのでセミジョイン法です

解説は本サイトが独自に作成したものです。根拠にした一次情報は次のとおりです。

出典: 令和2年度 10月 データベーススペシャリスト試験 午前Ⅱ 問18(IPA 独立行政法人 情報処理推進機構)/問題冊子・解答例

問 19

セキュリティ

エクスプロイトコードの説明はどれか。

  1. ア
    攻撃コードとも呼ばれ,ソフトウェアの脆弱性を悪用するコードのことであり,使い方によっては脆弱性の検証に役立つこともある。
  2. イ
    マルウェア定義ファイルとも呼ばれ,マルウェアを特定するための特徴的なコードのことであり,マルウェア対策ソフトによるマルウェアの検知に用いられる。
  3. ウ
    メッセージとシークレットデータから計算されるハッシュコードのことであり,メッセージの改ざん検知に用いられる。
  4. エ
    ログインのたびに変化する認証コードのことであり,窃取されても再利用できないので不正アクセスを防ぐ。
解答と解説を見る

正解: ア

結論: エクスプロイトコードは、脆弱性を実際に突くためのコードです。

なぜ: 攻撃に使われる一方で、自分のシステムに本当にその脆弱性があるかを確かめる(修正が効いたかを検証する)ためにも使われます。使う人と目的によって、攻撃にも防御にもなる道具です。

ほかの選択肢は別のものです。

  • イ … シグネチャ(パターンファイル)
  • ウ … メッセージ認証コード(MAC)
  • エ … ワンタイムパスワード

解説は本サイトが独自に作成したものです。根拠にした一次情報は次のとおりです。

出典: 令和2年度 10月 データベーススペシャリスト試験 午前Ⅱ 問19(IPA 独立行政法人 情報処理推進機構)/問題冊子・解答例

問 20

セキュリティ

ディジタル証明書に関する記述のうち,適切なものはどれか。

  1. ア
    S/MIME や TLS で利用するディジタル証明書の規格は,ITU-T X.400 で標準化されている。
  2. イ
    TLS において,ディジタル証明書は,通信データの暗号化のための鍵交換や通信相手の認証に利用されている。
  3. ウ
    認証局が発行するディジタル証明書は,申請者の秘密鍵に対して認証局がディジタル署名したものである。
  4. エ
    ルート認証局は,下位の認証局の公開鍵にルート認証局の公開鍵でディジタル署名したディジタル証明書を発行する。
解答と解説を見る

正解: イ

結論: TLS では、ディジタル証明書を通信相手の確認と、鍵交換に使います。

なぜ: サーバは証明書を相手に示し、「この公開鍵は確かにこのサーバのものだ」と認証局に保証してもらいます。クライアントはそれを確かめることで、偽のサーバと話していないかを判断し、そのうえで暗号化に使う鍵を取り決めます。

  • ア … 証明書の規格は X.509 です。X.400 は電子メールの規格です
  • ウ … 認証局が署名するのは申請者の公開鍵(を含む証明書の内容)です。秘密鍵は本人だけが持ち、認証局に渡しません
  • エ … 署名に使うのはルート認証局の秘密鍵です。公開鍵では署名できず、署名を確かめる側が公開鍵を使います

解説は本サイトが独自に作成したものです。根拠にした一次情報は次のとおりです。

出典: 令和2年度 10月 データベーススペシャリスト試験 午前Ⅱ 問20(IPA 独立行政法人 情報処理推進機構)/問題冊子・解答例

問 21

セキュリティ

マルチベクトル型 DDoS 攻撃に該当するものはどれか。

  1. ア
    攻撃対象の Web サーバ 1 台に対して,多数の PC から一斉にリクエストを送ってサーバのリソースを枯渇させる攻撃と,大量の DNS 通信によってネットワークの帯域を消費する攻撃を同時に行う。
  2. イ
    攻撃対象の Web サイトのログインパスワードを解読するために,ブルートフォースによるログイン試行を,多数のスマートフォン,IoT 機器などから成るボットネットを踏み台にして一斉に行う。
  3. ウ
    攻撃対象のサーバに大量のレスポンスが同時に送り付けられるようにするために,多数のオープンリゾルバに対して,送信元 IP アドレスを攻撃対象のサーバの IP アドレスに偽装した名前解決のリクエストを一斉に送信する。
  4. エ
    攻撃対象の組織内の多数の端末をマルウェアに感染させ,当該マルウェアを遠隔操作することによってデータの改ざんやファイルの消去を一斉に行う。
解答と解説を見る

正解: ア

結論: マルチベクトル型は、種類の違う DDoS 攻撃を組み合わせて同時に仕掛けるものです。

なぜ: 「ベクトル」は攻撃の手口のことです。アは、サーバの処理能力を使い切らせる攻撃と、回線の帯域を埋める攻撃という性質の違う 2 つを同時に行っています。片方への対策だけでは防げないので、守る側が厄介になります。

  • イ … 多数の機器から行うパスワードの総当たりで、サービスを止める DDoS ではありません
  • ウ … DNS の応答を攻撃対象へ集中させる DNS リフレクション(DRDoS)で、手口は 1 種類です
  • エ … マルウェアによるデータの改ざん・消去で、DDoS ではありません

解説は本サイトが独自に作成したものです。根拠にした一次情報は次のとおりです。

出典: 令和2年度 10月 データベーススペシャリスト試験 午前Ⅱ 問21(IPA 独立行政法人 情報処理推進機構)/問題冊子・解答例

問 22

コンピュータ構成要素

電気泳動型電子ペーパの説明として,適切なものはどれか。

  1. ア
    デバイスに印加した電圧によって,光の透過状態を変化させて表示する。
  2. イ
    電圧を印加した電極に,着色した帯電粒子を集めて表示する。
  3. ウ
    電圧をかけると発光する薄膜デバイスを用いて表示する。
  4. エ
    半導体デバイス上に作成した微小な鏡の向きを変えて,反射することによって表示する。
解答と解説を見る

正解: イ

結論: 電気泳動型は、電気を帯びた色付きの粒子を、電圧で表面に引き寄せて表示します。

なぜ: 液体の中に、白と黒など色の違う帯電粒子が入っています。電極に電圧をかけると、その電荷に引かれた粒子が表面側に集まり、その色が見えます。表示を保つのに電力がほとんど要らないので、電子書籍の端末などに使われています。

ほかの選択肢は別の表示方式です。

  • ア … 液晶(光の通り方を変える)
  • ウ … 有機 EL など(自ら光る)
  • エ … DMD(微小な鏡を傾ける。プロジェクタに使われる)

解説は本サイトが独自に作成したものです。根拠にした一次情報は次のとおりです。

出典: 令和2年度 10月 データベーススペシャリスト試験 午前Ⅱ 問22(IPA 独立行政法人 情報処理推進機構)/問題冊子・解答例

問 23

システム構成要素

HA(High Availability)クラスタリングにおいて,本番系サーバのハートビート信号が一定時間にわたって待機系サーバに届かなかった場合に行われるフェールオーバ処理の順序として,適切なものはどれか。

〔フェールオーバ処理ステップ〕 (1) 待機系サーバは,本番系サーバのディスクハートビートのログ(書込みログ)をチェックし,ネットワークに負荷が掛かってハートビート信号が届かなかったのかを確認する。 (2) 待機系サーバは,本番系サーバの論理ドライブの専有権を奪い,ロックを掛ける。 (3) 本番系サーバと待機系サーバが接続しているスイッチに対して,待機系サーバから,接続しているネットワークが正常かどうかを確認する。 (4) 本番系サーバは,OS に対してシャットダウン要求を発行し,自ら強制シャットダウンを行う。
  1. ア
    (1),(2),(3),(4)
  2. イ
    (2),(3),(1),(4)
  3. ウ
    (3),(1),(2),(4)
  4. エ
    (3),(2),(1),(4)
解答と解説を見る

正解: ウ

結論: (3) → (1) → (2) → (4) です。原因を外側から順に切り分け、確定してから引き継ぎます。

なぜ: ハートビートが届かない原因は「本番系が止まった」とは限りません。早まって引き継ぐと、本番系と待機系が両方とも動いて同じディスクに書き込む事態(スプリットブレイン)になります。

1. (3) まず待機系自身のネットワークが正常かを確かめる。自分の側の故障なら、引き継ぐべきではありません2. (1) 次に、ディスク上のハートビートの記録を見て、本番系が本当に止まったのか、ネットワークが混んで届かなかっただけなのかを確かめる3. (2) 本番系の異常と判断できたら、論理ドライブの専有権を奪ってロックを掛ける。これで本番系はもう書き込めません4. (4) 専有権を失った本番系は、自ら OS をシャットダウンして退く

ロックを掛ける (2) を確認より先に行うア・イ・エは、原因を確かめないまま引き継ぐことになります。

解説は本サイトが独自に作成したものです。根拠にした一次情報は次のとおりです。

出典: 令和2年度 10月 データベーススペシャリスト試験 午前Ⅱ 問23(IPA 独立行政法人 情報処理推進機構)/問題冊子・解答例

問 24

開発技術

システム要求事項分析プロセスにおいて BPMN(Business Process Model and Notation)を導入する効果として,適切なものはどれか。

  1. ア
    業務の実施状況や実績を定量的に把握できる。
  2. イ
    業務の流れを統一的な表記方法で表現できる。
  3. ウ
    定義された業務要求事項からデータモデルを自動生成できる。
  4. エ
    要求事項を E-R 図によって明確に表現できる。
解答と解説を見る

正解: イ

結論: BPMN は、業務の流れを図で描くための標準の書き方です。

なぜ: OMG が定めた表記法で、作業・分岐・イベント・担当者の区切りなどを決まった記号で描きます。書き方がそろっているので、業務の担当者とシステムの開発者が同じ図を同じ意味で読めます。

  • ア … 実績を数字でつかむのは、業務の監視や分析の道具の役目です。BPMN は流れを描く表記法です
  • ウ … BPMN からデータモデルが自動で作られるわけではありません
  • エ … E-R 図はデータの構造を描く別の表記法です

解説は本サイトが独自に作成したものです。根拠にした一次情報は次のとおりです。

出典: 令和2年度 10月 データベーススペシャリスト試験 午前Ⅱ 問24(IPA 独立行政法人 情報処理推進機構)/問題冊子・解答例

問 25

開発技術

ユースケース駆動開発の利点はどれか。

  1. ア
    開発を反復するので,新しい要求やビジネス目標の変化に柔軟に対応しやすい。
  2. イ
    開発を反復するので,リスクが高い部分に対して初期段階で対処しやすく,プロジェクト全体のリスクを減らすことができる。
  3. ウ
    基本となるアーキテクチャをプロジェクトの初期に決定するので,コンポーネントを再利用しやすくなる。
  4. エ
    ひとまとまりの要件を 1 単位として設計からテストまで実施するので,要件ごとに開発状況が把握できる。
解答と解説を見る

正解: エ

結論: ユースケース駆動開発では、ユースケース(利用者から見たひとまとまりの要件)ごとに、設計からテストまでを通して進めるので、要件ごとの進み具合が分かります。

なぜ: 「どのユースケースがどこまでできたか」を単位に開発を管理するので、どの要件が設計中で、どれがテスト済みかが見えるようになります。開発の物差しがユースケースそのものになるのが、この方式の特徴です。

ア・イの「開発を反復する」ことによる利点は、反復型開発の利点です。ウの「アーキテクチャを初期に決める」ことはアーキテクチャ中心の考え方の利点です。どちらもユースケース駆動と組み合わせて使われることが多いのですが、ユースケース駆動そのものの利点ではありません。

解説は本サイトが独自に作成したものです。根拠にした一次情報は次のとおりです。

出典: 令和2年度 10月 データベーススペシャリスト試験 午前Ⅱ 問25(IPA 独立行政法人 情報処理推進機構)/問題冊子・解答例

出典と改変について

設問と選択肢は IPA(独立行政法人 情報処理推進機構)が公開している問題冊子からの引用です。正解は同じく IPA が公開している解答例で確認しています。原本の図表はスキャン画像のため、内容を変えずに読みやすく組み直しました。何を組み直したかは各問に書いています。解説は本サイトが独自に作成したもので、IPA の見解ではありません。本サイトは IPA とは関係のない非公式のサイトです。

← 過去問の一覧へ戻る