H27 春期 DB 午前Ⅱ

002

問

1

平成 27 年度 春期 データベーススペシャリスト 午前 Ⅱ

正解

完璧

直前
チェック

データベースの 3 層スキーマアーキテクチャに関する記述として，適切なものはどれか。
ア

概念スキーマは，内部スキーマと外部スキーマの間に位置し，エンティティやデー

タ項目相互の関係に関する情報をもつ。
イ

外部スキーマは，概念スキーマをコンピュータ上に具体的に実現させるための記述

であり，データベースに対して，ただ一つ存在する。
ウ

サブスキーマは，複数のデータベースを結合した内部スキーマの一部を表す。

エ

内部スキーマは，個々のプログラム又はユーザの立場から見たデータベースの記述

である。

問

2

正解

完璧

SELECT 期首残高 +SUM(金額) AS 残高 FROM 勘定 , 移動 , 会計取引
WHERE 勘定 . 勘定科目 = 移動 . 勘定科目 AND
会計取引 . 取引番号 = 移動 . 取引番号 AND
勘定 . 勘定科目 = ' 現金 'AND
取引日 < = '2015-04-30'
GROUP BY 勘定 . 勘定科目 , 期首残高
ウ SELECT 残高 FROM 勘定 , 移動 , 会計取引
WHERE 勘定 . 勘定科目 = ' 現金 'AND
取引日 < = '2015-04-30'
エ SELECT 残高 FROM 勘定 , 移動 , 会計取引
WHERE 勘定 . 勘定科目 = 移動 . 勘定科目 AND
勘定 . 勘定科目 = ' 現金 'AND
取引日 < = '2015-04-30'
イ

直前
チェック

図のデータモデルは会計取引の仕訳を表現している。 移動 がリンクする 勘定 の残高を増やす場合は金額の符号を正に，減らす場合は負にすることで，貸借平均の原理を表現する。このモデルに基づき， 勘定 表， 会計取引 表， 移動 表を定義した。
勘定科目 現金 の 2015 年 4 月 30 日における残高を導出するための SQL 文はどれか。こ

問1
解説

ア
3 層スキーマアーキテクチャは，外部スキーマ，概念スキーマ，内部スキーマから構成されている。
外部スキーマ：利用者から見たデータの並べ方や，抽出方法を定義したもの。

こで，モデルの表記には UML を用い，表中の実線の下線は主キーを表す。また， 会計

概念スキーマ：データ全体の構造を定義したもの。

取引 表には今期分のデータだけが保持される。

内部スキーマ：コンピュータや記憶装置上に記録するデータの物理的な配置構造を記述し
たもの。

勘定
勘定科目
期首残高
/ 残高

2..＊
移動
金額

＊ 会計取引
取引番号
取引日
制約：一つの会計
取引につながる移動の金額の和はゼロであること。

勘定（勘定科目，期首残高）
会計取引（取引番号，取引日）
移動（勘定科目，取引番号，金額）
ア

SELECT SUM(金額) AS 残高 FROM 勘定 , 移動 , 会計取引
WHERE 勘定 . 勘定科目 = 移動 . 勘定科目 AND
会計取引 . 取引番号 = 移動 . 取引番号 AND
勘定 . 勘定科目 = ' 現金 ' AND
取引日 < = '2015-04-30'

イ：内部スキーマの説明である。
ウ：サブスキーマとは外部スキーマのことである。
エ：外部スキーマの説明である。

問2
解説

イ
勘定 と 会計取引 は直接にはリンクしないが， 移動 の要素である 勘定科目と 取引番号 でリンクされている。WHERE 文では， 移動 を介して 勘定 と 会計取引をリンクする条件を記述する。リンクした上で 勘定科目 が現金で， 取引日 が 2015 年
4 月 30 日以前という条件を記述する。
また， 現金 の残高は 期首残高 に対して残高の増減があるので，SELECT 句では 金
額 の合計と 期首残高 が加算されなければならない。
これらの内容から，選択肢イの SQL 文が正しい。

003

春

H27 春期 DB 午前Ⅱ

004

問

3

平成 27 年度 春期 データベーススペシャリスト 午前 Ⅱ

正解

直前
チェック

完璧

関係 R は属性｛ A，B，C，D，E ｝から成り，関数従属 A →｛ B，C ｝，｛ C，D ｝→ E が

問3
解説

ウ
従属関係を表す矢印（→）の先に注目すると，B，C，E が見られる。つまり B，C，E は従属する側である。B，C，E 以外，すなわち A と D は従属される側であり，この二つ成立する。これらの関数従属から決定できる R の候補キーはどれか。

が決まれば他の三つの要素が確定する。

ア ｛ A，C ｝

イ ｛ A，C，D ｝

ウ ｛ A，D ｝

エ ｛ C，D ｝

問4
問

4

正解

完璧

直前
チェック

UML を用いて記述したデータモデルにおいて， 受講 クラスの属性として，適切なものはどれか。

解説エ
問題のデータモデルを見ると， 学生 が， 学期 に 授業科目 を 受講 するというモデルであることがわかる。
ア：学期名は 学期 クラスの属性である。
イ：科目名は 授業科目 クラスの属性である。
ウ：氏名は 学生 クラスの属性である。
エ：成績は，学生と受講した学期と授業科目の組合せに対してデータが発生する。した学期がって， 受講 クラスの属性となる。

1

問5

＊
学生

1

＊

受講

＊

1

エ

解説

授業科目

DBMS（Data Base Management System）：共有データの管理や，データへのアクセス管理を行うソフトウェアである。

ア

学期名

イ

科目名

ウ

氏名

エ

トランザクション：データベース処理において，まとまった一つの実行単位を指す。

成績

ロールバック：トランザクション障害の復旧において，データの論理的整合性を保つ処理である。ジャーナルファイルを用いて更新前の状態にデータベースを再構成する。

問

5

正解

完璧

直前
チェック

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

ロールフォワード：媒体障害の復旧を行う処理。バックアップデータをリストアし，ジャー
ナルファイルを用いて媒体傷害発生直前の状態にデータベースを復旧する。
ア：トランザクションが取り消された場合は更新前の状態，すなわちバックアップを用いてデータベースを復旧する。

ア

トランザクションの取消しに備えて，データベースの更新されたページに対する更新後情報を取得する。
イ

媒体障害からの復旧に備えて，データベースの更新されたページに対する更新前情報を取得する。
ウ

ロールバック後のトランザクション再実行に備えて，データベースの更新されたページに対する更新後情報を取得する。
エ

ロールフォワードに備えて，データベースの更新されたページに対する更新後情報を取得する。

イ：媒体障害の場合は，バックアップデータをリストアし，ジャーナルファイルにしたがってデータベースを復旧する。バックアップとジャーナルファイルが必要となる。
ウ：ロールバック後のトランザクション再実行には，実際にトランザクションを実行する。
更新後情報での実行は行わない。
エ：ロールフォワードではバックアップデータをリストアした媒体に対して，更新後情報
を含むジャーナルファイルを用いて障害発生直前の状態にまで復旧する。

005

春

H27 春期 DB 午前Ⅱ

006

問

6

平成 27 年度 春期 データベーススペシャリスト 午前 Ⅱ

正解

直前
チェック

完璧

受注入力システムによって作成される次の表に関する記述のうち，適切なものはどれ

問6
解説

イ
繰り返しの列は見られないので，第 1 正規形の条件は満たしている。主キーは，か。受注番号は受注ごとに新たに発行される番号であり，項番は 1 回の受注で商品コー問題文より受注番号と項番の組合せである。受注日と得意先コードはこの主キーの組に従ド別に連番で発行される番号である。

属するので，これは主キーに対する関数従属性である。この従属関係を分離すると第 2 正規形となるので，問題の表の状態では第 2 正規形とはいえない。したがって，問題の表は

なお，単価は商品コードによって一意に定まる。

第 1 正規形である。

受注日

受注番号

得意先コード

項番

商品コード

数量

単価

2015 - 03 - 05

995867

0256

1

20121

20

20,0002015 - 03 - 05

995867

0256

2

24005

10

15,0002015 - 03 - 05

995867

0256

3

28007

5

5,000

ア

正規化は行われていない。

イ

第 1 正規形まで正規化されている。

ウ

第 2 正規形まで正規化されている。

エ第 3 正規形まで正規化されている。

第 1 正規形：全ての属性が単純属性であること。つまり，属性の値として繰返しをもたない。
第 2 正規形：第 1 正規形であり，かつ，全ての非キー属性が候補キーに対して部分関数従属していないこと（完全関数従属であること）。
第 3 正規形：第 2 正規形であり，かつ，全ての非キー属性が候補キーに対して推移的関数
従属していないこと。

問7
解説

イ
抽出する期間が 2014 年度と指定されているので，その条件が記述されなければならない。したがって選択肢アは除外される。

問

7

正解

完璧

直前
チェック

過去 3 年分の記録を保存している 試験結果 表から，2014 年度の平均点数が 600 点以上となったクラスのクラス名と平均点数の一覧を取得する SQL 文はどれか。ここで，実線の下線は主キーを表す。
試験結果（学生番号，受験年月日，点数，クラス名）

SELECT クラス名 ,AVG(点数)FROM 試験結果
GROUP BY クラス名 HAVING AVG(点数)> = 600
イ SELECT クラス名 ,AVG(点数)FROM 試験結果
WHERE 受験年月日 BETWEEN'2014-04-01' AND '2015-03-31'
GROUP BY クラス名 HAVING AVG( 点数 )> = 600
ウ SELECT クラス名 , AVG(点数)FROM 試験結果
WHERE 受験年月日 BETWEEN'2014-04-01' AND '2015-03-31'
GROUP BY クラス名 HAVING 点数 > = 600
エ SELECT クラス名 ,AVG(点数)FROM 試験結果
WHERE 点数 > = 600
GROUP BY クラス名
HAVING(MAX(受験年月日)
BETWEEN'2014-04-01' AND '2015-03-31')ア

平均点数が 600 点以上という条件は，条件文で「AVG(点数)> = 600」という記述が必要となる。選択肢ウとエでは「点数 > = 600」となっているので，除外される。

イ：WHERE 文では受験年月日として 2014 年度を指定している。GROUP BY 句では平均点が 600 以上であるクラス名でグループ化している。したがって，2014 年度の平均点数
が 600 点以上のクラスを取得する SQL 文となっている。

007

春

H27 春期 DB 午前Ⅱ

008

問

8

平成 27 年度 春期 データベーススペシャリスト 午前 Ⅱ

正解

完璧

直前
チェック

社員取得資格 表に対し，SQL 文を実行して結果を得た。SQL 文の a に入る字句はど

解説

ア
問題の〔結果〕より，資格 1 として FE を取得した社員について，資格 2 としてのAP の取得の有無を SQL 文で抽出していると考えられる。

れか。
社員取得資格〔SQL 文〕では，社員取得資格表を C1 および C2 として二つの表に読み替え，その二表〔結果〕を LEFT OUTER JOIN で接続している。接続条件を示す ON句では，選択肢エを除き，

社員コード

資格

社員コード

資格 1

資格 2

S001

FE

S001

FE

AP

S001

AP

S002

FE

NULL

S001

DB

S003

FE

NULL

S002

FE

S002

SM

S003

FE

S001

FE

AP

S004

AP

S002

FE

NULL

S005

NULL

S003

FE

NULL

S004

NULL

AP

接続するときのキーと，C1 および C2 から結合させるデータを抽出する条件が示される。
問題の〔結果〕表より，接続するときのキーは C1 および C2 それぞれの社員コードとなる。

また，C1 からは資格 1 が FE であるデータが，C2 の資格 2 が AP であるデータが結合される。選択肢ア〜ウで共通して示されている ON 句の内容にしたがって二表を結合すると，下表となる。

〔結果〕では，上表のうち資格 1 が FE となる行のみが表示されている。その条件記述は，〔SQL 文〕

SELECT C1. 社員コード , C1. 資格 AS 資格 1, C2. 資格 AS 資格 2
FROM 社員取得資格 C1 LEFT OUTER JOIN 社員取得資格 C2
a

ON C1. 社員コード = C2. 社員コード
AND C1. 資格 = 'FE' AND C2. 資格 = 'AP'
WHERE C1. 資格 = 'FE'
イ ON C1. 社員コード = C2. 社員コード
AND C1. 資格 = 'FE' AND C2. 資格 = 'AP'
WHERE C1. 資格 IS NOT NULL
ウ ON C1. 社員コード = C2. 社員コード
AND C1. 資格 = 'FE' AND C2. 資格 = 'AP'
WHERE C2. 資格 = 'AP'エ ON C1. 社員コード = C2. 社員コード
WHERE C1. 資格 = 'FE' AND C2. 資格 = 'AP'
ア

問8

WHERE C1. 資格 = 'FE' となる。したがって，選択肢アが正解となる。なお，選択肢

エの条件記述では，資格 2 が NULL となる結果は出力できない。

009

春

H27 春期 DB 午前Ⅱ

010

問

9

平成 27 年度 春期 データベーススペシャリスト 午前 Ⅱ

正解

直前
チェック

完璧

関係 R と S において，R ÷ S の関係演算結果として，適切なものはどれか。ここで，

問9
解説

ウ
表 R の属性「店」のなかに，表 S の属性「商品：a，b，c」を全て含むものがあれば，その値を取り出す処理が除算である。この関係を満たすのは，選択肢ウの「店：B」である。

÷は除算を表す。

これは，「店：B」と「商品：a，b，c」の直積「Ba，Bb，Bc」が表 R に含まれていることで
R

ア

店

イ

店

商品

A

a

a

A

b

b

B

a

c

B

b

B

c

C

c

D

c

D

d

E

d

E

e

店

A

A

A

B

B

C

B

D

B
C
D

確かめられる。

S
商品

ウ

店
B

エ

店
E

011

春

H27 春期 DB 午前Ⅱ012

平成 27 年度 春期 データベーススペシャリスト 午前 Ⅱ

問 10

正解

直前
チェック

完璧

問 10
解説

商品 表と 納品 表を商品番号で等結合した結果はどれか。

エ
等結合では，キーとなる要素を統一せずにそれぞれを表示したままとする。問題では商品番号をキーとして等結合を行っているので，商品番号は商品表と納品表のそれ
商品

ア

イ

ウ

エ

ぞれを表示した形で表示する。また，商品表の商品番号 S01 に対応する納品表のデータは

納品

商品番号

商品名

価格

商品番号

顧客番号

S01

ボールペン

150

S01

C01

納品数

ので，等結合した結果の表はこれらを合計して 5 行となる。したがって，上記の条件を考慮すると，正しい等結合の結果は選択肢エの表となる。

S02

消しゴム

80

S01

C02

30

S03

クリップ

200

S02

C02

20

S02

C03

40

S03

C03

60

納品数

商品番号

商品名

価格

顧客番号

S01

ボールペン

150

C01

10

S02

消しゴム

80

C02

20

S03

クリップ

200

C03

60

商品番号

商品名

価格

商品番号

顧客番号

2 行，商品番号 S02 に対応するデータも 2 行，商品番号 S03 に対応するデータは 1 行となる

10

納品数

S01

ボールペン

150

S01

C01

10

S02

消しゴム

80

S02

C02

20

S03

クリップ

200

S03

C03

60

商品番号

商品名

価格

顧客番号

納品数

S01

ボールペン

150

C01

10

S01

ボールペン

150

C02

30

S02

消しゴム

80

C02

20

S02

消しゴム

80

C03

40

S03

クリップ

200

C03

60

商品番号

商品名

価格

商品番号

顧客番号

納品数

S01

ボールペン

150

S01

C01

10

S01

ボールペン

150

S01

C02

30

S02

消しゴム

80

S02

C02

20

S02

消しゴム

80

S02

C03

40

S03

クリップ

200

S03

C03

60

013

春

H27 春期 DB 午前Ⅱ

014

問 11

平成 27 年度 春期 データベーススペシャリスト 午前 Ⅱ

正解

完璧

直前
チェック

庭に訪れた野鳥の数を記録する 観測 表がある。観測のたびに通番を振り，鳥名と観測数を記録している。AVG 関数を用いて鳥名別に野鳥の観測数の平均値を得るために，一度でも訪れた野鳥については，観測されなかったときの観測数を 0 とするデータを明示的に挿入する。SQL 文の a に入る字句はどれか。ここで，通番は初回を 1 として，観測のタイミングごとにカウントアップされる。

CREATE TABLE 観測 (通番
INTEGER,
鳥名
CHAR(20),
観測数 INTEGER,
PRIMARY KEY( 通番 , 鳥名 ))INSERT INTO 観測
SELECT DISTINCT obs1. 通番 , obs2. 鳥名 ,0FROM 観測 AS obs1, 観測 AS obs2
WHERE NOT EXISTS(
SELECT ＊ FROM 観測 AS obs3a
WHERE
AND obs2. 鳥名 = obs3. 鳥名 )obs1. 通番 = obs1. 通番
イ obs1. 通番 = obs2. 通番
ウ obs1. 通番 = obs3. 通番エ obs2. 通番 = obs3. 通番

ア

問 11

ウ

解説

CREATE 文で定義されたテーブルは，観測（通番 ，鳥名 ，観測数）となる。下線は主キーである。
INSERT 文では，観測されなかったときの観測数 0 を観測表へ明示的に登録する SQL 文を定義している。
SELECT DISTINCT 文では観測表を obs1 と obs2 の二表に読み替え，それぞれから

通番と鳥名を抽出し，観測数を 0 としてデータを生成している。WHERE 句ではその条件として，観測表を obs3 として読み替えて，その表に存在しない（NOT EXISTS）という条件をカッコ内で記述している。カッコ内は観測数に 0 を挿入する必要のないデータを生成し，NOT EXISTS 句でそれらのデータを除外することで 0 を挿入すべきデータを抽出している。観測数に 0 を挿入する必要がないということは，すでに観測されているということになる。
したがって，観測表に存在する通番と鳥名の組合せが空欄 a を含む WHERE 句の条件として記述される。空欄 a の下に鳥名の一致が記述されていることから，空欄 a には通番の一致が記述される。このとき，通番は obs1 と obs3 の通番が比較されるので，選択肢
ウが正解となる。

015

春H27 春期 DB 午前Ⅱ

016

問 12

平成 27 年度 春期 データベーススペシャリスト 午前 Ⅱ

正解

完璧

直前
チェック

分散データベースのトランザクションは複数のサブトランザクションに分割され，複数のサイトで実行される。このとき，トランザクションのコミット制御に関する記述の

問 12

イ

解説
ア： 2 相コミットでは，全てのサブトランザクションからコミット了承の応答が届いたら，一斉に全てのトランザクションのコミットを実行する。

うち，適切なものはどれか。

イ：主サイトから全てのサイトへの指示の通知が完全ではないとき，コミットとロール

ア

2 相コミットでは，サブトランザクションが実行される全てのサイトからコミット
了承応答が主サイトに届いても，主サイトはサブトランザクションごとにコミット又はロールバックの異なる指示をする場合がある。

イ

2 相コミットを用いても，サブトランザクションが実行されるサイトに主サイトの指示が届かず，サブトランザクションをコミットすべきかロールバックすべきか分からない場合がある。

ウ2 相コミットを用いると，サブトランザクションがロールバックされてもトランザクションがコミットされる場合がある。

エ

集中型データベースのコミット制御である 1 相コミットで，個々のサイトが独自にバックのどちらを実行すべきか判断ができない状態となる。
ウ：サブトランザクションがロールバックを行うのは，コミットできなかった場合である。
一部のサブトランザクションがコミットを完了していないということは，そのトランザ
クションはコミットできないということである。
エ：個々のサイトで独自にコミットを行うと，一部のサブトランザクションがコミットできない可能性がある。したがって，データベースの整合性における問題が発生する可能
性がある。

問 13

エ

分散データベースのコミットを行っても，サイト間のデータベースの一貫性は保証で

解説

きる。

られるように設計された制御機能である。

同時実行制御とは，複数のユーザが同時に更新作業を実行しても正しい結果が得

ア：トランザクションの直列化可能性は保障されるが，2 相ロックだけではデッドロック

問 13

正解

完璧

直前
チェック

2 相ロック方式を用いたトランザクションの同時実行制御に関する記述のうち，適切なものはどれか。
ア

全てのトランザクションが直列に制御され，デッドロックが発生することはない。

イ

トランザクションのコミット順序は，トランザクション開始の時刻順となるように制御される。

ウ

トランザクションは，自分が獲得したロックを全て解除した後にだけ，コミット操作を実行できる。

エ

トランザクションは，必要なロック獲得命令を全て実行した後にだけ，ロック解除
命令を実行できる。

を防止できない。
イ：時刻印方式の説明である。
ウ：コミット操作は別のタイミングでも実行できる。

017

春

H27 春期 DB 午前Ⅱ

018

問 14

平成 27 年度 春期 データベーススペシャリスト 午前 Ⅱ

正解

完璧

直前
チェック

DBMS をシステム障害発生後に再立上げするとき，ロールフォワードすべきトランザ
クションとロールバックすべきトランザクションの組合せとして，適切なものはどれか。
ここで，トランザクションの中で実行される処理内容は次のとおりとする。

問 14

ア

解説
ロールフォワード：チェックポイントを取得した時点の状態を再現し，ジャーナルファイ
ルに記録されているトランザクションの処理を実行することでシステム障害から復旧する手法。チェックポイントから処理を進めることから，ロールフォワードと呼ばれる。

トランザクション

データベースに対する Read 回数と Write 回数

ロールバック：チェックポイントを取得した時点の状態を再現し，そこから処理をやり直T1，T2

Read 10，Write 20

すこと。チェックポイント以降に実施された処理はいったん失われる。チェックポイン

T3，T4

Read 100

T5，T6

Read 20，Write 10トまで戻った時点で復旧することから，ロールバックと呼ばれる。
T1：チェックポイント以前にコミットされたトランザクションなので，ロールバック・
ロールフォワードのいずれも必要ない。
時間

ルに記録されている処理を実行して復旧する。ロールフォワードである。

T2
T3
T4
T5

T3，T4：いずれも Read 処理のみなので，復旧の必要はない。

障害発生チェックポイントT1

T2：障害発生以前にコミットされているので，チェックポイントからジャーナルファイ

T5：障害発生以前にコミットされているので，T2 と同様にロールフォワード処理となる。
T6：障害発生時点でコミットされていないので，チェックポイントまでデータベースを戻す復旧処理となる。これはロールバックである。

T6

問 15

はコミットされていないトランザクションを示す。
はコミットされたトランザクションを示す。

解説エインデックスとは，データベースの検索速度を向上させるために，一つまたは複数の属性に設定するものである。
ロールフォワード

ロールバックB＋ 木インデックス：キー値を昇順または降順でソートし，幾つかごとにブロック化した

ア T2，T5

T6

ものをツリー状にしたもの。B 木インデックスと異なるのは，全てのデータは末端の葉イ T2，T5

T3，T6にあることで，途中のノードは基準となるキー値のみを格納する。

ウ T1，T2，T5

T6

エ T1，T2，T5

T3，T6

ビットマップインデックス：キー値が取り得る値に対してビット列を割り当てたもの。例
えば属性「所属部署」に対して「総務部」というキー値にビットマップを割り当て，m 番
目のレコードが「総務部」である場合，このビットマップの m 番目のビットを 1 とする。
ア：幾つかのビットの検知で検索が可能となるので，ビットマップインデックスに有効で

問 15

正解

完璧

直前
チェック

B＋木インデックスとビットマップインデックスを比較した説明のうち，適切なもの
はどれか。

ある。
イ：キー値をソートしてブロック化した B＋木インデックスには，BETWEEN による範囲
指定検索が有効である。
ウ：NOT を用いた否定検索は，ビットの 1 か 0 を検知することで可能となるビットマップ

アAND や OR 操作だけで行える検索は B＋木インデックスの方が有効である。

イ

BETWEEN を用いた範囲指定検索はビットマップインデックスの方が有効である。
＋

ウ

NOT を用いた否定検索は B 木インデックスの方が有効である。

エ

少数の異なる値をもつ列への検索はビットマップインデックスの方が有効である。

インデックスが適している。
エ：少数の異なる値であれば，割り当てるビットマップを少なくできるので，ビットマッ
プインデックスが適している。

019

春H27 春期 DB 午前Ⅱ

020

問 16

平成 27 年度 春期 データベーススペシャリスト 午前 Ⅱ

正解

完璧

直前
チェック

二つのトランザクションが，同じデータに対して，更新，参照を行うときに発生し得

問 16
解説

エ
本来，更新中のデータは更新が完了するまでほかのトランザクションからの参照が禁止されているが，システムの構成上，これが許される状態となっていることがある。

るダーティリードの事象を記述したものはどれか。

このような状態で，更新完了前のデータを読み出す処理をダーティリードと呼ぶ。

ア

トランザクション A がある検索条件を満たすある表の行の集合を参照した。次に，トランザクション B がトランザクション A と同じ検索条件を満たす新しい行を挿入しコミットした。その後，トランザクション A が同じ検索条件で再度参照すると，以前

ア，イ：いずれの選択肢の記述においても，トランザクション A が表を参照した時点ではトランザクション B の更新処理は行われていないので，ダーティリードではない。
ウ：デッドロックはデータ資源の待ち合い状態である。

には存在しなかった行が出現した。
イ

トランザクション A がある表の行の列を参照した。次に，トランザクション B がその列の値を更新しコミットした。その後，トランザクション A がその列を再度参照すると，以前の値と異なった。
ウ

二つのトランザクションがそれぞれ 2 相ロックをかけ，デッドロックを起こした。

エ

まだコミットしていないトランザクション A の更新後データをトランザクション Bが参照した。その後，更新後データはロールバックされた。

問 17
解説

ウ
入れ子ループ法では，一方の表から 1 行ずつ他方の表の行との比較を行う。このとき，n 行全てに対して比較演算を行う。したがって，比較回数は n ×n ＝n 2 となる。

問 18
解説

ウ
DBMS で最も普及しているシステムは，関係データベース（RDB）である。これに対し，大規模なデータの並列分散処理などで SQL を使用しない新しい方式のデータベ

問 17

正解

完璧

直前
チェック

関係データベースにおいて，タプル数 n の表二つに対する結合操作を，入れ子ループ法によって実行する場合の計算量はどれか。
ア

O（2n）

イ

O（log n）

ウースの総称を NoSQL と呼ぶ。
大規模なデータ集合では，シンプルかつ大量のデータを高速で処理することが求められる。データの一貫性よりも高速処理を重視することで，関係データベースでは困難な処理機能を実現する。

O（n2）エ

O（n l og n）

NoSQL を利用することにより，分散データベースにおける各データの一貫性が一時的に弱い状態となることがある。この状態は時間とともに一貫性が回復するので，最終的な結果としてデータの整合性が実現される。これを結果整合性と呼ぶ。

問 18

正解

完璧

直前
チェック

インターネット販売などの巨大な取引データを高速に処理するために，NoSQL と呼ア：通常のハッシュ法では，スロットの増減にともなってハッシュマッピングを全データに対してやり直す必要がある。コンシステントハッシング法は，最小限の変更ですむように設計したハッシュ法である。この選択肢では「時間帯別に格納先を固定する」とあばれるデータ処理方式が使われることがある。その特性のうち結果整合性（Eventual

るので，時間帯ごとにハッシングを行うエリアを固定して，そのなかで格納先をマッピ

Consistency）の説明として，適切なものはどれか。

ングしている。
イ：NoSQL では，複数のクライアントからの更新要求が衝突する場合，最終的に整合をア

データを複製し，複数サイトに分散して保持するとき，コンシステントハッシング

手法によって，時間帯別に格納先を固定する。
イ

複数のクライアントからの更新要求が衝突する場合，ロック機構によってどちらかを待たせることで整合性を保つ。
ウ

分散した複製サイト間で更新内容を厳密に同期させずに，同期の一時的な遅れを許容する。
エ分散した複製サイト間で更新内容を整合させるために，2 相ロック方式を採用する。

もつように順次対応する。また，データ蓄積の構造が最適化されている場合は，更新要求が衝突しないように構成されている。
エ：結果整合性では一連の処理の最後で整合性を実現するものである。2 相ロック方式のように，更新のたびに整合性を維持する処理ではない。

021

春

H27 春期 DB 午前Ⅱ

022

問 19

平成 27 年度 春期 データベーススペシャリスト 午前 Ⅱ

正解

完璧

直前
チェック

業務系のデータベースから抽出したデータをデータウェアハウスに格納するために，整合されたデータ属性やコード体系などに合うように変換及び修正を行う処理はどれか。

問 19

エ

解説
クラスタリング：データの集合を幾つかの部分集合に切り分けて，それぞれの部分集合の特徴や傾向を分析する手法。データ全体の集合では見えない特徴や傾向を見つけること
ができる。

ア

クラスタリングイ

スライシング

ウ

ダイシング

エ

データクレンジング

スライシング：多次元データ分析手法の一つ。多次元データを一つの次元で切り取って，その断面でデータの特徴や傾向を分析する。例えば「期間」「売上」「地域」の三次元で集計されたデータがある場合，期間ごとに売上と地域の 2 次元グラフを作成することである。

問 20

正解

完璧

直前
チェック

からデータを分析する。グラフの縦軸と横軸を入れ替える，支店別月別売上表を月別商

米国 NIST が制定した，AES における鍵長の条件はどれか。
ア

128 ビット，192 ビット，256 ビットから選択する。

イ

256 ビット未満で任意に指定する。

ウ

暗号化処理単位のブロック長よりも 32 ビット長くする。

エ

暗号化処理単位のブロック長よりも 32 ビット短くする。

問 21

正解

品別売上表に変換するなどの方法がある。
データクレンジング：データを分析するにあたって，扱いやすいようにデータを整理する手法。データの誤りや無駄な重複，例外値の除外や，目的とするデータの取り出しなどである。データの精度を高めることにより，分析の精度を向上させることを目的とする。

問 20
完璧

直前
チェック

クラウドサービスにおける情報セキュリティ上のリスクを ポリシ及び組織関連のリ
スク ， 技術関連のリスク ，及び 法的なリスク に分類したとき，海外に設置されたデータセンタにデータが保管されることに起因するリスクのうち， 法的なリスク に分類されるものはどれか。
ア

データセンタが設置された国の法執行機関の命令を受けて，保管されたデータが開示されたり，ハードウェアが差し押さえられたりする。

イ

ハイパーバイザの脆弱性によって，サービス運用妨害が引き起こされる。

ウ

不具合によって，データセンタの他のテナントに情報が漏えいする。

エ

利用料金が従量課金制であるので，様々な国から通信回線などのリソースを大量に消費する攻撃が行われ，経済的な損失を被る。

ダイシング：多次元データ分析手法の一つ。データ集合を多面体に見立てて，異なる角度

解説

ア
NIST（National Institute of Standards and Technology）はアメリカ国立標準技術研究所の略称であり，工業技術の標準化を支援する機関である。
AES（Advanced Encryption Standard）：アメリカ政府標準の共通鍵暗号方式である。共通
鍵暗号方式では暗号化鍵と復号鍵に同じ鍵を使用するため，鍵を共有する手続きが必要である。
鍵長：128 ビット，192 ビット，256 ビットから選択可能な SPN 型ブロック暗号である。ブ
ロック長は 128 ビットとなっている。
SPN 型ブロック暗号：換字（文字の入れ換え）と転置（文字の位置の置き換え）を繰り返す暗号方式で，「段」と呼ぶ。この段の複数回の繰り返しによって暗号化の強度を上げる。

問 21
解説

ア
ポリシ及び組織関連のリスクとしては，サービスの監視やアクセスコントロール，

インシデント発生時の対応，構成管理などが考えられる。
技術関連のリスクとしては，ネットワークのセキュリティ，ホストのセキュリティ，ア
プリケーションのセキュリティ，データのセキュリティが考えられる。
法的なリスクにおいて注目すべきことは，データの保護である。クラウド事業者へ預けたデータは世界各地のサーバに分散して保存される。海外に設置されたサーバに保存されるデータに対しては，設置国の法律が適用される。これは何らかの事件や訴訟に関連して情報の公開が要請された場合，機密性が損なわれる可能性がある。
イ，ウ，エ：いずれも技術関連のリスクである。

023

春

H27 春期 DB 午前Ⅱ

024

問 22

平成 27 年度 春期 データベーススペシャリスト 午前 Ⅱ

正解

完璧

直前
チェック

問 22
解説

外部割込みの要因となる事象として，適切なものはどれか。

エ
割込みとは，実行中のプログラムを強制的に停止してほかのプログラムを実行させることである。実行中のプログラムを停止する要因がそのプログラム自身である場合はア

アクセスしようとしたページが主記憶に存在しないので，ページフォールトが発生した。

内部割込み，プログラム自身でない場合を外部割込みという。

イ

システム管理命令を一般ユーザモードで実行しようとしたので，特権命令違反が発

ア：主記憶へのアクセスは実行中のプログラムによる動作であり，その動作に対するペー生した。
ウ

数値演算命令を実行したときに，除数が小さ過ぎたので，演算オーバフローが発生した。

エ

入出力動作が終了したので，DMAコントローラからプロセッサへの通知が発生した。

ジフォールトであるから，内部割込みである。
イ：特権命令違反は実行中のプログラムの動作に対するものであるから，内部割込みである。
ウ：演算オーバフローは実行中のプログラムの数値演算命令によるものであるから，内部割込みである。
エ：DMA コントローラは実行中のプログラムとは別に入出力処理を管理するものである。

問 23

正解

完璧

直前
チェック

データベースサーバのクラスタリング技術に関する記述のうち，シェアードエブリシ
ングを説明したものはどれか。
ア

HA 構成を用いたクラスタリングを行い，障害発生時には待機系のサーバに担当していたデータ範囲を引き継ぐことができる。

イ

アクティブ−アクティブ構成によって負荷分散を行うことによって，サーバリソー
スの有効活用が可能となり，さらにデータが共有されているので，1 台のサーバの障害発生時でも処理を継続することができる。

ウ

サーバごとに管理する対象データが決まっているので，1 台のサーバに障害が発生すると対象データを処理できなくなり，システム全体の可用性が低下する。
エ

データを複数の磁気ディスクに分割配置し，さらにサーバと磁気ディスクが 1 対 1に対応しているので，複数サーバを用いた並列処理が可能となる。

したがって，DMA コントローラからの入出力動作終了の通知は実行中のプログラムの
外部からの割込みであるから，外部割込みである。

問 23
解説

イ
シェアードエブリシングとは，分散されたデータベースの複数のノードが同じディスクを共有するアーキテクチャである。このアーキテクチャは，各ノードからのデータの抽出や更新を局所的に行う処理に向いている。
ビッグデータの活用で求められるビジネスインテリジェンスや分析処理では，多くのデータを一度にスキャンする処理が求められる。これはシェアードエブリシングに適した局
所的なデータ抽出や更新と異なる。したがって別のアーキテクチャとして，データベースのノードがそれぞれのディスクをもつシェアードナッシングというアーキテクチャが採用されている。
ア：HA 構成とは High Availability，すなわち高い可用性をもつシステム構成を意味する。
この構成では，障害発生時に処理を引き継ぐための待機系システムを準備している。
イ：負荷分散とデータ共有が行われているので，シェアードエブリシングである。
ウ，エ：対象となるデータあるいは磁気ディスクがサーバごとに設定されているので，
シェアードエブリシングのアーキテクチャではない。

025

春H27 春期 DB 午前Ⅱ

026

問 24

平成 27 年度 春期 データベーススペシャリスト 午前 Ⅱ

正解

完璧

直前
チェック

問 24
解説

アーキテクチャパターンのうち，ブローカの説明はどれか。

エブローカ型アーキテクチャは分散オブジェクトで使われる。アプリケーションを実行するサーバとクライアントの間のコミュニケーションを基本構成としている。

ア機能の中核部分と拡張部分を分離して，変更要求に対する拡張性を向上させる。

階層型アーキテクチャでは，機能が階層構成となっている。各階層間のインタフェース

イ

データストリームに対する一連の処理を，容易に追加又は削除できるように分割しでデータのやり取りを行う。インタフェースが標準化されていれば，階層ごとにユニットて，段階的に実施する。
ウ

データの管理，利用者への情報表示，利用者からの入力と制御の三つのコンポーネントで GUI システムを構成して，表示部分の変更に対して柔軟に対応する。

エ

分散環境において，サービスの登録，検索，メッセージのやり取りを行い，クライ
アントとサーバの相互依存性を弱める。

を交換することでシステムの変更を柔軟に行える。
ア：階層型アーキテクチャの構成である。機能の中核部分が上位階層，拡張部分が下位階層となる。
イ：一連の処理が段階的に実施されていることから，階層型アーキテクチャである。
ウ：コンポーネントで GUI システムを構成し，変更に対して柔軟なシステムであるから
階層型アーキテクチャである。
エ：分散環境でメッセージのやり取りを行っていることから，ブローカ型アーキテクチャ

問 25

正解

完璧

直前
チェック

マッシュアップを利用して Web コンテンツを表示している例として，最も適切なものはどれか。

である。

問 25
解説

ア

Web ブラウザにプラグインを組み込み，動画やアニメーションを表示する。

イ

地図上のカーソル移動に伴い，Web ページを切り替えずにスクロール表示する。

ウ

鉄道経路の探索結果上に，各鉄道会社の Web ページへのリンクを表示する。

エ

店舗案内の Web ページ上に，他のサイトが提供する地図検索機能を利用して出力された情報を表示する。

エマッシュアップとは，Web 上に提供されている情報やサービスなどを組み合わせて新しい Web サービスやデータベース，ソフトウェアを開発・提供することである。
マッシュアップをしやすいように，企業の Web サービスを利用するための API を公開・提供するケースが増えている。インターネット上の地図サイトなど各種サービスがある。

027

春