2020年1月1日ER図作成ツールについてMacで色々と調べましたので、メモを。ちなみにwindowsを使っていればA5:SQLが一番使えるかと思います。以前も下記リンクで説明させていただきました。自動作成MacでもEasyWineというツールを使っていれば使える様ですが、いれたところうまく動かずフリーズしてしまいました・・・ということでMacでのER図生成ツールを調査してみます。今回の用途ですが、下記の様な要件です。あるシステムで稼働している業務システムで、外部キーなどが全くないテーブル同士(テーブル数70〜80)主にリレーションに関わるカラムに関して、業務で使用されるテーブルのリレーションがざっくりわかる様にしてほしい。(全カラムの詳細な情報とかはいらない)なるべく短時間でサクッと作りたい。wwwsqldesignergraphvizMacではSQLエディタとしてSequelProを使っています。ER図で検索したところ、この方法が出てきました。いうライブラリの様です。拡張子は.dotになります。使って簡単に画像ファイル化できます。欠点としては外部キーなどがもともと設定されていないとダメです。パーフェクトなDB設計がされていて、それをそのまま読み込めば全て意図通りの設計図が出てくるというなんてケースはあまりありません。いじるためにはdot言語に多少習熟している必要があるでしょう。MySQLWorkBenchOracleの有名なツールです。有償のツールですが、無償でもそこそこは使えます。DBに関する機能はほとんど備わっているかと思いますが、大量にメモリーを消費することと、機能が多すぎて使いこなすのがやや大変かもしれません。ある程度時間がある場合にはこれが良いでしょう。wwwsqldesigner普通にGitなどに上がっているPHP&JavaScriptのソースです。https://github.com/ondras/wwwsqldesignerpullしてきて、DB情報などを書き込んであげれば画面上にER図が作成されます。カラムの編集や追加なども比較的簡単で画面からでも編集できますし、吐き出されるxmlなどをいじっても大丈夫ですし、ブラウザに保存などもできますし、SQLの作成などもできます。下記部分を修正していただければOKです。define("DB","db_name");←空白でも「DBからインポート」時に聞かれます。{define("SERVER","localhost");define("USER","db_user");define("PASSWORD","db_pass");define("DB","db_name");←空白でも「DBからインポート」時に聞かれます。}画面からラベルやテキストなどを自由に追加できない不便さはありましたが、簡単に使えることもあり、今回はこれを採用しました。コメントをキャンセルメールアドレスが公開されることはありません。*サイト次回のコメントで使用するためブラウザーに自分の名前、メールアドレス、サイトを保存する。関連記事JPAでの多対多のリレーション以前、このエントリーでJPAのリレーションについて説明しました。今回は多対多について説明します。SQLにおいては全く同じ結果を返すのであってもその検索結果が異なるということはよくあります。その2本日も前回に引き続き集合としてのSQLに入っていきます。データ分身の術+DBの不要な連携+バージョンアップ未テスト今回のアンチパターンは主にデータ設計に関する部分。サブクエリに関して今回はサブクエリに関してです。SQL実践入門を読み進めています。SQL上ではテーブル、ビュー、サブクエリというのは機能的にはそれほど変わらず主にパフォーマンスの点で違いがでてきます。