Shoeisha Technology Media

CodeZine(コードジン)

記事種別から探す

SQLクライアントはこれひとつでOK! あらゆるDBMSで使える「SQL Workbench/J」をデータ解析で活用しよう

ビジネスデータ解析のためのSQL入門 第7回

  • LINEで送る
  • このエントリーをはてなブックマークに追加
2018/05/02 14:00

 本シリーズではビジネスデータ解析でデータベースから情報を取得して活用する必要がある方を対象に、ビジネスデータ解析でよく使われる実践的なSQL例など、分析向けの活用を解説します。本稿では、さまざまなデータベースに接続する必要があるデータ解析の際に役立つ、フリーのSQLクライアントツール「SQL Workbench/J」の活用方法を解説します。導入・データベース活用手順を解説しデータ解析の際に役立つ機能を紹介します。

目次

対象読者

  • SQLの基本は理解しているがより実践的な分析に取り組みたい方

サンプルの動作確認環境

  • MacOS 10.13
  • PostgreSQL 9.6

SQL Workbench/Jの概要と導入

 本稿で取り扱うツール「SQL Workbench/J」とは何かを簡単にご紹介し、本ツールの導入方法についてご紹介します。

SQL Workbench/Jとは

 SQL Workbench/JはThomas Kellerer(ドイツ在住)により作成・提供されている、フリーのSQLクライアントツールです。Javaランタイム上で動くOS非依存のJavaアプリケーションで、ライセンスの利用規約としては一部(特定の国の政府機関など)利用を制限しています。日本での利用では特に問題はありません。

SQL Workbench/Jのメイン画面
SQL Workbench/Jのメイン画面

 主な使い方は下記になります。

  • DBMSへの接続設定する
  • SQLを記述する
  • 問い合わせ結果のテーブルを表示する

 画面上部にある「Statement」と表示された入力フォームにSQL文を記述します。SQL実行はナビゲーション左上にある右向き三角のボタン(またはメニュー「SQL」>「Execute Selected」)より行います。実行結果は画面下部の「Result(Message)」と示された領域に表示されます。

 SQL Workbench/JはJDBCを利用した非常にシンプルな構成になっているため、ローカルで利用するGUIクライアントツールにもかかわらずブラックボックス部分が少なく、接続時のエラー検証などがしやすいといった特徴があります。筆者は新しいDBに接続する際、まずSQL Workbench/Jを用いて接続してみて、問題あればエラーの内容に対応する、といった使い方をしています。

[コラム]JDBCとは

 JDBCはJavaによりDBMSの接続を行う規格です。JDBCを利用することにより、JavaではDBMSごとに接続実装をする必要が無くなります。SQL Workbench/JはDBMS接続のモジュールをツール内部にもたず、JDBCを利用する形式にしたことでDBMSに依存しないツールになっています。ユーザーはJDBCドライバファイルを自分で用意する必要があります。

SQL Workbench/Jを利用するメリット

 SQL Workbench/Jを利用する際のメリットをいくつか紹介します。

①さまざまなDBMSで利用できる

 SQL Workbench/Jはデータベース管理システム(以下DBMS)との接続をJDBCに任せているため、ユーザーが自由に各DBMS向けのJDBCドライバ(jarファイル)を設定することができます。そのためJDBCドライバさえ入手できればさまざまなDBMSと接続しSQLを実行できます。

 いくつか例を挙げると、下記のDBMSで動作検証されています。

  • Oracle
  • SQL Server
  • MySQL
  • PostgreSQL

 また、AWSではオフィシャルヘルプでRedshiftに接続するためのクライアントツールとしてSQL Workbench/Jを紹介・推奨しており、その際にこのツールを知ったという方もいらっしゃるでしょう。

 上記以外のDBMSでも動作検証されています。詳しくはこちらを参照してください。

②GUIによる操作

 SQL Workbench/Jは視認性の高い表の形で表示できるため、データ解析で利用する集計結果を効率よく確認することができます。

 またGUIならではの機能を用いて直観的にSQL操作を行うことができます。

 逆にSQL Workbench/Jを利用する際のデメリットとしては、インストールする(設定する)手間がかかる点が挙げられます。導入手順は次の章で紹介していきます。

SQL Workbench/Jの導入手順

 SQL Workbench/J導入の大まかな流れは下記になります。

  1.  JRE(Javaランタイム)を導入する
  2.  SQL Workbench/Jツールを導入する
  3.  JDBCを導入する

 それぞれ見ていきます。

①JRE(Javaランタイム)を導入する

 まず動作環境としてJava(Java 8以上のJRE)が必要です。Javaがすでに導入済みであればこのステップはスキップしてください。著者の環境では、バージョン9や10で正常動作が確認できませんでした。動作しない場合はJava 8による環境構築を検討してください。

 Javaが導入済みでない場合はOSにJREをインストールします。下記サイトよりお使いのOSの環境に合わせてファイルダウンロードし、設定してください。下記はJava 8のものを示しておきます。

 以降の記事内では操作画面としてMac版を使用していますが、Windowsでも同様の操作になります。

②SQL Workbench/Jツールを導入する

 次にSQL Workbench/J本体をインストールします。SQL Workbench/Jは、専用ホームページのダウンロード画面(下記)より入手してください。

SQL Workbench/Jダウンロード画面
SQL Workbench/Jダウンロード画面

 画面の「Download generic package for all systems」リンク(Macの場合はその下のリンク)からファイルをダウンロードします。ZIPファイルがダウンロードされますので、任意の場所に解凍してください。

 Windowsの場合、SQL Workbench/Jのインストールフォルダの「SQLWorkbench64.exe(OSが64bitでない場合はSQLWorkbench.exe)」をクリックするとツールが立ち上がります。

③JDBCを導入する

 次にJDBCを導入します。PostgreSQLに接続する場合を例にとって説明します。PostgreSQLのJDBCは下記から入手できます。

 Java8以上向けの最新バージョンをダウンロードします。執筆時点(2018年4月)ではVersion42.2.2になります。

PostgreSQL JDBCダウンロード画面
PostgreSQL JDBCダウンロード画面

 PostgreSQLのJDBCドライバをURLからダウンロードし、jarファイルを任意のフォルダに格納します。導入はいったんこれで完了です。次に、データベース接続の設定およびSQL実行までを見ていきます。


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

著者プロフィール

  • WINGSプロジェクト 西 潤史郎(ニシ ジュンシロウ)

    <WINGSプロジェクトについて> 有限会社 WINGSプロジェクトが運営する、テクニカル執筆コミュニティ(代表 山田祥寛)。主にWeb開発分野の書籍/記事執筆、翻訳、講演等を幅広く手がける。2017年5月時点での登録メンバは52名で、現在も執筆メンバを募集中。興味のある方は、どしどし応募頂きたい...

  • 山田 祥寛(ヤマダ ヨシヒロ)

    静岡県榛原町生まれ。一橋大学経済学部卒業後、NECにてシステム企画業務に携わるが、2003年4月に念願かなってフリーライターに転身。Microsoft MVP for ASP/ASP.NET。執筆コミュニティ「WINGSプロジェクト」代表。 主な著書に「入門シリーズ(サーバサイドAjax/XMLD...

バックナンバー

連載:ビジネスデータ解析のためのSQL入門
All contents copyright © 2005-2018 Shoeisha Co., Ltd. All rights reserved. ver.1.5