最初の開発ではデータベースの構造にも注意がされ、適切に正規化されているものだが、運用を続けていくうちに拡張、変更されて徐々にもとの形を失っていく。その中には非効率的なもの、不要になったものなどが溢れていることも多い。

3dsearch7.png

接続情報などを設定する

 

そんな時は構造を見やすい形に出力し、検討し直すのが良いだろう。その際に役立ちそうなのがSchemaSpyGUIだ。GPLで公開されているオープンソース・ソフトウェアで、元々コマンドラインベースで動作するSchemaSpyにGUIをかぶせたものになる。

SchemaSpyGUIが対応しているデータベースは(というよりもSchemaSpyになるだろうが)、Oracle/MySQL/PostgreSQL/DB2/Firebird/HSQLDB/Sybase/MS SQL Serverなどになる。主要なデータベースであれば大抵対応している。

3dsearch8.png

テーブル一覧

 

利用の際にはそれぞれのデータベースに対応したJDBCドライバが必要になる。後は接続先情報を指定し、解析結果の出力先を指定したらSchemaSpyを実行する。各パラメータはファイルとして保存しておくことができるので、同じ接続先や設定で解析したい時に簡単に指定できて便利だ。

結果はHTMLファイルで出力される。テーブルの一覧からリンクをたどってカラムの一覧を出すことや、リレーションをGraphvizを使って表現することも可能だ(別途Graphvizが必要)。

オプションとして出力するテーブル名を正規表現で指定したりすることもできるようだ。現状のデータベースを把握するのに便利なソフトウェアだ。

3dsearch9.png

カラム一覧

 

SchemaSpyGUI at Joachim Uhls Blog

 http://www.joachim-uhl.de/projekte/schemaspygui/