いくつかのデータを入力する
「ダミー」データを作成するには、タイプ テーブルに次の 4 つのレコードを入力します:「ゲーム」、「データベース」、「インターネット」、「グラフィックス」(グラフィックス)。これらの値は、アプリケーション テーブル (アプリケーション) に格納されているアプリケーションの種類を選択するときに使用されます。 次に、著者テーブル (著者) に行「Delphi Guide」、「[email protected]」、「http://delphi.about.com」を追加します。最後に、Applications テーブルに行「Zoom」、「Zooming the Destop」、「Delphi Guide」、「Graphics」、10、0、02/20/2001 を追加し、最後のフィールド (写真) を空にします。
これらの「空の」データベースを処理する方法については、このチュートリアルの残りの章で説明します。
第 2 章 ADO を使用してデータベースに接続しますか? BDE?
セクション 1 Delphi データベースの接続
前の章で示したように、データベースはデータを構造化形式で保存する 1 つ以上のテーブルの集合です。これらのテーブルには、行と列の形式でデータが含まれています。データベースに 1 つ以上のテーブルが含まれる場合、通常、テーブルには個別ではあるが関連したデータが保持されます。 MS Access、Interbase、および SQL Server は、1 つのファイルを使用して完全なデータベースを表します (MS Access は *.mdb ファイルです)。一方、Paradox と dBase は、インデックスとテーブルの関係を表す別のテーブルとファイルによって定義されます。 Paradox データベースを記述するすべてのファイルは、通常、1 つのディレクトリに保存されます。もちろん、Delphi は両方の方法で動作します。
Delphi を使用すると、ローカル データベースまたは C/S (リモート サーバー) データベースなど、さまざまな種類のデータベースに接続できます。ローカル データベースは、ローカル ドライブまたはローカル エリア ネットワークに保存されます。リモート データベース サーバーは通常、リモート マシン上にあります。ローカル データベースの種類には、Paradox、dBase、MS Access などがあります。 C/S データベースには、MS SQL Server、Interbase、または Oracle が含まれます。
ローカル データベースは、単層データベースと呼ばれることがよくあります。単一層データベースは、データの編集、レコードの挿入、またはレコードの削除など、あらゆる変更に即座に対応します。単層データベースには、テーブルが保持できるデータの量とアプリケーションがサポートできるユーザーの数に制限があります。データベースに複数のテーブル間の複雑な関係に関する情報が含まれている場合、またはクライアントの数が増加した場合は、2 層または多層アプリケーションを使用する必要があります。クライアント アプリケーションはローカル マシン上で実行され、アプリケーション サーバーは多くの場合そのサーバー上で実行され、データベースは別のサーバーに配置される場合があります。多層アーキテクチャの背後にある考え方は、アプリケーション サーバーが多くの作業を実行できるため、クライアント プログラムを非常に小さくできるということです。これにより、いわゆるシン クライアント アプリケーションを作成できるようになります。
Delphi でデータベース アプリケーションを作成する場合、データベース内のデータにアクセスするために何らかのデータベース エンジンを使用する必要があります。データベースを使用すると、データへのアクセス方法ではなく、どのデータにアクセスしているかに集中できます。 Delphi は最初のバージョン以来、データベース開発者向けに BDE (Borland Database Engine) を提供してきました。 Delphi は、BDE に加えて、第 5 版から Microsoft の ADO データベース インターフェイスのサポートを提供します。
このチュートリアルでは、MSAccess ローカル データベースを使用した単一層データベース アプリケーションの開発に焦点を当てます。
セクション 2 ボーランド データベース エンジン (BDE)
BDE は、Delphi や C++Builder を含むすべてのボーランド製品に共通のデータ アクセス層です。 BDE は、DLL (ダイナミック リンク ライブラリ) とツールのコレクションです。その利点は、すべてのデータ処理が開発者にとって透過的であることです。 BDE には、アプリケーションがさまざまな種類のデータベースと通信できるようにするドライバーのセットが付属しています。これらのドライバーは、高レベルのデータベース コマンド (オープンやポストなど) とタスク (レコード ロックや SQL 構造) を、Paradox、dBase、MS Access、または任意の ODBC データ ソースなどの特殊なデータベース タイプに必要な特定のコマンドに変換します。 BDE API (アプリケーション プログラミング インターフェイス) には、BDE ユニットから利用できる 200 以上のプロシージャと関数が含まれています。幸いなことに、これらのプログラムを直接呼び出す必要はほとんどありません。代わりに、VCL のデータ アクセス コンポーネント (トランスレータ: ビジュアル コンポーネント ライブラリ)、つまりコンポーネント パネルにあるデータ アクセス ページを通じて BDE を使用します。特定のデータベースにアクセスするには、アプリケーションはデータベースの別名 (Alias) を知っていれば、そのデータベース内のすべてのデータにアクセスできます。エイリアスは BDE Administrator で作成され、ドライブ パラメータとデータベースの場所を指定します。 BDE には、さまざまな種類のデータ要素に幅広くアクセスできるデータベース ドライバーのセットが付属しています。標準の BDE ドライバーには、Paradox、dBase、MS Access、および ASCII テキストが含まれます。もちろん、ODBC Administrator を介して BDE で任意の ODBC ドライバーを使用することもできます。
BDE を使用してデータベースにアクセスする Delphi アプリケーションでは、アプリケーション用に BDE を配布する必要があります。アプリケーションの BDE を構成する場合は、InstallShield Express または別の Borland 固有のインストーラーを使用する必要があります。
データベース エンジンとしての BDE には長所と短所があります。ただし、特定の非 BDE 手法の代わりに BDE メソッドを使用する必要がある (または使用しない) 理由と時期については、このチュートリアルでは説明しません。
このチュートリアルでは ADO/MSAccess について説明するため、チュートリアルの残りの部分では、データベースに対するこの非 BDE アプローチに焦点を当てます。
2002 年 12 月 22 日