データベースを解析してレポーティング「SchemaSpyGUI」
最初の開発ではデータベースの構造にも注意がされ、適切に正規化されているものだが、運用を続けていくうちに拡張、変更されて徐々にもとの形を失っていく。その中には非効率的なもの、不要になったものなどが溢れていることも多い。
接続情報などを設定する
そんな時は構造を見やすい形に出力し、検討し直すのが良いだろう。その際に役立ちそうなのがSchemaSpyGUIだ。GPLで公開されているオープンソース・ソフトウェアで、元々コマンドラインベースで動作するSchemaSpyにGUIをかぶせたものになる。
SchemaSpyGUIが対応しているデータベースは(というよりもSchemaSpyになるだろうが)、Oracle/MySQL/PostgreSQL/DB2/Firebird/HSQLDB/Sybase/MS SQL Serverなどになる。主要なデータベースであれば大抵対応している。
テーブル一覧
利用の際にはそれぞれのデータベースに対応したJDBCドライバが必要になる。後は接続先情報を指定し、解析結果の出力先を指定したらSchemaSpyを実行する。各パラメータはファイルとして保存しておくことができるので、同じ接続先や設定で解析したい時に簡単に指定できて便利だ。
結果はHTMLファイルで出力される。テーブルの一覧からリンクをたどってカラムの一覧を出すことや、リレーションをGraphvizを使って表現することも可能だ(別途Graphvizが必要)。
オプションとして出力するテーブル名を正規表現で指定したりすることもできるようだ。現状のデータベースを把握するのに便利なソフトウェアだ。
カラム一覧
SchemaSpyGUI at Joachim Uhls Blog