表の構成
表の記述
このセクションでは,データベース表の情報を得るコマンドについて述べます.
このセクションの例を実際に試してみて,記載の通りに動作しなかった場合は,
データベースの例の使用で述べているように
DatabaseExamples`パッケージを使ってデータベースをもとの状態に戻す必要があるかもしれません.
表の情報を取り出す関数
DatabaseLink をロードし,
publisher データベースに接続します.
SQLTableNamesは,接続内の表の名前のリストを返します.
| Out[3]= |  |
SQLTablesは
SQLTable式のリストを返します.これらはデータベース中の表の情報を保管しています.
| Out[4]= |  |
また,
SQLTableInformationは表についてのより詳細な情報を返します.
Out[5]//TableForm= |
| |  |
各関数の第2引数にパラメータ文字列を指定し,それに合致する名前の表だけを抽出することもできます.このフィルタリングはデータベースサーバ上で行われるため,速度が顕著に上がります.次の例は
AUTHORS という名前の表を検索します.この条件に合致する表が存在しない場合は,結果は空のリストとなります.
| Out[6]= |  |
複数の表が合致するようにメタ文字を指定することも可能です.メタ文字には0以上の文字が合致する「%」と,1文字のみの「_」があります.次のコマンドは,
TITLE で始まるすべての表の名前を返します.
| Out[7]= |  |
オプション"
TableType"を指定すると,どのような型の表を返すか指定することができます.一般にこれは
TABLE 型の表であり,
DatabaseLink の表関数はデフォルトでこれらの情報のみを返します.
SQLTableTypeNamesを使うと,データソース中のあらゆる型の表を抽出することができます.
| Out[8]= |  |
データソースの中のすべての表を見たいときは,
SQLTableTypeNamesのオプションに"
TableType"を指定して得られた結果が使えます.以下に例を示します.
| Out[9]= |  |
オプション"
ShowColumnHeadings"を
SQLTableInformationで使うと,列見出しが得られます.
Out[10]//TableForm= |
| |  |
データベースが特定のスキーマとカタログで構成されている場合は,オプション"
Catalog","
Schema"を使って表を選択することもできます.
表の表現
SQLTable式はデータベースの表の情報を保管します.
このセクションの例を実際に試してみて,記載の通りに動作しなかった場合は,
データベースの例の使用で述べているように
DatabaseExamples`パッケージを使ってデータベースをもとの状態に戻す必要があるかもしれません.
| SQLTable[table,opts] | SQL表を表す式 |
SQLTable式の例を以下に示します.
DatabaseLink をロードし,
demo データベースに接続します.
"
TableType"オプションは,データベース中の表の型を選択するときに使用します.
次に
SQLTablesを使ってデータベース中の表のリストを得ます.これらは
SQLTable 式として返されます.この例では,表の名前に合致させるパターンを指定し,"
TableType"オプションはすべての型の表を返すように設定します.
| Out[3]= |  |
データの選択に記載のように,
SQLTable式はコマンドの中でも使えます.