データベースの参考文献
HSQLDB
HSQLDBはDatabaseLink に同梱のJavaで書かれたリレーショナルデータベースエンジンで,JDBCドライバとその他必要な設定も含んでいる.これは小さく(約100k),かつ速いデータベースエンジンで,サーバモード,プロセス内モード,メモリ内モード等,さまざまな方法で使うことができる.DatabaseLink はプロセス内スタンドアロンモードで使用するように設定されているため,実行と使用が簡単になっている(特別な設定は必要ない).しかし,これは同時に他のものはデータベースに接続できず,特定のデータベースには1度に1つの接続しかできない(たとえ複数のWolfram言語でも)ということを意味している.
HSQLDBで新しいデータベースを作成するには,存在しないデータベースへの接続を作成する.すると,HSQLDBがそのデータベースを作成する.Connection Toolを使うこともできる.Connection Toolはウィザードを配備し,名前付き接続を書く.これについては「Database Explorer:Connection Tool」を参照のこと.また,「データベースのリソース:接続設定」にあるように,接続ファイルを書き,それをDatabaseResourcesディレクトリに置いてデータベースを作成することもできる.以下のようにOpenSQLConnectionを使うこともできる.これらの問題については「データベース接続」を参照されたい.
以下は新しいデータベースexampleを作るコマンドの例である.
conn = OpenSQLConnection[JDBC["HSQL(Standalone)", ToFileName[{$UserAddOnsDirectory, "Applications", "DatabaseLink", "Examples"}, "example"]], "Name" -> "manualA", "Username" -> "sa"]DatabaseLink 中のHSQLDBドライバの詳細情報は,以下のようにして見ることができる.
Needs["DatabaseLink`"];
JDBCDrivers["HSQL(Standalone)"]HSQLDBデータベースに接続するには,一般に以下のようにファイル名,ユーザ名,パスワードを入力する.
OpenSQLConnection[JDBC["HSQL(Standalone)", "file"], "Username" -> "user",
"Password" -> "password"]詳細はhsqldb.sourceforge.netを参照のこと.
MySQL
MySQLデータベースサーバは一般的なオープンソースのデータベースで,さまざまなタイプのアプリケーションで使われている.DatabaseLink はMySQL用のConnector/J の各ドライバについて設定済みである.
MySQLに新しいデータベースを作る場合は,サーバ管理者に連絡する.
DatabaseLink のMySQLドライバの詳細は,以下のようにして見ることができる.
Needs["DatabaseLink`"];
JDBCDrivers["MySQL(Connector/J)"]MySQLデータベースに接続するには,一般に以下のようにしてサーバ,データベース,ユーザ名,パスワードを設定する.
OpenSQLConnection[JDBC["MySQL(Connector/J)", "server/database"], "Username" -> "user",
"Password" -> "password"]結果セットを開くときは,ドライバによっては(MariaDB,Connector/J)使用メモリ量を減らしてスクロール不可能な結果セットを読むためのモードオプションオプション"MySQLStreaming"が利用できる.
SQLResultSetOpen[SQLExecute[conn, "SELECT * FROM test_tab LIMIT 100000"], "Mode" -> "MySQLStreaming"]その他のRDBMSは,明示的な設定をしないでも,前進のみの結果セットのためのストリーミングを実装している場合がある.
詳細はwww.mysql.comを参照のこと.
PostgreSQL
PostgreSQLのサポートはPostgreSQL JDBCドライバで提供される.
DatabaseLink におけるPostgreSQLドライバの詳細は以下のようにして確認することができる.
Needs["DatabaseLink`"];
JDBCDrivers["PostgreSQL"]PostgreSQLデータベースに接続するには,一般に以下の例のようにしてサーバ,データベース,ユーザ名,パスワードを設定する必要がある.
OpenSQLConnection[JDBC["PostgreSQL", "server/database"],
"Username" -> "user", "Password" -> "password"]詳細はjdbc.postgresql.orgを参照のこと.
SQL Server
Microsoft SQL ServerはjTDSドライバでサポートされている.SQL Serverアプリケーションについては,ODBCよりJTDSドライバが強く推奨される.
DatabaseLink に含まれているSQLサーバドライバの詳細は,以下のようにして見ることができる.
Needs["DatabaseLink`"];
JDBCDrivers["Microsoft SQL Server(jTDS)"]Microsoft SQL Serverデータベースに接続するには,一般に以下の例のようにしてサーバ,データベース,ユーザ名,パスワードを設定する.
OpenSQLConnection[JDBC["Microsoft SQL Server (jTDS)", "server/database"],
"Username" -> "user", "Password" -> "password"]より詳しい情報は,Microsoft SQL ServerとSybase用のオープンソースドライバjtds.sourceforge.netをご覧いただきたい.
Derby
Derbyはフットプリントが小さく,標準準拠であることを謳った,Apache Software Foundationが保守・管理を行う,オープンソースの純Javaリレーショナルデータベースである.Derbyは埋込みモードとサーバモードで動作する.埋め込みモードでは,HSQLDBの場合と同様に,エンジンは DatabaseLink によって起動され,データベースは接続の際に必要に応じて自動的に作成される.
DatabaseLink におけるDerbyドライバの詳細は,以下のようにして見ることができる.
Needs["DatabaseLink`"];
JDBCDrivers["Derby(Embedded)"]新しいDerbyデータベースに接続するには,一般にパスをディレクトリに設定し,データベースを作成するように特性指示子を設定する.
OpenSQLConnection[JDBC["Derby(Embedded)", "/path/to/database/directory"], "Properties" -> {"create" -> "true"}]詳細はdb.apache.org/derbyを参照されたい.
Firebird
Firebirdは,平行性,性能,プロシージャとトリガのサポートを重視した,オープンソースのクロスプラットフォームRDBMSである.Firebirdのサポートは,Firebird JDBCドライバによって提供される.
DatabaseLink におけるFirebirdドライバの詳細は,以下のようにして見ることができる.
Needs["DatabaseLink`"];
JDBCDrivers["Firebird"]Firebirdデータベースに接続するには,一般にデータベースファイルへのパスを含む接続URLと認証情報を設定する.
OpenSQLConnection[JDBC["Firebird", "server:3050//path/to/database.fdb"], "Username" -> "SYSDBA", "Password" -> "$Prompt"]詳細はfirebirdsql.orgを参照されたい.
H2
H2はフットプリントが小ささと,性能,平行性,セキュリティを重視した,オープンソースの純Javaリレーショナルデータベースである.H2はサーバ上,埋込み,またはメモリ内モードで動作する.後者2つのモードでは,DatabaseLink はH2エンジンを開始し,必要に応じてデータベースを作成する.
DatabaseLink におけるH2ドライバの詳細は,以下のようにして見ることができる.
Needs["DatabaseLink`"];
JDBCDrivers["H2(Embedded)"]埋込みH2データベースに接続するには,一般にH2がリソースファイルを指定するのに使用するディレクトリ名までのパスを設定する.
OpenSQLConnection[JDBC["H2(Embedded)", "/path/to/database/name"]]詳細はwww.h2database.comを参照されたい.
SQLite
SQLiteはサーバを使用せず,設定を必要としない,使いやすく,フットプリントが小さく,信頼性が高いSQLデータベースエンジンである.SQLiteは埋込みモードとメモリ内モードで動作する.
DatabaseLink におけるSQLiteドライバの詳細は,以下のようにして見ることができる.
Needs["DatabaseLink`"];
JDBCDrivers["SQLite"]SQLiteデータベースに接続するには,一般にデータベースの保管に使用するファイルへのパスを設定する.
OpenSQLConnection[JDBC["SQLite", "/path/to/database/file.db"]]詳細はwww.sqlite.orgを参照されたい.
Sybase
DatabaseLink に含まれているSybaseドライバの詳細は,以下のようにして見ることができる.
Needs["DatabaseLink`"];
JDBCDrivers["Sybase (jTDS)"]Microsoft SQL Serverに接続するには,一般に以下の例のようにしてサーバ,データベース,ユーザ名,パスワードを設定する.
OpenSQLConnection[ JDBC["Sybase (jTDS)", "server/database"],
"Username" -> "user", "Password" -> "password"]より詳しい情報は,Microsoft SQL ServerとSybase用のオープンソースドライバjtds.sourceforge.netを参照されたい.
他のデータベース
DatabaseLink はJDBCドライバを使って,どのようなタイプのデータベースにも接続することができる.ドライバは「データベース接続:JDBCドライバのインストール」と「データベースのリソース:JDBCの設定」の手順に従ってインストールする.
JDBC
Java Database Connectivity API:www.oracle.com/technetwork/java/javase/jdbc/index.html