- ベストアンサー
ファイル編成法について
高度情報処理試験の午前で、ファイル編成法についての問題があるのですが、いまいち理解ができません。 説明か、詳しいサイトなどご存知でしたら教えてください。質問としては以下です。 ○順編成、区分編成、直接編成、索引編成、VSAM編成といった5種類がありますが、DB(ファイル編成法はDBにて使用するという認識でOK?)を作成する際に、上記方法から1つを選んで作成する、ということでよいのでしょうか?それとも、1つのDBの中に混在しているのでしょうか? ○5種類の編成法の認識は正しいですか?また、よくわからない編成法については説明がほしいです。 ・順編成:1の巨大なファイルを保存するため ・区分編成:(作りかけの)プログラムのバージョンアップを管理したいがために使用する。 ・直接編成:何に使う?? ・索引編成:例えば、生徒情報のDBがあって、「名前」や「住所」のキーから検索したいがために使用する。※でもあふれ値って?? ・VSAM編成:何に使う? ○そもそも、VSAM編成はよくわかりません。 編成法について詳しい方、ご回答いただけますよう、よろしくお願いいたします。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
編成法に関しては、先のお二方の示されているとおりです。 今のパソコンや、UNIX系のサーバーでは、単純なバイトストリームですから、この辺の編成法に関しては、過去の知識となりつつあります。 ところで、これらは、すべて、主に大型汎用機に置いて、大概はCOBOL言語で業務系のアプリケーションを作成するときに使用されていたファイルの「物理形式」です。 アプリケーションを作成するためには、この物理形式は常に意識しておく必要があり、物理形式を別のものに変える羽目になると、アプリケーションの改造ということになります。 そこで、DBMSという考え方が出てきました。これは、ファイル編成法だの、最近のパソコンのような単純なバイトストリームの中に作成した物理的なファイルフォーマットの世界と、アプリケーションがデータにアクセスするための方法を完全に切り離すことを目標に作られたものです。 たとえば、リレーショナルタイプのDBMSであれば、アプリケーション側は、表の形で表現されたデータレイアウトだけを意識して、SQLという標準化されたコマンド形式で、自由にデータを取り扱うことができるようになっています。この段階では、物理ファイルの構造・編成に関しては、「意識しなくて良い」というのがDBMSの最大の利点であり、このために、DBMSは構築されています。 よって、DBMSにおいて、データベースを作成する際に、どのようなファイル編成にするかは、DBMSに任せておけばよい。(アプリケーション作成者は関与しない。)ということになるわけです。まぁ、DBMSのシステムを汎用機で実現するには、かなり融通が利くファイル編成を必要とするので、VSAM編成を利用する場合が多いかと思います。(必要に応じて、他のファイル編成で構成された一群のコントロールファイルを従えることもあるでしょう。)(一方、UNIXやWindowsベースのシステムの場合は、ファイルの物理形式がフラットなバイトストリームしかありませんから、その中に、各種のフィールド構造を構築しています。) データベースとファイルの物理構造に関する補足でした。
その他の回答 (2)
- root139
- ベストアンサー率60% (488/809)
順編成・区分編成などのファイル編成は、主に大型汎用機(メインフレーム)系のファイル(データセット)の話です。 http://e-words.jp/w/E5A4A7E59E8BE6B18EE794A8E6A99F.html 他の方も指摘されていますが、大型汎用機のプログラムにはCOBOLがよく使われています。 よく目にするUNIX系のOSやwindowsのファイルは、バイト単位のデータが順番に並んでいるだけの単純なバイトストリームになっていますので、それ以上の構造が有りません。したがって、ファイル編成という概念も有りません。 http://www.lbm.go.jp/toda/library/vosfile.html ですので、ファイル編成方法はDBの内部構造を指定するためのものと言うわけではないのですね。(もちろん、大型汎用機のDBでは内部で何らかの編成のファイルを使っているのでしょうが。) 個々のファイル編成については、「区分編成」「VSAM」などで検索すれば、解説しているサイトが見つかると思います。 http://www.hitachi.co.jp/Prod/comp/soft1/VOS3FS/v3ga0228.htm
お礼
ご回答、ありがとうございます。 参考URL、ご提供ありがとうございます。 もう少し調査してみます。
- fortranxp
- ベストアンサー率26% (181/684)
そもそも COBOLが全盛のころ意識された問題だと思います。どの方式でも使えないことは無いのですが すぐに検索しやすいかどうかによって どのタイプが よいのか選択すればよいのでしょう。 順編成ファイルは 磁気テープに保管するなどの必要があるときは この方法をとるでしょう。
お礼
早速のご回答をありがとうございます。 私も参考URLの説明を見たのですが、いまいち理解できませんでした。背景などがわからないと厳しいのかもしれませんね。COBOL全盛ということですね。 情報のご提供、ありがとうございました。
お礼
ご回答、ありがとうございます。 背景の説明があり、非常に分かりやすかったです。 なるほど、DBMSが出現する前の管理法なのですね。 VSAM編成は汎用機にてDBMSチックに(融通が利くファイル編成)する際に使用するわけですね。 VSAMの必要性がよくわからなかったのですが、理解できました。 ありがとうございました。