次のページへインスタンス、データベース、テーブルここまでで、MSDEをインストールし(同時にNetSDKインスタンスが作成され)、4つのサンプル・データベースを作成した。各サンプル・データベースには、サンプル・データも作成される。これらのデータは、実際にはデータベース内に作成された複数の「テーブル」に、複数の「レコード」として格納されている。Manager」があれば、その画面で確認することができる(VS.NETのサーバ・エクスプローラでも同様の画面を表示できる)*2。Manager」だけをインストールして使用することができる。SP3を適用できないため、ダウンロード不可になっているようだ。Serverに付属のGUIツール。データベースの作成から管理までをすべてこのツールで行うことができる。(1)インスタンス、データベース、テーブルは階層的に管理されている。(2)続いて[データベース]を開くと、インスタンスにあるデータベースが列挙される。(3)さらにデータベースを開いて、[テーブル]を選択すると、画面右側にテーブルの一覧が表示される。(4)データベースに含まれているテーブルの一覧。[種類]が「ユーザー」となっているテーブル(反転させている部分)は、ユーザーが作成したものであり、アプリケーションのデータはこれらのテーブルに格納される。Serverグループ]に登録されている幾つかのインスタンスのうち、(1)「TAKAP4\NetSDK」というインスタンス(TAKAP4というコンピュータのNetSDKインスタンス)を開いているところだ。各インスタンスには、フォルダ・アイコンで表示された幾つかの項目が存在するが、このうちの(2)[データベース]を開くと、そのインスタンスにあるデータベースを見ることができる。4つのサンプル・データベース以外にも、「master」や「model」などのデータベースが自動的に作成されているのが分かるが、これらはインスタンスを管理するための情報などが入ったデータベースであり、通常は気にする必要はない。上の画面では、4つのサンプル・データベースのうち、pubsデータベースを開いている。各データベースにもまた、幾つかの項目が存在するが、このうち(3)[テーブル]を選択すると、このデータベースに含まれている全テーブルが、画面の(4)右半分に列挙される。画面では31個のテーブルが存在しているが、このうち[種類]が「ユーザー」となっている、「authors」から「titles」までの11個のテーブル(反転表示させている部分)が、サンプル・データベースのインストール時に作成された、サンプル・データを含んだテーブルだ。それ以外の、[種類]が「システム」となっているテーブルは、テーブルを管理するためのデータや、テーブルのアクセス権を管理するデータなどを格納したテーブルで、これらも通常は気にする必要はない。Serverでは、こういったデータベースやテーブルを管理するためのシステム・データ自体も、社員情報や製品情報といったユーザー・データと同様に、テーブル内で管理しているのだ。テーブルの構造データベースのテーブルは、「表」形式でデータを保持している。テーブルは、列(項目、カラムなどとも呼ばれる)と行(レコードとも呼ばれる)で構成されている。ServerのGUIツールや、VS.NETのサーバ・エクスプローラでは、各テーブルを開いて、そこに格納されているレコードを列挙することができる*3。次の画面は、VS.NETのサーバ・エクスプローラで、pubsデータベース内にあるpublishersテーブルを開いているところだ。SDK+MSDEしかインストールしていない場合は、取りあえず、コマンド・プロンプトから後述するコマンドライン・ツールを使用してレコード一覧を出力することができる。今回の最後でデータベース、テーブル、テーブル内のレコードを一覧できるツールを作成するので、そのコードをコンパイルして利用していただきたい。VS.NETのサーバ・エクスプローラで表示したテーブルpublishersテーブルには、5つのカラム(列)が設定されており、セットアップ時には8つのレコード(行)が格納されている。このpublishersテーブルには、次の5つのカラムがあることが分かる。pub_idpub_namecitystatecountryそしてテーブルには、8つのレコードが格納されていることが分かる。テーブル名とレコードの内容から、このテーブルは恐らく出版社に関するデータであろう。pub_idカラムが出版社に振られたID(管理番号)、pub_nameカラムが出版社の社名、それ以外の3つのカラムは出版社のロケーションを表している(と、明記されたドキュメントがあるわけではないが、そう理解しても問題ない)。コマンドライン・ツール「osql.exe」ここまでは、テーブルの内容を確認するためにGUIツールを利用したが、MSDEに付属するコマンドライン・ツール「osql.exe」を使用しても同様の操作が可能だ。MSDEをインストールした環境では、コマンド・プロンプトを開いて直接「osql」と入力すれば使えるはずだ。コマンドのオプションとして、少なくとも次の3つのオプションを指定しておく必要がある。オプション機能-S接続するデータベースのサーバ名(あるいは「サーバ名\インスタンス名」)を指定する。ローカル・コンピュータを指定する場合でも、なぜかサーバ名として“localhost”は指定できず、代わりに“(local)”を指定しなければならない。Serverに接続する。Serverでは、接続しようとしているユーザーがデータベースにアクセスできるかどうかをチェックするのに、2つの認証モードが用意されている。Serverでの認証も行ってしまうモードだ。このモードがMSDEのデフォルトである。Serverのレベルで認証を行う。Serverのデータベースを利用できるように用意されたモードである。接続する方法」に記述されている-d使用するデータベースを指定するosqlツール使用時に必要なオプション例えば、publishersテーブルを含んでいるpubsデータベースに接続するには、コマンド・プロンプトで次のように入力すればよい。pubs次の画面のように、「1>」と画面に表示されれば接続は成功だ。osqlツールでデータベースに接続した画面コマンド・プロンプトから3つのオプション(-S、-E、-d)を指定して、osqlツールを実行している。「1>」に続いて、データベースへのコマンドを入力していく。ここで接続に使用したオプションの内容は、プログラムからデータベースに接続する場合にも使用するので記憶しておいてほしい。SQL文によるレコードの表示osqlツールでは、データベースに対して「SQL」文を発行して、データベースにアクセスする。Language:構造化問い合わせ言語)は、データベース定義(データベースやテーブルの作成など)やデータベース操作(テーブルへのレコードの登録、検索など)を行うための規格化された言語で、現在ほとんどのデータベース製品でサポートされている。使用されるSQL文の1つは「select」文だ。select文は特定のテーブルに対して、指定した条件に合うレコードのカラムを抽出することができる。前項でも取り上げたpublishersテーブルから、米国にある出版社の出版社名とそのIDを取り出すためには、次のようなSQL文を使用する。'USA'select文の基本的な構文は次のとおりだ。実際に上のselect文を実行すると、次のような画面になる。select文の次に「2>」で入力している「go」は、入力したselect文をデータベースに送信するためのコマンドだ。osqlツールでselect文を実行した画面select文と入力し、続けて「go」を入力することにより、データベースでselect文が実行され、その結果が画面に表示される。ここでは6件のレコードがselect文の条件にマッチしている。先ほどのVS.NETで表示させた8つのレコードのうち、countryがUSAとなっているレコードのpub_idカラムとpub_nameカラムのデータが表示されていることが確認できるだろう。ここではosqlツールを使用し、まずデータベースに接続し、select文を発行してデータベースに問い合わせを行ったが、この手順はプログラムからデータベースにアクセスする場合も基本的に同じだ。新しいレコードをテーブルに挿入するinsert文などが用意されている。次回以降では、その都度これらの構文を解説しながら、プログラムからこれらのSQL文を使用していく。メールマガジンをご購読ください。申し込みページへITmediaはアイティメディア株式会社の登録商標です。