システム開発にはデータベースが必須

Webアプリケーションを中心とするさまざまなシステムの開発においてバックエンドで、データの格納/検索を担当するデータベースは切っても切れない存在だ。データベースの操作は通常SQLを用いて行う。データベースにはSQLを実行するためのクライアントプログラムが付属しているが、コマンドラインで実行するものが多く、使い勝手はいまいちだ。

今回は無償で利用可能なグラフィカルなデータベースフロントエンドとしてCSE、DBViewer、SQL Developerを紹介する。

CSE

CSEはWindows上で動作可能なデータベースフロントエンドだ。Oracle、MySQL、PostgreSQLと主要なデータベースに対応しているほか、ODBC経由でデータベースに接続することも可能だ。

データベーススキーマの参照やSQLの実行に加え、テーブルのデータを表形式で編集できるなどデータベースアプリケーションの開発現場で必要とされる機能は一通り揃っているほか、テーブルの内容をCSVでインポート/エクスポートする機能などを備えている。少し変わった機能としてはテーブルの定義をExcelとして出力することが可能だ。

図1 CSE

図2 CSEで出力したテーブル定義

CSEの最大のメリットはその軽快な動作だろう。後述のSQL DeveloperやDBViewerなどと比べて非常に軽快に動作する。この軽快なテキストエディタとスクリプト言語で開発するような環境には最適だろう。

DBViewer

Java開発の場合、統合開発環境としてEclipseを利用しているケースが多いだろう。DBViewerはEclipseにデータベースの操作を行うための機能を追加するプラグインで、数あるEclipseベースのデータベースフロントエンドの中でも最も高機能なプラグインの1つだ。

SQLの実行はもちろんのこと、テーブルのデータを表形式で編集することができたり、入力補完機能を備えたSQLエディタなどを提供している。ふだん使い慣れたIDE上で利用できるのは大きなメリットだろう。

図3 DBViewer

DBViewer ならではの機能として、データベースのスキーマからO/Rマッピング用のJavaBeanのソースコードを生成する機能がある。拡張機能としてSeasar Projectで開発されているS2JDBCというO/Rマッパのエンティティクラスのソースコードを生成することもできる。

SQL Developer

SQL DeveloperはOracleが無償で提供するデータベース開発ツールだ。Oracle純正の開発ツールとして提供されており、商用製品レベルの機能と品質を備えている。Java/Swingベースのアプリケーションで、Oracleは当然ながらMySQL、Microsoft SQL Server、Microsoft Access、Sybaseをサポートしている。

図4 SQL Developer

データベースフロントエンドとしての基本的な機能はもちろんのこと、ビジュアルクエリビルダやSQLの検索結果をレポートやグラフとして表示する機能など、かなり高機能だ。

SQL Developerが真価を発揮するのはなんといってもデータベースにOracleを使用する場合だろう。SQLの入力補完などOracle以外のデータベースでは利用できない機能があるほか、PL/SQLの編集やデバッグなど、Oracleの開発環境として非常に強力な機能を提供している。

CSEやDBViewerはデータベースのフロントエンドの域を出ないが、SQL DeveloperはOracleに特化したデータベース開発ツールといえるだろう。データベースとしてOracleを使用する場合、SQL Devloperは有力な選択肢になるはずだ。

まとめ

今回紹介したもの以外にも、スタンドアロンアプリケーションや統合開発環境のプラグイン、さらにはWebアプリケーションとして利用できるものなど、データベースのフロントエンドとして利用できるツールにはさまざまなものがある。また、単純にSQLを実行できるだけのものから、特定のデータベースに特化した高機能なツールや、管理ツールに近いものもある。自分の好みや用途に適したツールを選択するといいだろう。