MySQL道普請便り

第11回 MySQL Workbenchを使って既存のデータベースからER図を作成する

この記事を読むのに必要な時間:およそ 3 分

ちょっと気が早い気がしますが,そろそろ年度末に向けてさまざまな準備を考えはじめる時期だと思います。異動や入退社に備えて,ちゃんとドキュメントを整えていますか。

特にデータベースを使用しているプログラムに関しては,データベース内の情報を正しく活用するためにはどのようなデータ構造があって,どのようなデータが入力されているのかを正しく理解する必要があります。正しく理解ができていないと新規にプログラムを適切に追加したり,今までのプログラムを適切に修正することが難しくなります。

また,CREATE TABLE文やCREATE INDEX文などといった,DDL(Data Definition Language)と呼ばれるデータ構造を定義するために使われるSQLが残っているから大丈夫,という方もいらっしゃると思いますが,普段触っている環境ではなく,別のデータベースをコードやDDLを眺めながら,関連を考えて読み解いていくのは非常に難しいです。

そこで今回はMySQL WorkbenchというMySQL公式のツールを使い,ER図と呼ばれるデータベースの構造と関連を表す図を,データベースにある情報から出力してみようと思います。

デモンストレーション環境について

今回は「第5回 Dockerで複数バージョンのMySQLを開発環境に用意する」で使用したMySQLのDockerイメージの最新版(2016/1/12現在5.7.10)を使い,新たにテーブルを作成していきます。

$ cat test.sql
CREATE DATABASE `blog`;

USE `blog`;

CREATE TABLE `users`(
        `user_id` int,
        `e_mail` text,
   `password` text,
   PRIMARY KEY(`user_id`)
)engine=InnoDB;

CREATE TABLE `blogs`(
        `user_id` int,
    `blog_id` int,
    `body` text,
    CONSTRAINT `fk_user_id`
    FOREIGN KEY (`user_id`)
    REFERENCES `users`(`user_id`)
)engine=InnoDB;

以上のようなSQLを用意しました。イメージ的には,ユーザが複数人いるblogアプリケーションのデータベースのテーブルのモックです。

Dockerのインスタンス上に建てたMySQLサーバに対して用意したSQLを実行します。実際に試す場合には,hostのIPアドレス(-hオプション)やポート番号(-Pオプション)の値を必要に応じて変更してから試してみてください。

$ mysql  -uroot -p -h 192.168.99.100 -P 32773 < test.sql
Enter password:

上記の結果を確認してみます。

次に,データベースへの登録が成功したかを確認します。

$ mysql -uroot -p -h 192.168.99.100 -P 32773
Enter password:
 ―中略―
mysql> SHOW databases;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| blog               | 
| mydb               |
| mysql              |
| performance_schema |
| sys                |    
+--------------------+
6 rows in set (0.00 sec)

mysql> use blog
mysql> SHOW tables;
+----------------+
| Tables_in_blog |
+----------------+
| blogs          |
| users          |
+----------------+
2 rows in set (0.01 sec)

以上のような結果が得られれば問題ありません。うまくいかなかった場合は,一度blogのdatabaseをdropしてから再度登録を行ってみてください。

MySQL Workbenchのインストール

ここではMySQL Workbenchのインストールを進めていきます。まず最初にMySQL Workbenchのダウンロードページから使用しているOSのバイナリをダウンロードします。

ここで選択するプラットフォームはMySQLの動いているサーバのプラットフォームではなく,MySQL Workbenchを動かす環境と同じものをダウンロードしてください。大抵の場合は自動で選択されていると思いますので,そのままダウンロードしてください。

Windowsの場合は,MySQL Installerを利用してインストールする方法とMySQL Workbenchを利用してインストールする方法の2種類の方法がありますが,どちらの場合でもインストールするにはVisual Studio 2013 の Visual C++ 再頒布可能パッケージが必要になるのでご注意ください。

Macの場合はダウンロードした.dmgファイルを展開して,表示されるMySQL Workbenchをアプリケーションディレクトリ配下に配置するだけでインストールが完了します。

著者プロフィール

木村浩一郎(きむらこういちろう)

GMOメディア株式会社 技術推進室所属のWebアプリケーションエンジニア。最近はミドルウェア・インフラ周りのことも少しずつ学習しています。趣味は将棋。好きな戦法は四間飛車。

Twitter:@kk2170

コメント

コメントの記入