MySQL
mamp
Database
workbench

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

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

とりあえず、ここまで!