業務処理をWebアプリケーションとする場合、先述したようにデータベースの扱いが非常に重要になります。
- RDBMS -
SQL ServerやOracleなどのリレーショナルデータベース管理システム(RDBMS)は、データベースの管理と制御を行う機能のみを提供します。現在市販されているRDBMS製品には、データベースのデザインやリレーションの設定を行うためのツールなどが付属してきますが、RDBMS本来の機能は、データベースを直接制御するデータベース・エンジンと、プログラミング言語を使って開発されたアプリケーションとのインターフェイス部分とで構成されています。
Accessではデータベース・エンジンとユーザーインターフェイスの作成機能とが一体となっていますが、本来これらは切り離して捉えるべきものです。
- データベースサーバー -
一般的なクライアント・サーバー型ネットワークでは、データベースはRDBMSの稼働するデータベースサーバーで管理し、アプリケーションはアプリケーションサーバー上で動作します。
アプリケーションからデータベースを操作するには、データベースサーバーに接続して、SQL(Structured Query Language)による制御命令を発効します。SQLによる命令を受けたRDBMSはその命令に従った処理を行い、結果をアプリケーションに返します。
図5:データベースサーバーでデータベースを保存・管理する
- SQLでデータベースを操作する -
アプリケーションからデータベースを扱うには、SQLを用います。これは、OSに依存する一般のアプリケーションでも、Webアプリケーションでも同じです。SQLがどのようなものか、簡単に紹介しておきます。SQLについての具体的な解説は、回を追って行います。
SQLはStructured Query Languageの略で、「構造化照会言語」と訳されます。“query”を「照会」と訳しているのですが、データベースに対する問い合わせだけではなく、レコードの追加や削除、フィールドの値の更新など「照会・問い合わせ」の範疇には入らない、データの変更操作も可能です。要するにSQLは、データベースに対するありとあらゆる処理を行えます。
SQLは各種データベース・エンジンに共通の言語なので、データベースの種類やデータベース・サーバーのOS、プログラミング言語の違いなどを意識することなく、処理を記述できます。
以下に、SQLを使ったプログラムの例を掲げておきます。どれも完全なリストではなく、SQLを使っている部分を抜粋したものです。
リスト1:Visual BasicでSQLを使った例
リスト2:ASPのVBスクリプトでSQLを使った例
- データベース操作の共通言語 -
上記リストの、
"SELECT 商品コード,商品名,前月繰越,当月入庫," _
& "当月出庫,当日入庫,当日出庫,在庫数 " _
& " FROM Q_在庫問合 where 商品コード = " _
& Val(txt商品コード)
や
SqlStr = "SELECT Q_在庫問合.商品コード,
Q_在庫問合.商品名,
Q_在庫問合.在庫数
FROM Q_在庫問合 WHERE Q_在庫問合.商品コード="
などがSQLを使ってデータベースを操作している部分です。" "で囲まれ、文字列定数となっています。
SQLはIBM社によって制定されたデータベース操作の共通言語で、命令は文字列として処理されます。そのため、文字列を扱えるプログラミング言語なら、どのような言語からでも同じ手続きで利用できます。
汎用的なデータベース・エンジンは、すべてSQLによる処理命令を受け付けるようになっているので、言語の文法やOSの違いを意識する必要はありません。
Webアプリケーションの基本的な仕組みと、データベースの扱いについて概要を紹介しました。Webアプリケーションは従来のクライアント・サーバー型ネットワークで動作するOS依存のアプリケーションとは趣を異にしています。
これまでのようにWindowsの作法から離れ、UNIXの流儀を意識する必要が生じてきます。また、業務処理ではデータベースを扱うためにSQLの理解も必須です。
|
|
|