SHOEISHA iD

※旧SEメンバーシップ会員の方は、同じ登録情報(メールアドレス&パスワード)でログインいただけます

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

SQL Anywhereの魅力を探る(AD)

SQL Anywhereのインストールと概要
(SQL Anywhere 11対応版)

SQL Anywhereの魅力を探る 2 改訂版

  • このエントリーをはてなブックマークに追加

2.2 GUIツール

2.2.1 Sybase Central

 Sybase Centralは、GUIによるデータベース管理ツールで、データベースの作成やテーブルの作成など、SQL Anywhere管理のあらゆる操作が行える(図2.3)。また、テーブルのデータを表示して修正することもできるので、簡単なデータ操作も可能だ(図2.4)。

図2.3 : Sybase Centralのユーティリティのメニュー。データベースの作成やバックアップなどのメニューなどが並んでいる([表示]⇒[フォルダ]と[表示]⇒[サーバ・メッセージと実行されたSQL]を選択した状態)
図2.3 : Sybase Centralのユーティリティのメニュー。データベースの作成やバックアップなどのメニューなどが並んでいる([表示]⇒[フォルダ]と[表示]⇒[サーバ・メッセージと実行されたSQL]を選択した状態)
図2.4 : Sybase Centralでのスキーマ表示。テーブルのスキーマを表示させたところ。カラムの追加や修正などをデータベース起動中に行える。また、データタブでデータ一覧を表示可能。
図2.4 : Sybase Centralでのスキーマ表示。テーブルのスキーマを表示させたところ。カラムの追加や修正などをデータベース起動中に行える。また、データタブでデータ一覧を表示可能。

 各オブジェクトの操作は、右ペインのタブや左ペインのオブジェクトを右クリックすると表示されるポップアップメニューから行う。なお、左ペインでテーブルを選択してからコピーすると、Sybase Central内でコピーできる。また、メモ帳などにペーストすると、テーブルスキーマのSQL文がテキスト表示される。

 [サーバ・メッセージと実行されたSQL]ウィンドウの赤枠のタブ(図2.5)を選択すると、Sybase CentralからGUIで操作した内容をSQLとしても確認することもできる。実行されたSQL文を確認したり、別途スクリプトを用意する時などにも参考になる。

図2.5 : SQLを表示した例
図2.5 : SQLを表示した例

2.2.2 Interactive SQL

 Interactive SQLは、SQL Anywhereに接続してSQL文を実行するためのツールだ。GUIとコマンドラインの両方で利用できる。GUIで利用すると、SELECT文などのSQLが返す結果セットはテーブル形式で表示される。また、SQL文の実行時間やオプティマイザが選択したクエリプランも表示できるので、SQL文のチューニングに役立つ。

図2.6 : Interactive SQL。テーブルのデータを一覧表示させたところ
図2.6 : Interactive SQL。テーブルのデータを一覧表示させたところ

 Interactive SQLの実行コマンドであるdbisql.exeに対して-noguiオプションを付けて実行すると、対話的にSQLを実行できる。次に実行例を示す。

$ dbisql -c "dsn=SQL Anywhere 11 Demo"  -nogui
(DBA)> select top 5 id, surname, givenname from customers order by id;
id          surname              givenname
-----------------------------------------------------
101         Devlin               Michaels
102         Reiser               Beth
103         Niedringhaus         Erin
104         Mason                Meghan
105         McCarthy             Laura
(5 ロー)
実行時間 : 0.312 秒
(DBA)> exit
$ 

 dbisqlコマンドの引数にSQL文指定すると、そのSQL文が実行される。

$ dbisql -c "dsn=SQL Anywhere 11 Demo" "select * from customers"

SQL文のバッチ処理

 dbisqlコマンドの引数にファイル名を指定した場合は、そのファイル(コマンドファイル)に書かれたSQL 文が実行される。

$ dbisql -c "dsn=SQL Anywhere 11 Demo" a_command_file.sql

 このとき、コマンドファイル内の変数をパラメータ化して、コマンドファイルを汎用化したい場合もあるだろう。Interactive SQLのREADコマンドを用いると、コマンドファイルにパラメータを渡すことができるので、バッチスクリプトを書く際に便利だ。たとえば、次のようなコマンドファイル「select_product.sql」を用意する。

PARAMETERS MIN_QUANTITY;
SELECT * from products
 WHERE quantity > {MIN_QUANTITY};

 MIN_QUANTITYがパラメータだ。100という数字を渡すには、次のようなコマンドを実行すればよい。

$ dbisql -c "dsn=SQL Anywhere 11 Demo" read c:\select_product.sql 100

2.2.3 高速ランチャ機能

 Sybase CentralとInteractive SQLには、起動を速くする高速ランチャ機能がついている。1度目の起動を終了してもバックグラウンドプロセスが残り、2度目以降の起動が高速になる。この機能はデフォルトでオンになっているので、バックグラウンドプロセスのメモリ使用量などが気になる場合は、[ツール]-[オプション]から、高速ランチャ機能を無効にするとよい。

次のページ
2.3 SQL Anywhereのアーキテクチャ

この記事は参考になりましたか?

  • このエントリーをはてなブックマークに追加
SQL Anywhereの魅力を探る連載記事一覧

もっと読む

この記事の著者

森脇 大悟(モリワキ ダイゴ)

1974年生まれ。神奈川県川崎市出身。京都大学理学部物理学科卒業。同大学院 修士課程中退後、有限会社グルージェント(現・株式会社グルージェント)入社。SIとして金融や物流システムを手がける。2003年アイエニウェア・ソリューションズ株式会社入社。エンジニアとして製品の導入支援やコンサルティング業務に...

※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です

森山 誠(モリヤマ マコト)

1967年生まれ。群馬県出身。1985年日立製作所に入社。メインフレームのデータベースに初めて触れて、幾つかの経験・経緯をへて、現在の会社でデータベース:SQL Anywhereを中心に活動中。 『仕事』と『家族』と『フリーライン・スケート』を愛するライダーです。 (・_・?)アレ?&nb...

※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です

【AD】本記事の内容は記事掲載開始時点のものです 企画・制作 株式会社翔泳社

この記事は参考になりましたか?

この記事をシェア

  • このエントリーをはてなブックマークに追加
CodeZine(コードジン)
https://codezine.jp/article/detail/4484 2009/10/15 14:00

おすすめ

アクセスランキング

アクセスランキング

イベント

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

新規会員登録無料のご案内

  • ・全ての過去記事が閲覧できます
  • ・会員限定メルマガを受信できます

メールバックナンバー

アクセスランキング

アクセスランキング