当コーナーでは、Delphiプログラマの皆さんが気軽にデータベースアプリケーションを
作ってみたくなるように、実例を交えて、主要なデータベースアプリケーションのパタ
ーンを紹介します。
データベースとは?
データベースの教科書に出ているので、読んでください(笑)。
ひとことで言えば、「データを系統的にまとめたもの」です。
これでは身も蓋もないので、ここでは、以下の1.~4.の機能を持つ仕組みを「データベース・マネジメント・システム(DBMS)」と呼び、DBMSによって管理されるデータをデータベースと呼ぶことにします。
- 比較的大量のデータを、
- いくつかの定型に分類し、
- 長期間に渡って保存する仕組み、および
- 保存されたデータを随時検索、加工する仕組み。
上記の定義に従うと、私たちはあらゆる場面でデータベースを用いているといえるのです。
- 住所録・電話番号簿
- 名刺ファイル
- 写真をファイルしたアルバム
- 新聞記事のスクラップ帳
- 蔵書・CD目録
- 送受信済み電子メールのアーカイブ、掲示板の過去ログ
- スケジュール帳、日記帳
もちろん、企業においてもデータベースは必要不可欠です
- 顧客名簿(潜在顧客、実顧客、口座・契約)
- 売上記録、仕入れ記録、売掛・買掛金状況
- 請求履歴、入金履歴、支払予定、支払履歴
- 商品一覧、在庫状況
- 従業員一覧、賃金台帳
- 社用資産一覧、
きりがないのでこれくらいにしておきますが、およそ「帳簿」や「一覧」が使われ「フロー」および「ストック」の管理が行われるすべての場面で、データベースが使用されるのです
DBMSのいろいろ
コンピュータシステムでデータベースを扱うために特化したソフトウェアが、データベース・マネジメント・システム(DBMS)です。特に現在、主流となっているのがSQL問合せ言語を解するリレーショナル・データベース(RDB)マネジメント・システム(RDBMS)です。
RDBMSとは何か、SQLとはどんなものかという説明はここではしません。(調べればいくらでも見つかります)
その代わり、ここで伝えたいことは、RDBMSと一口に言っても、それぞれの実装には価格、性能、用途などあらゆる面で、大きな幅があるということです。
- 対象顧客規模とシステム・アーキテクチャ
- データ量・トランザクション性能の限界
- 問合せ言語の機能
- クライアント機能
- 開発者インターフェース
- データの安全性
- ネットワーク性能
- ライセンスコスト
ざっと思いついただけでも沢山のポイントがあります。
「データベースの勉強をしたいのですが、MS-Accessと、Oracleの違いは何ですか?」というような質問が、相当にナンセンスであるということを、皆さんに知っていただきたいのです。
以下の各セクションでその違いを明らかにしていきたいと思います