アシアルの中の人が技術と思いのたけをつづるブログ

フリーで使えるDBのモデリングツールまとめ

タグ [  Tech  DB  モデリングツール  ]
森川です。

巷ではエイプリルフールネタがおさかんですが、普通にデータベースのモデリングツールの紹介です(エイプリルフールネタが思いつかない…)。

普段MySQLならDBDesigner4、PostgreSQLならClayを使用しているのですが、他に何かよいツールはないものかと調べてみました。


Clay

言わずと知れた?モデリングツールです。Eclipseのプラグインで、無償でも使用可能です。MySQL、PostgreSQLで使用可能です。


無償版ではER-図や、DB定義書を出力できません。対応するDBが少なかったりもします。

個人的には、PostgreSQLを使用する場合によく使います。外部キー制約などにも対応しているのでそれほど困りません。

リバースエンジニアリングに対応しているのも気に入っている理由の一つです。

ちなみに、リバースエンジニアリングをするにあたってPostgreSQLのJDBCドライバが必要ですが、ここからダウンロードできます。


DBDesigner4

こちらも有名なモデリングツールです(スクリーンショット)。わりと古くから使用されているので、情報もたくさんあるし、機能も豊富です。

Propelで利用できる形式のXMLに変換するツールなどもあるので、重宝します。

ただ、すでに開発が止まっているので、新しいバージョンは出てこないようです(オープンソースなのでフォークして新しいプロジェクトも立ち上がっているようです)。


MySQL Workbench

こちらはMySQL本家から出されているモデリングツールです。

リバースエンジニアリングも可能であったり、軽くさわっただけですができはそれなりによいと思います。何よりMySQL本家から出されているというのが安心です。

現在バージョンはRC2なので、あと少しで正式版としてリリースされるでしょう。DBDesigner4からファイルをインポートできるようなので、ぜひ使ってみたいところです。


WWW SQL Designer

こちらは完全にWebベースのモデリングツールです。ZIPファイルをダウンロードして解凍したら、そのファイルをPHPサーバ上に配置、それだけで一応動きます。

つい最近バージョンアップしたらしく、以前とはずいぶんインターフェースが変わっています。

MySQLにしかSQLとしてエクスポートできないようなのですが、以前はできていたPostgreSQLやPropelでのエクスポートには対応して欲しいところです。

さくっと手軽にという意味では確かに便利なのですが、ブラウザの再読込を誤ってやってしまうとすべてのデータが失われるので、あまり使いたくないというのが正直なところです。


A5:SQL Mk-2

こちらは日本人の方が開発しているモデリングツールです。もちろんインターフェースは日本語なので使いやすいです。

ただ、PostgreSQLで使用してみたところ、serial型が使えなかったりで少し面倒なことも多いです。また、インポート時にリレーションの情報が失われてしまいました。ER図のツールとしては少々役不足な感が否めません。

個人的にはモデリングツールというよりもテーブル定義書の雛形を作成させるために使用しています。手順としては、ODBC経由でデータベースに接続して、データベースをインポート、テーブル定義書の作成、といった感じです。

PostgreSQLでODBC接続をするには、ここからダウンロードできます。


Execute Query

これはモデリングツールというよりもRDBMS操作ツールと紹介されることが多いですが、ER図を作成することもできます。

機能も豊富でスクリーンショットから確認することができます。

こちらはリレーションもきっちりとインポート・エクスポートできるので、かなり使えそうです。


まとめ

いろいろと調べてみましたが、PostgreSQLを使用するときはClayが一番こなれていると感じました。PostgreSQLに関してはDB定義からモデル定義まで一括して管理できるソフトがないのが困りものです。結局モデリングツールでER図を更新して、ALTER用のSQLも作って、さらにモデルの定義まで修正するとなるとどこかでずれが起きそうで避けたいところです。

MySQLに関しては今後はMySQL Workbenchの方がよいのではないかと思います。MySQL WorkbenchからもPropelの形式でエクスポートできるようになれば、完全に移行できそうです。

コメント

    • >>少々役不足な感
      「役不足」って、役者がすばらしすぎて「こんな役にしておくなんてもったいない」っていう状況じゃなかったでしたっけ?
      たぶん「力不足」ということを言いたかったのだろうけど。
      気になってしまったので重箱の隅的ツッコミ。
    • はてなより引用すると

      >>>
      正しい意味は、「素晴らしい役者に対して、役柄が不足している」という意味、つまり能力のある人につまらない仕事・簡単な仕事をさせるという意味なのですが、最近は逆の意味で使われることが多く、アンケート調査などでも日本人の半分が逆の使い方で覚えているようです。

      (ただ最近は、逆の意味で使われていること自体はよく知れ渡っており、逆なのを承知の上で使っている人が多いと思われます。)

      「この人には荷が重い」というような使い方をする際は、「力不足」「役者不足」が正しい。
      <<<

      思いっきり逆の意味で覚えてますねw

      ツッコミありがとうございます!
    • MySQL用のモデリングにClayとMySQL Workbenchを使っていましたが、印刷できなかったり、思うように動かなかったりでストレスを感じてました。

      という訳で自分でMySQLのモデリングツールを作ってみました。Eclipseのプラグインです。良かったら使ってみてください。

      Propelの形式でエクスポートは今対応中です。
    • > 川島さん

      ERZ for MySQL 簡単にですがさわってみました。

      きちんと動くのですが、Vistaだとポップアップウィンドウがリサイズできないので、表示領域が足りないです。

      それ以外の使い勝手的には個人的な感想ですが、テーブルビューはやっぱりポップアップで出てくるのに慣れてしまっているので、若干使いにくいです。

      色々と機能が追加されていったら、また試してみたいですね。

      がんばってください!
    • >森川さん

      さっそくのご感想、有難うございます。

      >きちんと動くのですが、Vistaだとポップアップウィンドウがリサイズできないので、表示領域が足りないです。


      VistaはとXPではかなり表示が違うみたいですね。リサイズは時間があるときに調べてみますね。


      >それ以外の使い勝手的には個人的な感想ですが、テーブルビューはやっぱりポップアップで出てくるのに慣れてしまっているので、若干使いにくいです。


      以前のバーションはポップアップだったんですが、Navicatに慣れてしまったので、今のような形になりました。
      個人的にはカラムの編集をタブで横に移動しながらできることがウリです。

      それと本日のバーションでPropelエクスポートに対応しました。propel-generatorの1.2と1.3に対応しています。


      これでSymfonyの勉強を再開できます。
      Symfony勉強会に参加したかったんですが、定時が19なのでずっと無理なんですよねー。
    • EREndiaは新しいER図作成ツールとなります。

      http://www.sqlendia.com

コメントフォーム

認証
captcha_key
 

トラックバック