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

今回の基本情報対策は、データベースです。4回目になります。3層スキーマ、ストアドプロシージャ、インデックスに関する問題などを選びました。3層スキーマはよく問われる問題なので、それぞれの層の説明ができるようにしておきましょう。

問題 1

DBMSが,3層スキーマアーキテクチャを採用する目的として,適切なものはどれか。 (基本情報技術者試験 平成27年春期 午前問26)

(A) 関係演算によって元の表から新たな表を導出し,それが実在しているように見せる。

(B) 対話的に使われるSQL文を,アプリケーションプログラムからも使えるようにする。

(C) データの物理的な格納構造を変更しても,アプリケーションプログラムに影響が及ばないようにする。

(D) プログラム言語を限定して,アプリケーションプログラムとDBMSを緊密に結合する。

正解は C


3層スキーマアーキテクチャは、関係データベースの構造や形式を、外部、概念、内部の3つの層に分けて定義する方式のことです。

(A) 関係演算によって元の表から新たな表を導出し,それが実在しているように見せる。

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

(B) 対話的に使われるSQL文を,アプリケーションプログラムからも使えるようにする。

これは誤りです。カーソル操作の説明です。

(C) データの物理的な格納構造を変更しても,アプリケーションプログラムに影響が及ばないようにする。

これは正しいです。内部スキーマを変更した場合でも、他のスキーマへの影響は最小限に抑えられます。

(D) プログラム言語を限定して,アプリケーションプログラムとDBMSを緊密に結合する。

これは誤りです。3層スキーマでは、アプリケーションとDBMSを分離させます。

問題 2

クライアントサーバシステムにおいて,クライアント側からストアドプロシージャを利用したときの利点として,適切なものはどれか。 (基本情報技術者試験 平成27年春期 午前問27)

(A) クライアントとサーバ間の通信量を削減できる。

(B) サーバ内でのデータベースファイルへのアクセス量を削減できる。

(C) サーバのメモリ使用量を削減できる。

(D) データベースファイルの格納領域を削減できる。

正解は A


ストアドプロシージャとは、データベースに対する操作を集めたもののことです。一連の操作がサーバ上で行われるため、通信量を削減できます。

(A) クライアントとサーバ間の通信量を削減できる。

これは正しいです。

(B) サーバ内でのデータベースファイルへのアクセス量を削減できる。

これは誤りです。データベースファイルへのアクセス量は削減できません。

(C) サーバのメモリ使用量を削減できる。

これは誤りです。サーバのメモリ使用量は削減できません。

(D) データベースファイルの格納領域を削減できる。

これは誤りです。データベースファイルの格納領域は削減できません。

問題 3

DBMSにおいて,スキーマを決める機能はどれか。 (基本情報技術者試験 平成27年秋季 午前問25)

(A) 機密保護機能

(B) 障害回復機能

(C) 定義機能

(D) 保全機能

正解は C


DBMSの定義機能とは、データベースの論理構造や物理構造となりうる、スキーマを定義することです。

(A) 機密保護機能

これは誤りです。機密保護機能とは、アクセス権限の設定やチェックによって、データを保護する機能です。

(B) 障害回復機能

これは誤りです。障害回復機能とは、データが破損した際に障害前の状態に戻す機能のことです。

(C) 定義機能

これは正しいです。

(D) 保全機能

これは誤りです。保全機能とは、排他制御や制約によって、不正なデータの登録・更新を防止する機能のことです。

問題 4

インデックス方式のうち,キー値を基にして格納位置を算出するとき,異なったキー値でも同一の算出結果となる可能性があるものはどれか。 (基本情報技術者試験 平成27年秋季 午前問26)

(A) B+木インデックス

(B) 転置インデックス

(C) ハッシュインデックス

(D) ビットマップインデックス

正解は C


ハッシュインデックスとは、ハッシュ関数を使用してデータの位置を特定するインデックス手法です。ハッシュの特性から、キー値が衝突することがあります。

(A) B+木インデックス

これは誤りです。B+木インデックスは、B+木と呼ばれるデータ構造を使用するインデックス手法です。

(B) 転置インデックス

これは誤りです。転置インデックスは、全文検索において、単語とそれが出現する文章を対応させて保持するインデックス手法です。

(C) ハッシュインデックス

これは正しいです。

(D) ビットマップインデックス

これは誤りです。ビットマップインデックスは、キーがレコードに含まれるかどうかを、ビット列で保持するインデックス手法です。