
今回の基本情報対策は、引き続きデータベースです。スキーマや正規化に関する問題を選びました。正規化は、第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) ロールバック
これは誤りです。ロールバックは、更新前ログを使用して、トランザクション開始直前の状態に戻すことです。