Delphiで学ぶコンピュータ言語
柔軟性のあるデータベース開発とは
Delphiは、ギリシア語に起源のあるネーミングからも分かるように、もともとOracle向けのクライアントアプリケーション開発を主な目的として設計されました。もちろん、DelphiはOracle専用のツールではなく、幅広い開発に対応しています。
開発チームは、さまざまなデータベースを扱わなければなりません。予算やシステムの規模、要求される性能などによって、使用するデータベースは変わります。また、単一のシステムをメンテナンスしている場合でも、将来的にデータベースか変わったり、他のデータベースを補助的に利用する必要に迫られたりすることがあります。
このようなときに、1つのデータベースだけに対応した開発ツールやフレームワークでは、柔軟性に欠けます。別のデータベースを利用するときには、また一から新しいツールやフレームワークを習得しなければなりません。
一方、それぞれのデータベースには、それぞれ特徴があり、扱いが異なる場合もあるため、共通項だけくくりだして操作しているだけでは、その性能を100%活かせないことがあります。汎用性か専門性かというジレンマに陥るわけです。
Delphiが採用したアプローチは、この両方です。つまり、共通のインターフェースを用意し、それぞれのデータベースに特化したコンポーネントや、汎用コンポーネントのいずれも利用できるようにしています。例えば、InterBase用のデータアクセスコンポーネントとしてはIBXが用意されていますが、dbExpressという汎用コンポーネントでもInterBase用のドライバが用意されていて利用できます。ただし、どちらのコンポーネントも最終的に同じようにデータセットとして扱えるようにインターフェースが統一されているため、表示、編集するコンポーネントからは違いを意識する必要がないのです。
データベースを使ってみる
では、実際にデータベースアプリケーションを作成してみましょう。データベースアプリケーション開発の最初のステップも、通常のアプリケーションと同じです。[ファイル|新規作成]で、「VCLフォームアプリケーション」を作成します。
作成したフォームに、データベース接続用のコンポーネントを配置します。これらのコンポーネントは、データベースコネクション、クエリー、結果セットのキャッシュなどを担当する非表示のコンポーネントで、設計画面上ではアイコンで表現されます。
これらのコンポーネントは、ツールパレットから選択して配置することもできますが、データエクスプローラを使うと、もっと簡単に接続するデータベースの設定ごとドラッグ&ドロップできます。
データエクスプローラで、接続するデータベースを選びます。
データエクスプローラを使うには、最初にデータベース接続を定義しなければなりません。データエクスプローラでデータベース接続を定義したり、クエリーをビジュアルに定義したりする方法については、こちらのビデオをご覧ください。