フリーで使える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の形式でエクスポートできるようになれば、完全に移行できそうです。
巷ではエイプリルフールネタがおさかんですが、普通にデータベースのモデリングツールの紹介です(エイプリルフールネタが思いつかない…)。
普段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の形式でエクスポートできるようになれば、完全に移行できそうです。
コメント
コメントフォーム
トラックバック
-
- 便利!!使える!!無料!!ツール大特集!! from K-box blog
- http://kbox.mvix.net/file.htmlオンラインストレージを運営し...
2009年05月20日 01:38
最近の記事
- 「Felica交換日記」 最優秀賞受賞!@Felica&AIR/Flashアプリケーションコンテスト [2010年03月18日 : 小林有佳]
- 【Flex3】「Flex3の、こんなときどうするの??」 [2010年03月18日 : 橋本章史]
- DoctrineのMaster&Slaveのコネクションを操作するクラスを作成する方法 [2010年03月15日 : 笹亀弘]
- <Symfony Componentsシリーズ(2)> Symfony 2の秘密兵器: Request Handler [2010年03月11日 : 小川雄大]
- <Symfony Componentsシリーズ(1)> オブジェクトをつなぐEvent Dispatcher [2010年03月11日 : 小川雄大]
- Symfony 2のアプリケーション構成を読む [2010年03月04日 : 小川雄大]
- サーバサイドJavaScriptの「node.js」を試してみました [2010年03月03日 : 中川善樹]
- お初の山梨旅行 [2010年02月26日 : 阿部恵]
- OpenVPNで拠点間VPN [2010年02月25日 : 門脇優児]
- OracleでのLIMITの記述あれこれ [2010年02月24日 : 松田惇]



「役不足」って、役者がすばらしすぎて「こんな役にしておくなんてもったいない」っていう状況じゃなかったでしたっけ?
たぶん「力不足」ということを言いたかったのだろうけど。
気になってしまったので重箱の隅的ツッコミ。
>>>
正しい意味は、「素晴らしい役者に対して、役柄が不足している」という意味、つまり能力のある人につまらない仕事・簡単な仕事をさせるという意味なのですが、最近は逆の意味で使われることが多く、アンケート調査などでも日本人の半分が逆の使い方で覚えているようです。
(ただ最近は、逆の意味で使われていること自体はよく知れ渡っており、逆なのを承知の上で使っている人が多いと思われます。)
「この人には荷が重い」というような使い方をする際は、「力不足」「役者不足」が正しい。
<<<
思いっきり逆の意味で覚えてますねw
ツッコミありがとうございます!
という訳で自分でMySQLのモデリングツールを作ってみました。Eclipseのプラグインです。良かったら使ってみてください。
Propelの形式でエクスポートは今対応中です。
ERZ for MySQL 簡単にですがさわってみました。
きちんと動くのですが、Vistaだとポップアップウィンドウがリサイズできないので、表示領域が足りないです。
それ以外の使い勝手的には個人的な感想ですが、テーブルビューはやっぱりポップアップで出てくるのに慣れてしまっているので、若干使いにくいです。
色々と機能が追加されていったら、また試してみたいですね。
がんばってください!
さっそくのご感想、有難うございます。
>きちんと動くのですが、Vistaだとポップアップウィンドウがリサイズできないので、表示領域が足りないです。
VistaはとXPではかなり表示が違うみたいですね。リサイズは時間があるときに調べてみますね。
>それ以外の使い勝手的には個人的な感想ですが、テーブルビューはやっぱりポップアップで出てくるのに慣れてしまっているので、若干使いにくいです。
以前のバーションはポップアップだったんですが、Navicatに慣れてしまったので、今のような形になりました。
個人的にはカラムの編集をタブで横に移動しながらできることがウリです。
それと本日のバーションでPropelエクスポートに対応しました。propel-generatorの1.2と1.3に対応しています。
これでSymfonyの勉強を再開できます。
Symfony勉強会に参加したかったんですが、定時が19なのでずっと無理なんですよねー。
http://www.sqlendia.com