演習問題解答【 1 章】
1 . 1 データとは “ 観測，測定，統計などから得られる客観的な事実を，文字，数値，図形，画像，音声など人間が知覚できるかたちで表したもの ” である。
一方，情報は “ ある特定の目的について，適切な判断を下したり，行動の意思決定をするために役立つデータのこと ” である。
1 . 2 DBMS に要求される機能には，①データの共有化，②データの一元管理，③データのプログラムからの独立，④データの整合性維持，⑤データの障害回復，⑥データの機密保護などがある。詳細は本文参照。
1 . 3 （略）1 . 4 （略）【 2 章】
2 . 1 （正解）エビュー。

2 . 2 （正解）ウ

関係データベースのビューやネットワークデータベースのサブスキーマは，概念スキーマに相当しない。
2 . 3 （正解）イ

概念スキーマ：データベースがモデル化している対象全体の論理的なデータ構造を記述したものである。
2 . 4 （正解）ア

概念スキーマ：データ処理上必要な実世界のデータ全体を定義し，特定のアプリケーションプログラムに依存しないデータ構造を定義するスキーマである。
2 . 5 （正解）エ

E R モデル：関連はエンティティ間の結び付きを示すものなので，二つのエンティティ間に複数の関係が存在してもよい。
2 . 6 （正解）エ

概念データモデル：概念データモデルは，データベースの管理対象となる対象世界の情報要件を表現したものである。
2 . 7 （略）【 3 章】
3 . 1 （正解）エ選択。

3 . 2 （正解）イ

a＝2, b＝3。

演
3 . 3 （正解）ウ

習

問

題

解167

答

射影は，ある関係から一部の属性を取り出したタプルからなる関係を求める。
3.4

等結合
商品番号

商品名

S01

ボールペン

S01

ボールペン

S02

消しゴム

S02
S03

3 . 5 （正解）エ価格

商品番号

顧客番号

部品数

150

S01

C01

10150

S01

C01

3080

S02

C02

20

消しゴム

80

S02

C0340クリップ

200

S03

C0360

二つの関係から，任意のタプルを 1 個ずつ取り出したタプルの集合である。
3.6

3.7

自然結合
学生

科目

教官

山田太郎

情報処理鈴木一郎

山田太郎

代数

斉藤正樹

加藤花子

情報処理鈴木一郎

R÷SZ
甲3.8

R×S

R×S÷T

R×S÷T−UA

B

C

B

C

B

C

1axaxayay

1

ay2

bx2by3

ax

3ay3

bx

3by4

ax

4ay168

演

習

問

題

解答

3 . 9 （略）【 4 章】
4.1

データベース設計は，「概念設計」，「論理設計」および「物理設計」という三つの段階により行われる。概念設計では，データベースによって管理の対象とするものを実世界から抽出して概念モデルを作成する。論理設計では，概念設計によって作成された概念モデルを特定のデータモデルに対応した論理モデルに変換する。物理設計では，データベースとしての性能が向上するようにモデルを修正する。物理設計では，論理データモデルを入力して物理データモデルを出力する。

4.2

実体集合「学生」と実体集合「科目」との間には，関連集合「履修」の関係がある。実体集合「学生」の性質は，四つの属性「学籍番号」，「氏名」，「専攻」および「住所」により表現される。実体集合「科目」の性質は，三つの属性「科目番号」，「科目名」，および「単位数」により表現される。関連集合「履修」の性質は，属性「成績」により表現される。
「学生」の中の各実体を識別するための主キーは，「学籍番号」であり，「科目」の中の各実体を識別するための主キーは，「科目番号」である。
「学生」の中の実体が関与する関連集合「履修」との個数は，1 以上 N 以下である。
「科目」の中の実体が関与する関連集合「履修」との個数は，0 以上 N 以下である。

4 . 3 （正解）ア。
・「顧客は繰り返し注文を行う」より，顧客：受注＝ 1：N の関係である。
・「同時に複数の商品を注文する」より，受注：受注品目＝ 1：N の関係である。
・また，一つの商品は何度も受注する可能性があるので，商品：受注品目＝1：N の関係がある。
したがって，a：顧客，b：受注，c：受注品目，d：商品である。
4 . 4 （正解）ウ。
ア

誤り 「所蔵図書」の属性から購入日の異なる同一の図書タイトルの書籍が存在することがわかるので，矢印の向きは逆ではない。

イ

誤り 分割しないと，購入日の異なる同一の図書タイトルの書籍についエ

誤り 予約時に決定できるのは，図書タイトルである。
「予約」と「所蔵て「分類コード，書名，著者」を重複して記録することになる。
図書」は多対多の関係であるので，予約時にはどの所蔵図書を貸し出すのか未決定である。

演

習

問

題

解169

答

4 . 5 （正解）ア。
イ

誤り 顧客は，注文主顧客と届け先顧客のどちらの役割も持つ。

ウ

誤り 一つの注文には一つの商品が対応する。

エ

誤り 一つの注文には一つの注文主と届け先が対応する。

4 . 6 （正解）ア

階層モデルでは，一つの子は（必ず一つの親）を持ち，ネットワークモデルでは，一つの子は（複数の親）を持つことができる。別の表の行との関係付けは（値の一致）によって行う。
4 . 7 （略）【 5 章】
5 . 1 （正解）エ（主キーは，一つの表内に一つだけであり，一意性を保障するために NULL 値は認められない）。
5 . 2 （正解）エ （候補キー：表の行を唯一に識別できる列または列の組）。
5 . 3 （正解）イ （正規化：データの重複を避け，保守・管理を容易にする）。
5 . 4 （正解）イ （関数従属：商品コードが決まれば単価が決まる）。
5 . 5 （正解）エ （A → B ∪ C であれば，A → B かつ A → C）。
ア誤り A → B，A → Cイ誤り B ⊆ A∴B → C ×（しない）

すなわち自明な関数従属 A → B，A → C∴B→C×（しない）
ウ

誤り

B⊆A

すなわち自明な関数従属 A → B∴ B → A ×（しない）（注意）自明な関数従属について：｛顧客コード｝⊆｛顧客コード，顧客名｝
であるので｛顧客コード，顧客名｝→｛顧客コード｝が成立する
5 . 6 （正解）イ（A D → E）。
関数従属 A → B C，C D → E が成立： A → B ∪ C より
A→Cより

A → B，A → C，A∪D→C∪D

一 方， 題 意 よ り C ∪ D → E

で あ る の で，A ∪ D → C ∪ D → E∴A

D→E
5 . 7 （正解）ウ。
A：すべての非キー属性が，主キーに対して関数従属である。→第 2 正規形
B：すべての非キー属性が，推移的に関数従属でない。→第 3 正規形
C：属性の値として，繰り返しを持たない。→第 1 正規形

170

演

習問

題解答

5 . 8 （正解）エ。
ア

いかなる部分従属性も成り立たない関係スキーマイ

推移従属性が存在しない関係スキーマ

ウ

属性の定義域が原子定義域である関係スキーマ

エ

任意の関係従属性 A → B に関して，A はその関係のキーであるか，またはキーを含んでいる関係スキーマ→第 2 正規形→第 3 正規形→第 1 正規形→ボイス・コッド正規形

5 . 9 （正解）ウ（第 3 正規形）。
（ 1 ）関係 R のすべての属性の値は，集合や複合値ではない。→第 1 正規形（ 2 ）関係 R のすべての非キー属性は，R の各候補キーに完全関数従属している。 →第 2 正規形（ 3 ）関係 R のすべての非キー属性は，R のいかなる候補キーにも推移的に従属しない。

→第 3 正規形（ 4 ）関係 R のある属性が，候補キーでない属性に関数従属している。

→

ボイス・コッド正規形に違反5 . 10 （正解）ア（第 1 正規形）。
5 . 11 （正解）イ（検索処理を高速化するため）。
5 . 12 （正解）イ（正規化を行うと，一つの属性が複数の値を持つような入れ子の表は，排除される）。
5 . 13 （正解）エ（データ項目に繰返し部分がある場合，その部分の分離を行う）。
5 . 14

正規形名：第 1 正規形
根拠：非キー属性の「指導者」が候補キー｛受講番号，課題番号，課題答案｝に完全関数従属していないため。
データを追加するときの不都合：
・課題答案が提出されるまで，指導者を事前に登録しておくことができない。
・受験番号と課題番号によって決定される指導者を繰り返し登録する必要がある。

5 . 15

正規形名：第 2 正規形
根拠：すべての非キー属性は，候補キーの受講番号に 完全関数従属しているが，受講番号→会員番号→｛氏名，住所，性別｝という推移的関数従属が存在するため 。
不都合：（追加時の不都合）
・受講番号が発行されるまで，会員の情報を事前に登録しておくことができない。

演

習問

題

解答

171

・同じ会員が複数の講座を受講する場合，氏名，住所，性別を繰り返し登録する必要がある。
（削除時の不都合）
・一度しか受講していない会員の行を削除すると，その会員の氏名，住所，性別も削除されてしまう。
（変更時の不都合）
・複数の講座を受講している委員の氏名，住所が変更になった場合，該当するすべての行を変更する必要がある。
5 . 16 正規形名：第 3 正規形
根拠：すべての非キー属性が，候補キーの 受講番号と｛講座名，会員番号｝に 完全関数従属しており，推移的関数従属も存在しないため
5 . 17 （略）【 6 章】
6 . 1 （正解）エ（SELECT）。
6 . 2 （正解）エ（田中真司）。
6 . 3 （正解）ウ。
6 . 4 （正解）ウ（SELECT

名前FROM

成績 WHERE

英語＋国語＋数学 > ＝195）。
6 . 5 （正解）ウ。
鈴木部長と福田部長がいる。X：本人，Y：部長として，本人の年齢が部長より高いものを抽出する SQL であるから，田中，渡部が抽出される。
6 . 6 （正解）ア。
イ

誤り（すでに「SHAIN」表に S_CODE ＝ 111 は存在）。

ウ

誤り（外部キー B04 が「BUSHO」表に存在していない）。

エ誤り（NENREI の値 "17" が，CHECK 制約に違反している。NENREI の値は，18 〜 65 までに制限されている）。
6 . 7 （正解）ウ。
GROUP

BY 句は，集計した結果から取り出すデータを絞り込み，HAVING

句は，GROUPBY 句で集計した結果から取り出すデータを絞り込む機能を有する。ここでは，要素が 1 件より多いグループとして，B グループ（20,40）と C グループ（30,40,50）が得られる。したがって，平均年齢は，30 と 40 である。

172

演

習問

題解答

6 . 8 （正解）エ。
ア誤り（部署表の中に社員識別子がない）。

イ

誤り（社員識別子と部署識別子の比較は意味がない）。

ウ

誤り（部署表の中に社員識別子がない）。

・配属（社員識別子，部署識別子，辞令年月日）
・部署（部署識別子，部署名）
結合するためには，部員識別子を一致させる必要がある。AS を利用すると列名を付けてわかりやすくできる。
6 . 9 （略）【 7 章】
7 . 1 （正解）ア。
7 . 2 （正解）イ（NOT EXISTS で判定しているので，存在しない場合に TRUE となる。製品番号が MZ1000 と XZ3000 が抽出される）。
7 . 3 （正解）ウ。
ア

誤り

S . 氏名は誤り。

イ

誤り

UNION は R と S の和が求められる。

エ誤り

FROM R なので S . 社員 NO でエラーになる。

7 . 4 （正解）ア（求めたいのは「納品された顧客の総数」であるので，顧客番号の種類の総数を COUNT（DISTINCT 顧客番号）で抽出する）。
7 . 5 （正解）ウ。
フロア＝ 2 であるのは，情報システム，経理，法務，購買である。所属している社員の数は，情報システム→ 2 名，経理→ 1 名，法務→ 0 名，購買→ 0名。
したがって，3 名が正解。
7 . 6 （略）【 8 章】
8 . 1 （正解）イ。
アクセス時間＝平均位置決め時間（シーク時間）＋平均回転待ち時間＋データ転送時間
1 回転の時間＝1 /（5 000 / 60）＝0 . 012s（12ms）→

平均回転待ち時間＝ 12 / 2＝6 ms

4 000 / 15 000 ＝4 / 15 トラック∴

20＋6＋ 3 . 2＝29 . 2 ms→

データ転送時間 ＝ 12×4 / 15＝3 . 2 ms

演

習問題解答

173

8 . 2 （正解）ウ。
10 万レコード→

1 万ブロック

1 ブロック → 10×200＝2 000 バイト → 2 000 / 256＝7 . 81 → 8 セクタ
1 シリンダのセクタ数 → 19×40＝760 セクタ
1 シリンダに格納可能なブロック数 → 760 / 8＝95 ブロック
∴ 10 000 / 95＝105 . 26 → 106
8 . 3 （正解）ウ。
アクセス時間＝平均位置決め時間（シーク時間）＋平均回転待ち時間＋データ転送時間
平均回転待ち時間 1 / 2 回転→（1 /（2 500 / 60））/ 2＝0 . 012 s
20 000B / トラック→ 5 000B は 1 / 4 トラック→ 1 / 4 回転→ 0 . 006 s∴

アクセス時間＝ 25＋12＋6＝43 ms

8 . 4 （正解）イ。
キー値：55550＝5×114＋5×113＋5×112＋5×111＋0＝ 73205＋6655＋605＋55＝80520
下 4 けたの半分：0520×0 . 5＝260
8 . 5 （正解）ウ。
h＝1k＝2 の例

h＝21（ K ＋1）本2kh＝32 K（K ＋1）

h＝422 K（K ＋1）

最小レベルのエントリー数＝1 とすると，
2＋…＋2k（ k＋1 ）h−2
格納レコード数＝ 1＋2k＋2k（ k＋1 ）＋2k（ k＋1 ）＝1＋（初項 2k，公比（ k＋1 ）の等比級数の項数（ h−1 ）の和）
＝1＋h−1 ）}h−1 ）}
2k { 1−（ k＋1 ）2k { 1−（ k＋1 ）＝1＋1−（ k＋1 ）−k＝1−2 { 1−（ k＋1 ）h−1 ）} ＝2（ k＋1 ）h−1−1
8 . 6 （正解）ア（ハッシュ関数を適用するので等号の条件にしか利用できない）。
イ誤り

ワイルドカード式の検索とは，SQL では LIKE 述語に対応するが，不等号の条件検索と同様に利用できない。
ウ

誤り

ハッシュインデックスは，木構造のインデックスとは別もの。

エ誤り

データの偏りが大きくなった場合には，ハッシュ関数の変更によるインデックスの再編成が必要。

174

演

習

問題

解答

8 . 7 （正解）イ。
ア

誤り ビットマップインデックスの内容。

ウ

誤り B 木インデックスの内容。

エ誤り

B＋木インデックスの内容。

8 . 8 （正解）ウ（N×N＝N2）。
8 . 9 （略）【 9 章】
9 . 1 （正解）イ。
ア

誤り

分散データベースの位置に対する透過性の内容。

ウ

誤り一貫性の内容。

エ

誤り独立性の内容。

9 . 2 （正解）ウ。
ア

誤り

原子性の内容。

イ

誤り

耐久性の内容。

エ

誤り一貫性の内容。

9 . 3 （正解）ウ。
ア

誤り

原子性により，処理の一部だけ行われることはない。

イ

誤り

耐久性により，実行結果が失われることがあってはならない。

エ誤り

一貫性により，他のトランザクションの影響を受けてはならない。

9 . 4 （正解）エ。
9 . 5 （正解）エ（WFG）。
9 . 6 （正解）ウ。
ア

誤り

共有ロックと占有ロックの概念はある。

イ

誤りすべてロックした後にアンロックしなければならない。

エ誤り

読込みトランザクションでもロックは必要。

9 . 7 （正解）エ。
9 . 8 （正解）イ。
トランザクション間の干渉の許容度が高いとは，隔離性水準が低いという意
味である。
隔離性水準の高い順：直列化可能＞繰り返し可能読込み＞コミット済みデー
タの読込み＞未コミットデータの読込み

演

習

問

題

解答

175

9 . 9 （正解）ウ。
ア

誤り 2 相コミット（2 相ロックではない）が分散データベースの制御方式である。

イ

誤り スループットは高くなる。

エ誤り ロックの粒度は時間ではなく資源の粒度のことである。

9 . 10 （略）【 10 章】
10 . 1 （正解）エ。更新前ログ→更新後ログ→書出しの順番となる。
10 . 2 （正解）エ。
ア

誤り

すべて更新データの実更新完了でも，ログファイルへの書出しが完了していなければ障害回復はできない。
イ

誤り

ウ

誤り ログバッファは揮発性メモリに確保されるので，電源断で消失しチェックポイントは，障害回復の時間短縮を図るのが目的である。てしまうためコミット完了とは見なせない。
（ログバッファとログファイルの区別が重要）

10 . 3 （正解）エ。
ア

誤り ブロックではなくロックを掛けることで同時実行を行っている。

イ

誤り 後進前情報ではなく後進後情報を用いてロールフォワードされる。

ウ

誤り 後進後情報ではなく後進前情報を用いてロールバックされる。

10 . 4 （正解）ア。
イ

誤り データベースの容量はほとんど変わらない。

ウ

誤り データベースの容量が変わらないので，磁気テープの本数も変わエ

誤りらない。
データベースの容量が変わらないので，実行時間も変わらない。

10 . 5 （正解）ウ（T4 と T5 はロールフォワードで回復可能）。
ア

誤り T1 → 回復処理の必要なし。

イ

誤り T2 →トランザクション開始前までロールバックする必要がある。
T3 →トランザクションの再実行が必要。

エ

誤り T5 のみでは不十分。

10 . 6 （正解）ア。
T1：チェックポイント前にコミットしているので回復処理は必要ない→（ウ，エ）は除外。
T3,T4：参照（read）のみなので回復処理は不要→（イ，エ）除外。

T2,T5：

障害発生以前にコミットしているので，ロールフォワードで回復。

176

演

習

問

題

解

答

チェックポイント以降にトランザクションが開始され，コミットする

T6：前に障害発生しているので，ロールバックさせる必要がある。
10 . 7 （正解）イ。
a：デッドロックの場合は，後退復帰。
b：OS 障害ならリスタート後前進復帰，アプリ障害なら後退復帰。
c：媒体障害は前進復帰。
10 . 8 （略）【 11 章】
11 . 1 （正解）ウ。
ア

誤り 移動に対する透過性の内容。

イ

誤り 重複に対する透過性の内容。

エ

誤り 位置に対する透過性の内容。

11 . 2 （正解）ウ。
ア誤り 障害に対する透過性の内容。

イ

誤り 分割に対する透過性の内容。

エ

誤り 重複に対する透過性の内容。

11 . 3 （正解）ア。
イ

誤り 位置に対する透過性の内容。

ウ

誤り 重複に対する透過性の内容。

エ

誤り 分割に対する透過性の内容。

11 . 4 （正解）イ。
クライアント障害で両方の DB がロック状態になるのは，両方がセキュア状態である個所である。
11 . 5 （正解）エ。
ア

誤り

準備ができているか否かにかかわらず応答しなければならない。

イ

誤り

2 相コミットメントでは再コミットは発行されない。

ウ誤り

2 相コミットメントとロックは無関係である。

11 . 6 （正解）イ。
ア誤り

2 相ロックと混同した内容。

ウ誤り

2 相コミットでもロールバックは発生する。

エ

誤り

一貫性が完全に確保されるわけではない。

演

習問題解答

177

11 . 7 （正解）イ。
2 相コミットメントは , ①コミット可否問合せ，②コミット可否応答，③コミット実行指示，④コミット実行応答，の順番で実施される。
11 . 8 （正解）ウ（セミジョイン法は，分散データベースの通信負荷を削減するための結合方法である）。
11 . 9 （略）【 12 章】
12 . 1 （正解）エ。
12 . 2 （正解）ウ。
12 . 3 （正解）ウ。
12 . 4 （正解）エ。
12 . 5 （正解）ウ。
12 . 6 （略）12 . 7 （略）