いつも参考にさせていただいております。
VB等の言語を使用してWindowsアプリを作成するときに
データベースを使用したくなることが多いと思いますが、
そういった場合にはどうしても「データベース」として
オラクル等を使用しなければならないのでしょうか?
ふと疑問に思ったのですが、例えばMS-Access
でデータベースを作った場合に.mdbファイルが作成
されますが、これってAccessで開いて初めてデータ
ベースとして機能しますよね?
かなり高度な話になるのでしょうが、自分でアプリを
作成してそのアプリ独自のファイルを作成してデータ
ベースを構築することは出来るのでしょうか?
そんな作り方をしている方はいるのでしょうか?
ソフト屋のホントに売るためのソフト開発でもないと
そこまでしないぞ、ということなのかもしれませんが。
どなたかご意見ください。
No.4ベストアンサー
- 回答日時:
RBMSが普及する前は、データの管理はアプリが個別でして
いるのが普通でしたよ。
今でも、COBOLで開発したプログラムは独自でファイル管理
していることが多いようですね。
ただ欠点として、アプリが独自にファイル管理を行うと、
別のソフトがそのデータを操作するのが非常に困難ですし、
データのバックアップや排他処理などの管理も自分でPG
を作らなくてはいけなかったので、その辺のことを簡単な
操作でしてくれるRDBMSの普及に伴い、PCやUNIXのプログラム
ではRDBMSに役割を譲っているのが現状ではないかと思います。
私も10年くらい前は、BtrieveやF-ISAMなどのレコード
マネージャをC言語から呼び出したり、独自でファイル管理
をするコードをC言語で書いていましたよ。
ただ生産性の面では、RDBMS+4GL(PowerBuilderが得意)
に全然劣っていたので、RDBMSや4GLの普及に伴いそういう
プログラムは自然と書かなくなりました。
No.3
- 回答日時:
#1の補足です。
独自のDBみたいなものですね。
でも以外に独自っぽいファイル(拡張子が独自のやつ)でも実はMDBだったりしますよ。
ただ単に拡張子だけを変えているものも多いです。
(拡張子をMDBに変えたらアクセスでそのまま開けたり)
また、ビートリーブ?を使っているソフトも多いですね。(最近は減った)
また、サイボウズ社のグループウェアとかは独自のデータベースエンジンらしいですね。
あと、データベース的な扱いをする時は、既存のエンジンを使った方が速度もそこそこ速く、SQLが使えたりするのでよいと思います。
独自でファイル保存しているプログラムはテキスト/バイナリいろいろありますね。
まぁACCESSも人の手によって作られたプログラムですから、独自にデータベースエンジンを根気よく作られるのもいいのかも。
ソースを公開しているフリーソフトで勉強するのも1つの手ですね。
No.2
- 回答日時:
*.mdbをデータベースとして使用する場合、MS-ACCESSを使用しなければならないわけではありません。
*.mdbは「Jetエンジン」と呼ばれるデータベースエンジンのファイル形式です。
「データベースエンジン」とは、データベースを管理する核の部分と解釈してください。
実は、この「Jetエンジン」はVBにも付属してます。
従って、何も、ACCESSだけでしか使えないわけではないのです。
もちろん、VBを買えば無料で使用できます。
ただし、「Jetエンジン」はあくまでも個人用のデータベースです。
複数ユーザーが同時に更新するとデータ化壊れる場合があります。
一方、OracleやSQL-Serverなど、商用RDBMSは、本格的な業務アプリケーションなどに使用されます。
「Jetエンジン」とは違い、あくまでも複数ユーザーを前提としてます。
以上から、個人用の小規模なデータベースアプリケーションでしたら、通常は「*.mdb」の「Jetエンジン」を使用します。
テキストファイルのランダムアクセス機能を使うテもありますが、お勧めしません。
No.1
- 回答日時:
VBでACCESSのデータベースを利用したプログラムは世の中いっぱいありますよ。
VBからSQLでACCESSのデータを簡単に取得できますから。
ADO,DAO等を検索してみてください。
この回答への補足
早速のご回答ありがとうございます。
質問の書き方がまずかったようで、申し訳ない。
AccessのデータベースをAccess以外から
使用したいのではないのです。
むしろ逆で、あえてそういったデータベースと言われる
ものを使用せずに全て自作の中でファイルにデータを保
存してデータベース的な扱い(キーによるレコードの扱
いとか)をするようなことは出来ないのかな?と思いま
して。
市販されているいろんなアプリがありますが、どれも
独自のファイル形式で保存していますが、アプリの中で
データベース的な内容を扱っているものがありますよね?
例えばハガキ印刷系の住所録とかもそうですし。
自作アプリの中で、そういったことは出来ないのかなと
思ったわけです。
いかがでしょうか。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
SQL Server Management studioで
-
アクセスで、OLEサーバーも...
-
ACCESSのレコードを削除しても...
-
階層型データベースとVSAM...
-
エクセルVBAでcommit,rollback
-
1台の専用マシン(DB専用サ...
-
Query OK, 0 rows affected
-
ヤフーショッピングでPayPay支...
-
pg_restoreでエラー
-
MSアクセスでのコマンドボタン...
-
oracle spool SJIS → UTF-8
-
Postgresql 新規作成したサーバ...
-
ディスク上のサイズの乖離が大...
-
Oracle / UNIX ファイルコマン...
-
VB上でのSQLローダ利用
-
コマンドと関数の違い
-
SJISのDBは作れますか?
-
Windows上のPostgreSQLの完全削...
-
ログイン履歴
-
SQLServerへの接続子による違い...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
ACCESSのフォームだけを起動す...
-
アクセスで、OLEサーバーも...
-
ACCESSのレコードを削除しても...
-
エクセルVBAでcommit,rollback
-
階層型データベースとVSAM...
-
SQLiteファイルへの同時アクセ...
-
データベースが開けません
-
SQLPlusでUnicode
-
Access2010でリボン等を非表示...
-
Access2003でレポートを作ろう...
-
SQLのデータベースに韓国語を登...
-
HTMLからのデータベース アクセス
-
PostgresQLでサーバーを新規追...
-
ACCESS2000 VBAでのファイル名指定
-
別サーバーのデータベースに、...
-
エクセルのデータをアクセスに...
-
HP上で商品の検索をしてもら...
-
SEの皆様 お知恵拝借願います。
-
ディスク上のサイズの乖離が大...
-
ヤフーショッピングでPayPay支...
おすすめ情報