Help us understand the problem. What is going on with this article?

ER図ツールwwwsqldesignerを試してみる

はじめに

プロジェクトの標準化、資料化について調査しており、作図ツールに関しても日々調査しています。
前回、ERDPlusが無料かつインストール不要ということなので試してみましたが、
10年以上昔からあるらしいwwwsqldesignerもインストール不要で使えて便利!ということなので
試していきます。

本家サイト:http://code.google.com/p/wwwsqldesigner/

本家サイトが英語で、かつ、かなりあっさりした説明しかないようですが、直観的に操作できるのと
方眼紙になっているので個人的にテンション上がります。

旧バージョンの情報はwebサーバにインストールして利用するという記述がありますが、現行のバージョンではwebサーバがなくてもブラウザだけで利用できます。
この場合、保存と読込にはxmlを使用するようです。

xml.png

機能まとめ(公式より)

言語選択
対象DBの選択(mysql, sqlite, web2py, mssql, postgresql)
CREATE文の作成(選択した対象DBの形式で出力)
ER図の作成
既存DBからER図を作成(mysqlのみ)
ER図の保存、読込
クライアント側
XMLでの入出力(コピペで保存、再開)
サーバ側(phpまたはperlの動作環境が必要)
ファイルに保存(phpまたはperl)
DBに保存(phpのみ、mysqlまたはsqlite)

基本操作など

ここにアクセスすることでとりあえず即利用できます。
https://ondras.zarovi.cz/sql/demo/?keyword=default

右側に操作ツールがまとまっており、クリックすることで操作できる。
addTable.png

ダブルクリックすると作成済みのアイテムを編集できるのも直観的でよい感じ。
doubleCL.png

直感的でない操作について

wwwsqldesignerはそのシンプルさでほとんどの操作を直感的に行なえますが、いくつかの操作でやや分かりにくい部分があるので、それについて補足memoを残してていきます。
(他はほとんど迷いようがないと思われる。素晴らしい!)

外部キーの設定、追加、削除
あるテーブルの主キーを別のテーブルの外部キーにする操作は、既存のフィールドに対する操作と、外部キーとしてフィールドを追加する操作の2種類があり、それぞれ手順が異なります。

1.親テーブルに子テーブルのキーを追加する
1.png

まず、「子テーブルの主キー」を選択します。
「Create foreign key」、「Connect foreign key」のボタンがアクティブになるので、「Create foreign key」をクリックします。

2.png

ボタンのラベルが「[click target table]」に変化するので、親テーブル(テーブル名部分)をクリックします。
これで親テーブルに子テーブルへの外部キーが作成完了。
なお、「[click target table]」ボタンを押したり、テーブル以外のエリアをクリックするとキャンセルできます。
また、作成されるフィールド名の初期値はオプション画面で設定できます。

2.親テーブルのフィールドを子テーブルの外部キーにする
3.png

まず、「子テーブルの主キー」を選択します。
「Create foreign key」、「Connect foreign key」のボタンがアクティブになるので、「Connect foreign key」をクリックします。

4.png

ボタンのラベルが「[click target row]」に変化するので、親テーブルの対象フィールドをクリックします。
これで対象フィールドが子テーブルの外部キーになりました。
なお、「[click target row]」ボタンを押したり、フィールド以外のエリアをクリックするとキャンセルできます。

リレーションのみを削除する機能がないため、一旦フィールドごと削除しなければいけないので注意が必要です。

再読み込みの必要な設定
オプション機能として、ER図をデザイン/CREATE文を出力するターゲットDBを変更できるのですが、変更後にリロードしないと有効になりません。
これは設定項目がクッキーに保存され、初期化時にのみ評価されているからのようです。
それゆえ当然、クッキーが有効でないと利用できませんので注意。

5.png

オプション項目名に「*」がついている項目(言語、ターゲットDB、リレーションの線)はリロードが必要です。

おわりに

見た目の色合いや操作感は個人的にかなり好きです。
サーバにインストールして使う場合にはセキュリティ対策が必要かと思うので、そこは考慮して運用するべきかと。

参考:
wwwsqldesigner本家サイト

Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Comments
No comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
ユーザーは見つかりませんでした