Getting Started

このチュートリアルの使い方

このチュートリアルでは,DatabaseLink の機能の概要と,どのように使い始めるかについての提案を取り上げる.これには軽量のデータベースHSQLDBを使用するが,これは DatabaseLink の一部としてインストールされる.これを使うと,データベースを別途インストールしなくてもドキュメント内の例題を試すことができる.別の DatabaseLink チュートリアルに詳しいリファレンス情報がある.

DatabaseLink には,データベース操作のための2種類のインターフェースが用意されている.一つはコマンドラインインターフェースで,プログラム内でデータベースを使うときに,より柔軟で便利である.もう一つはグラフィカルインターフェースで,こちらは使用が簡単である.どちらのインターフェースについてもここで取り上げる.

このセクションの例題を試し終えたら,「データベースの例の使用」に記載の"DatabaseLink`DatabaseExamples`"パッケージを使って例題データベースをもとの状態に戻した方がよいだろう.

コマンドラインインターフェース

はじめに

コマンドラインインターフェースはパワフルかつ柔軟なインターフェースで,特にデータベースの機能を利用するプログラムを書くのに適している.このセクションでは,例題データベースを使って種々の操作について述べる.

このセクションの例を実際に試してみて,記載の通りに動作しなかった場合は,「データベースの例の使用」で述べているように"DatabaseLink`DatabaseExamples`"パッケージを使ってデータベースをもとの状態に戻す必要があるかもしれない.

パッケージのロード

DatabaseLink はWolfram言語のアドオンアプリケーションである.関数を使う前に,以下のようにしてパッケージをロードする必要がある.

データベースへの接続

データベースへの接続についての詳細は「データベース接続」をご覧いただきたい.コマンドラインメソッドでは,データベースを使用する際に使えるハンドルを返す関数OpenSQLConnectionを使う.次の式を評価すると,付属の例題データベースへの接続を開始する.

このセクションの例を実際に試してみて,記載の通りに動作しなかった場合は,「データベースの例の使用」で述べているように"DatabaseLink`DatabaseExamples`"パッケージを使ってデータベースをもとの状態に戻す必要があるかもしれない.

引数を与えずにOpenSQLConnectionでGUIを開いてデータベースに接続することもできる.Connection Toolが現れるので,接続を開始するか,または操作を継続する前にツールをキャンセルする.

例題データベースに接続するには,Connection Toolが使える.データベースへの接続についての詳細情報は「データベース接続」を参照されたい.

データの取出し

リレーショナルデータベースは表の集合で構成されている.各表は一般に列と呼ばれる種々のカテゴリのデータからなる.表の各行には種々のカテゴリのデータが含まれている.データベースアプリケーションには,データのクエリ,挿入,更新,削除等の機能をサポートする,データ管理のための関数が含まれている.

表はリレーショナルデータベースの基盤で,それらを簡単にリストする方法が必要である.これは,次のようにSQLTablesコマンドを使って行える.

表の特定の列の情報は,SQLColumnsコマンドで調べることができる.表SAMPLETABLE1の列についての情報を得る例を以下に示す.

以下のようにSQLSelectコマンドを実行すると,表SAMPLETABLE1のデータが取り出せる.

データベースクエリの結果はWolfram言語リストとなり,このリストはあらゆるWolfram言語コマンドで使える.次の例では,各行の最後の要素をプロットする.

次は,表SALESからデータを取り出すが,その際に列見出しを加え,結果を表形式で出力する.

DatabaseLink を使うと,SQLコマンドをそのまま入力することもできる.これはSQLについてすでに詳しく,新しく他の言語を学びたくない場合に便利である.次の例では,表SALESからすべてのデータを取り出す.

データの取出しに関する詳細情報は,「データの選択」を参照されたい.

データの挿入

SQLInsertコマンドを使うと,表にデータを挿入することができる.例として,表SAMPLETABLE1に新しい行を追加してみる.

加えられた行を見てみる.

SQLコマンドをそのまま使ってデータをさらに挿入することもできる.このとき,挿入する文字列(次の例ではDay7)にはシングルクォート文字「'」を使用する.ダブルクォート文字「"」も使えるが,ダブルクォートの場合はWolfram言語の文字列エスケープ文字であるバックスラッシュ「\」を前に付けなければならない.

SQLコマンドをそのまま使用するもう一つの例として,プレースホルダを使って引数の場所を示し,SQLExecuteの引数として実際の引数を含んでいるリストを渡す.この方法はコマンドを形成するために文字列を連ねる必要がないので便利である.

現在の表のデータを示す.

データの挿入に関する詳細情報は,「データの挿入」を参照されたい.

データの更新

SQLUpdateコマンドを使うと,表のデータを更新することができる.これはデータの一部のみを変更するために,よく条件と組み合せて使われる.次の例は列VALUEの8より大きい項目をすべて7に設定する.

加えられた変更を見てみる.

データの更新にはSQLコマンドも使える.次の例ではVALUEが6以上の項目に対応する行をすべて7に設定する.

データの更新に関する詳細情報は,「データの更新」を参照されたい.

データの削除

SQLDeleteコマンドを使うと,表のデータを削除することができる.これはデータの一部のみを変更するために,よく条件と組み合せて使われる.次の例はVALUEの成分が7以上の行をすべて削除する.

加えられた変更を見てみる.

データの削除にはSQLコマンドも使える.次の例ではVALUEが5.7より大きい項目をすべて削除する.

データベースに残った行は1行だけである.

データの削除に関する詳細情報は,「データの削除」を参照されたい.

バッチコマンド

1つのコマンドを何度も繰り返して使用する場合は,繰り返す引数をリストで指定して行える.同じコマンドをこのようにして実行すると,各コマンドを別々に実行するよりも格段に速くなる.

次のコマンドは2行挿入する.

次に,SQLコマンドを使ってさらに2行挿入する.

挿入の結果は次のようになる.

接続の解除

接続を使い終ったら,それを閉じることができる.

接続についての詳細情報は「データベース接続」を参照されたい.過去にデータベースに変更を加えており,それをもとに戻したい場合は,「データベースの例の使用」に記載のように"DatabaseLink`DatabaseExamples`"パッケージを使う.

Database Explorer

Database Explorerは,データベースの機能を使用するためのグラフィカルインターフェースである.これは DatabaseLink をロードし,コマンドDatabaseExplorer[]を実行すると立ち上がる.

Database Explorerが開いたら,お使いのシステム用に設定済みの他のデータベースに接続できる.新しい接続を開始することもできる.データベースに接続すると,次の図のように表と列が表示される.

1.gif

Result」タブをクリックすると,次の図のようにデータベースのデータが見られる.

2.gif

Database Explorerは,より複雑なクエリの作成,クエリの保存,クエリの結果のレポートの作成(Wolfram言語ノートブックとして保存される)等,多くの機能をサポートしている.これらについては「Database Explorer」を参照のこと.