Edited at

MySql Workbenchを使ってモデルを自動作成する

More than 1 year has passed since last update.

MySqlのデータベースを扱いたい場合はWorkbenchを使うといいよ!

と言われたので試してみました。


MySqlってなに?

オープンソースなデータベース管理システムで、Webアプリを作る上では一番使われているデータベースです。


特徴 

こちらを参照

- 小さいアプリから大きいアプリまで拡張可

- Linux、Mac、Windowsなどを問わず動作する

- 「SSH」や「SSL」といったセキュリティ技術をサポートしている

 などなど

- バックアップ機能やリカバリー機能など、いざというために大事なデータを守ることができます。


MySql Workbench ってなに?

MySqlのデータベースを扱う上でのスーパーヘルパーです。

データベースのデザインをしたり、それを使って自動的にデータベースを作成したり、クエリできたり、パフォーマンスチェックできたりします。

Schema,Table,Dataを作成するには、A.MySQL Scriptをコードで書く(もしくは読みこむ)か, B.マニュアルにボタンをポチポチ押して作成する,のどちらか選べます。

Screen Shot 2017-09-01 at 11.50.30 AM.png


MySql Workbenchのセットアップ


  1. MySql Workbenchをダウンロードしてください。

  2. MySql Serverを立ち上げる。

    自分はMampを使いました。(Start Serverボタンを押せばOK)

    Screen Shot 2017-09-01 at 11.54.58 AM.png


  3. MySql Workbenchを開いて初期画面に行く

    MySql ConnectionにLocal instanceを一つクリックして、ポップアップでパスワードを催促されたら、MAMPが立ち上がっている証拠です。パスワードはMAMPのデフォルトでrootなので、入力してOK

    Screen Shot 2017-09-01 at 3.54.13 PM.png


Query入力タブがデフォルトで開いているはずです。それぞれのボタンをさらっと説明↓

現在は何のデータベースも読み込んでも作成してないので、クエリにコードを書いても何も出てきません。

Screen Shot 2017-09-01 at 5.28.30 PM.png


A. MySQL Script(コード)からSchemaとテーブル作成してみる

サンプルコードをアップしたので、ダウンロードしてご自由にお使いください。


  • [ 1 ] まずはSQLファイルを開いて、サンプルコードの1-employees.sqlを開いてください。

    (もしくは新規作成してコードを貼り付けてもよいです)


  • [ 2 ] あとは⚡️ボタン(雷)を押して実行する。結果が全て緑だったらSchemaと空テーブルが成功です


Screen Shot 2017-09-01 at 5.37.02 PM.png


  • [ 3 ] 空テーブルの中にデータを流し込む

    あとのコードを全部同じように開いて、実行(⚡️)してください。かなり重いです、読み込みに時間かかります。


  • [ 4 ]データが入っているか確認

    とりあえずデータが入ってるか確認するには、最初に現れたQuery1 タブに適当にコードを書けばよいです。

    Screen Shot 2017-09-01 at 5.42.28 PM.png


  • [ 5 ] MySQLモデルを作成する

    MySQLでいうモデルとは、EER Diagramのことを指しているようです。

    上記のように、コードでデータベースを作ると、自動的にEER Diagramを作成してくれます。

    Databases > Reverse Engineer を選択して、

    あとは作成してくれるまで Continue をポチポチ押していきます。

    LocalHostのパスワードを聞かれたら、最初と同じようにMAMPのデフォルトはrootです。


Screen Shot 2017-09-01 at 12.13.32 PM.png


  • [ 6 ] モデル作成できたらこんな感じ
    Screen Shot 2017-09-01 at 6.00.34 PM.png

EER Diagramを見ると、テーブルの関係性が一目瞭然なので便利です。

(One-to-one, one-to-many, many-to-manyの関係性)


B. EER DiagramからSchemaとTableを作成する

コードからEER Diagramが作成できるように、EER DiagramからSchema, Table等も作成できます

EER Diagramでモデルを作成したら、

Database > Synchronize Model を選択してください。

Screen Shot 2017-09-01 at 12.12.57 PM.png


とりあえず、ここまで!