1. Saayaman

    No comment

    Saayaman
Changes in body
Source | HTML | Preview
@@ -1,92 +1,92 @@
MySqlのデータベースを扱いたい場合はWorkbenchを使うといいよ!
と言われたので試してみました。
## [MySql](https://www.mysql.com/)ってなに?
オープンソースなデータベース管理システムで、Webアプリを作る上では一番使われているデータベースです。
### 特徴 
[こちらを参照](http://www.sejuku.net/blog/9021)
- 小さいアプリから大きいアプリまで拡張可
- Linux、Mac、Windowsなどを問わず動作する
- 「SSH」や「SSL」といったセキュリティ技術をサポートしている
 などなど
- バックアップ機能やリカバリー機能など、いざというために大事なデータを守ることができます。
## MySql Workbench ってなに?
MySqlのデータベースを扱う上でのスーパーヘルパーです。
**データベースのデザイン**をしたり、それを使って**自動的にデータベースを作成**したり、クエリできたり、**パフォーマンスチェック**できたりします。
Schema,Table,Dataを作成するには、**A.MySQL Scriptをコードで書く(もしくは読みこむ)**か, **B.マニュアルにボタンをポチポチ押して作成する**,のどちらか選べます。
<img width="527" alt="Screen Shot 2017-09-01 at 11.50.30 AM.png" src="https://qiita-image-store.s3.amazonaws.com/0/158705/824a53c2-913e-0dc3-2f61-dfc5bca9f245.png">
## MySql Workbenchのセットアップ
1. MySql Workbenchを[ダウンロード](https://www.mysql.com/products/workbench/)してください。
2. MySql Serverを立ち上げる。
自分はMampを使いました。(Start Serverボタンを押せばOK)
<img width="541" alt="Screen Shot 2017-09-01 at 11.54.58 AM.png" src="https://qiita-image-store.s3.amazonaws.com/0/158705/892e047b-77a3-02da-f3ea-bc7b89265310.png">
3. MySql Workbenchを開いて初期画面に行く
MySql ConnectionにLocal instanceを一つクリックして、ポップアップでパスワードを催促されたら、MAMPが立ち上がっている証拠です。パスワードはMAMPのデフォルトでrootなので、入力してOK
<img width="731" alt="Screen Shot 2017-09-01 at 3.54.13 PM.png" src="https://qiita-image-store.s3.amazonaws.com/0/158705/55d8c168-87c6-45d8-93ef-d5f20d6d9309.png">
Query入力タブがデフォルトで開いているはずです。それぞれのボタンをさらっと説明↓
現在は何のデータベースも読み込んでも作成してないので、クエリにコードを書いても何も出てきません。
<img width="758" alt="Screen Shot 2017-09-01 at 5.28.30 PM.png" src="https://qiita-image-store.s3.amazonaws.com/0/158705/ffec200d-1f0b-c19f-b93a-398c61781690.png">
## A. MySQL Script(コード)からSchemaとテーブル作成してみる
[サンプルコード](https://github.com/Saayaman/JAVA/tree/master/Qiita_codes/database)をアップしたので、ダウンロードしてご自由にお使いください。
- [ 1 ] まずはSQLファイルを開いて、サンプルコードの1-employees.sqlを開いてください。
(もしくは新規作成してコードを貼り付けてもよいです)
- [ 2 ] あとは⚡️ボタン(雷)を押して実行する。結果が全て緑だったらSchemaと空テーブルが成功です
<img width="905" alt="Screen Shot 2017-09-01 at 5.37.02 PM.png" src="https://qiita-image-store.s3.amazonaws.com/0/158705/e6952c73-48d2-c944-9098-833710b9ac7f.png">
- [ 3 ] 空テーブルの中にデータを流し込む
あとのコードを全部同じように開いて、実行(⚡️)してください。かなり重いです、読み込みに時間かかります。
- [ 4 ]データが入っているか確認
とりあえずデータが入ってるか確認するには、最初に現れたQuery1 タブに適当にコードを書けばよいです。
<img width="419" alt="Screen Shot 2017-09-01 at 5.42.28 PM.png" src="https://qiita-image-store.s3.amazonaws.com/0/158705/8aa1efdc-b072-f17d-13f6-6a3b714bc24e.png">
- [ 5 ] MySQLモデルを作成する
MySQLでいうモデルとは、EER Diagramのことを指しているようです。
上記のように、コードでデータベースを作ると、自動的にEER Diagramを作成してくれます。
Databases > Reverse Engineer を選択して、
あとは作成してくれるまで Continue をポチポチ押していきます。
LocalHostのパスワードを聞かれたら、最初と同じようにMAMPのデフォルトは**root**です。
<img width="455" alt="Screen Shot 2017-09-01 at 12.13.32 PM.png" src="https://qiita-image-store.s3.amazonaws.com/0/158705/8ec71346-e501-c96f-d702-b42fda381f45.png">
- [ 6 ] モデル作成できたらこんな感じ
<img width="907" alt="Screen Shot 2017-09-01 at 6.00.34 PM.png" src="https://qiita-image-store.s3.amazonaws.com/0/158705/e9a3630a-4c21-51d7-5ef2-dd1fc7ce6430.png">
**EER Diagram**を見ると、テーブルの関係性が一目瞭然なので便利です。
(One-to-one, one-to-many, many-to-manyの関係性)
-B. EER DiagramからSchemaとTableを作成する
+## B. EER DiagramからSchemaとTableを作成する
コードからEER Diagramが作成できるように、EER DiagramからSchema, Table等も作成できます
EER Diagramでモデルを作成したら、
Database > Synchronize Model を選択してください。
<img width="404" alt="Screen Shot 2017-09-01 at 12.12.57 PM.png" src="https://qiita-image-store.s3.amazonaws.com/0/158705/d8d7eb2e-d2a6-293c-4bbe-bb47b3171d67.png">
### とりあえず、ここまで!