基本情報対策 データベース (3)

今回の基本情報対策は、引き続きデータベースです。スキーマや正規化に関する問題を選びました。正規化は、第1正規化から第3正規化までありますが、それぞれどんな作業をして、どんな形に変換されるのか、理解しておくようにしましょう。

問題 1

RDBMSにおけるスキーマの説明として,適切なものはどれか。 (基本情報技術者試験 平成26年秋季 午前問26)

(A) 実表ではない,利用者の視点による仮想的な表である。

(B) データの性質,形式,ほかのデータとの関連などのデータ定義の集合である。

(C) データの挿入,更新,削除,検索などのデータベース操作の総称である。

(D) データベースの一貫性を保持するための各種制約条件の総称である。

正解は B


スキーマとは、データベースにおける、表や列といった論理構造や、記憶形式などの物理構造を記述したものです。

(A) 実表ではない,利用者の視点による仮想的な表である。

これは誤りです。ビューの説明です。

(B) データの性質,形式,ほかのデータとの関連などのデータ定義の集合である。

これは正しいです。スキーマの説明です。

(C) データの挿入,更新,削除,検索などのデータベース操作の総称である。

これは誤りです。SQLの説明です。

(D) データベースの一貫性を保持するための各種制約条件の総称である。

これは誤りです。整合性制約の説明です。

問題 2

関係を第3正規形まで正規化して設計する目的はどれか。 (基本情報技術者試験 平成26年秋季 午前問28)

(A) 値の重複をなくすことによって,格納効率を向上させる。

(B) 関係を細かく分解することによって,整合性制約を排除する。

(C) 冗長性を排除することによって,更新時異状を回避する。

(D) 属性間の結合度を低下させることによって,更新時のロック待ちを減らす。

正解は C


第3正規形は、推移的関数従属性をなくす、すなわち、キー以外の項目間で、冗長な関係をなくすように表を分割する、正規化の形態です。

第1正規化: 値の繰り返し部分を排除

第2正規化: 部分関数従属性をなくす
→行を特定するキーを最小限にする

第3正規化: 推移的関数従属性をなくす
→キー以外の項目間で冗長な関係をなくす

(A) 値の重複をなくすことによって,格納効率を向上させる。

これは誤りです。第1正規化の説明です。

(B) 関係を細かく分解することによって,整合性制約を排除する。

これは誤りです。表が増えると、表の間での整合性制約も増えていきます。

(C) 冗長性を排除することによって,更新時異状を回避する。

これは正しいです。更新系異状とは、行を追加したり項目を削除する際に、論理的な不整合が発生することです。

(D) 属性間の結合度を低下させることによって,更新時のロック待ちを減らす。

これは誤りです。正規化は、ロック待ちなどの性能改善を解消する目的では行いません。

問題 3

データベースのアクセス効率を低下させないために,定期的に実施する処理はどれか。 (基本情報技術者試験 平成26年秋季 午前問29)

(A) 再編成

(B) データベースダンプ

(C) バックアップ

(D) ロールバック

正解は A


データベースの再編成とは、データベースに追加・削除を繰り返し行った結果生じた、記憶領域の断片化を解消することです。

(A) 再編成

これは正しいです。再編成により、データベースのアクセス効率を維持することができます。

(B) データベースダンプ

これは誤りです。データベースダンプは、データベースの内容をファイルに書き出すことです。

(C) バックアップ

これは誤りです。バックアップは、データベースの内容を、後で復元できるように複製・保存しておくことです。

(D) ロールバック

これは誤りです。ロールバックは、更新前ログを使用して、トランザクション開始直前の状態に戻すことです。