平成15年秋期試験問題 午前問24
問24解説へ
磁気ディスクに,固定長のレコードをブロック化しないで格納した順編成ファイルがある。プログラムAは,このファイルのデータをすべて順番に読み込んで処理する。ファイルの編成方法又は読込み方式を変更して,プログラムAのデータの読込みにかかる時間を最も短縮することができる改善策はどれか。 ここで,処理の多重化は考えないものとする。
- データを分割してそれぞれ別ファイルに格納し,各ファイルを順番にアクセスする。
- ファイルを索引編成ファイルとし,レコードのキーを用いてデータを読み込む。
- ファイルを直接編成ファイルにして,必要なデータだけを読み込むようにする。
- レコードをブロック化して格納し,1回の物理的読込みで得られるレコードを多くする。
広告
解説
コンピュータでは、データはひとまとまりのレコード単位で処理されます。例えば住所録では、名前・郵便番号・住所・電話番号などが1つのレコード(論理レコード)です。
磁気ディスクでは、このレコードをいくつかまとめてブロック化(物理レコード)して扱うことにより、読込みにかかる時間を最も短縮できます。
また、ファイルの編成方法の違いによって、順編成ファイル、直接編成ファイル、索引編成ファイル、区分編成ファイルなどがあります。
磁気ディスクでは、このレコードをいくつかまとめてブロック化(物理レコード)して扱うことにより、読込みにかかる時間を最も短縮できます。
また、ファイルの編成方法の違いによって、順編成ファイル、直接編成ファイル、索引編成ファイル、区分編成ファイルなどがあります。
- 順編成ファイル
順次アクセスを前提としたファイル編成で、順次アクセスしかできない媒体(磁気テープなど)では、順編成ファイルで持つことになります。
最も基本的なファイル編成であり、レコードをそのまま連続して書き込むだけなので、記憶容量に無駄を生じません。
しかし、あるレコードを削除したり新しいデータを挿入したり、順番を変更するには手間がかかります。- 直接編成ファイル
- 各レコードにどこに(記憶領域の場所)記憶するかのキーを持たせます。
挿入、削除が簡単になる反面、使われない領域が生じる可能性があります。 - 索引編成ファイル
順編成ファイルに索引をつけることにより、直接アクセスもできるようにしたファイルです。- 区分編成ファイル
- 順編成に、どこに何があるかを記憶しているディレクトリを持っています。プログラムライブラリファイルに用いられます。
- 各ファイルを順番にアクセスするので、データを分割してそれぞれ別ファイルに格納すれば、逆にシーク時間などの余計な時間がかかります。
- 問題がファイルのデータをすべて順番に読み込んで処理するプログラムとなっているので、索引編成ファイルだと余分な時間がかかります。
- 問題がファイルのデータをすべて順番に読み込んで処理するプログラムとなっているので、直接編成ファイルだと余分な時間がかかります。
- 正しい。
広告