mysql workbench and erd
DESCRIPTION
In the event that MySQL Casual Talks in Fukuoka vol.4 of Fukuoka , it is the contents of when you talk about MySQL.TRANSCRIPT
![Page 1: MySQL Workbench and ERD](https://reader033.vdocuments.mx/reader033/viewer/2022051314/5591d5cf1a28abae2a8b45fc/html5/thumbnails/1.jpg)
MySQL Workbench and ERD.
MySQL Casual Talks in Fukuoka vol.4 / 2014-10-21 Kosuke Komiya
@komiyak
![Page 2: MySQL Workbench and ERD](https://reader033.vdocuments.mx/reader033/viewer/2022051314/5591d5cf1a28abae2a8b45fc/html5/thumbnails/2.jpg)
こんばんは!
![Page 3: MySQL Workbench and ERD](https://reader033.vdocuments.mx/reader033/viewer/2022051314/5591d5cf1a28abae2a8b45fc/html5/thumbnails/3.jpg)
自己紹介
@komiyak
お友達からお願い致します(╹◡╹)
![Page 4: MySQL Workbench and ERD](https://reader033.vdocuments.mx/reader033/viewer/2022051314/5591d5cf1a28abae2a8b45fc/html5/thumbnails/4.jpg)
今日は ERD(Entity Relationship Diagram)
と MySQL Workbench
![Page 5: MySQL Workbench and ERD](https://reader033.vdocuments.mx/reader033/viewer/2022051314/5591d5cf1a28abae2a8b45fc/html5/thumbnails/5.jpg)
突然ですが
![Page 6: MySQL Workbench and ERD](https://reader033.vdocuments.mx/reader033/viewer/2022051314/5591d5cf1a28abae2a8b45fc/html5/thumbnails/6.jpg)
–某V氏 Twitter より
“大規模(100万行以上)なソフトウェアを 破綻せずに開発するにはどうしたらいいか?”
![Page 7: MySQL Workbench and ERD](https://reader033.vdocuments.mx/reader033/viewer/2022051314/5591d5cf1a28abae2a8b45fc/html5/thumbnails/7.jpg)
ドキュメントを書くこと
個人的な見解ですが
![Page 8: MySQL Workbench and ERD](https://reader033.vdocuments.mx/reader033/viewer/2022051314/5591d5cf1a28abae2a8b45fc/html5/thumbnails/8.jpg)
理由
• 設計は、関連する情報を頭に入れた状態でパズルのピースがあう場所を探していくような作業
• できるだけ多くの情報を処理したいが、残念ながら人には無限の記憶力がない…
![Page 9: MySQL Workbench and ERD](https://reader033.vdocuments.mx/reader033/viewer/2022051314/5591d5cf1a28abae2a8b45fc/html5/thumbnails/9.jpg)
• 1000行のコードは覚えられるが
• 1,000,000行のコードを覚えておくことはできない
• 記憶力はスケールしない!
![Page 10: MySQL Workbench and ERD](https://reader033.vdocuments.mx/reader033/viewer/2022051314/5591d5cf1a28abae2a8b45fc/html5/thumbnails/10.jpg)
そのため、 問題を小さく保つ必要がある
(小さな機能、小さな要素の塊にする)
![Page 11: MySQL Workbench and ERD](https://reader033.vdocuments.mx/reader033/viewer/2022051314/5591d5cf1a28abae2a8b45fc/html5/thumbnails/11.jpg)
さらに突き詰めると..?
• 小さな機能といえども、それが増え続けると
• 膨大な量になり、やはり覚えておくことはできない
• 覚えていることに頼らない
![Page 12: MySQL Workbench and ERD](https://reader033.vdocuments.mx/reader033/viewer/2022051314/5591d5cf1a28abae2a8b45fc/html5/thumbnails/12.jpg)
常に、その問題について 知らない(忘れている)状態からスタートする前提
自分が作ったものであれ、他人が作ったものであれ
![Page 13: MySQL Workbench and ERD](https://reader033.vdocuments.mx/reader033/viewer/2022051314/5591d5cf1a28abae2a8b45fc/html5/thumbnails/13.jpg)
• 機能に取り組むたびに、周辺のコードを読む
• コードは正確だが、読むコストが高い
• 読むコスト(理解するコスト)を下げたい
![Page 14: MySQL Workbench and ERD](https://reader033.vdocuments.mx/reader033/viewer/2022051314/5591d5cf1a28abae2a8b45fc/html5/thumbnails/14.jpg)
理解を助けるもの → ドキュメント
![Page 15: MySQL Workbench and ERD](https://reader033.vdocuments.mx/reader033/viewer/2022051314/5591d5cf1a28abae2a8b45fc/html5/thumbnails/15.jpg)
ERD(Entity Relationship Diagram)
![Page 16: MySQL Workbench and ERD](https://reader033.vdocuments.mx/reader033/viewer/2022051314/5591d5cf1a28abae2a8b45fc/html5/thumbnails/16.jpg)
ERD• アプリケーションのスキーマを、できるだけ明確に説明するための役割がある。
• たくさんの関連テーブルがあるとき、その関連性を説明する資料になる。
• > desc users;
• そこには明確な関係性はなく、ただ想像するしかない。( ゚皿゚)キーッ!!
![Page 17: MySQL Workbench and ERD](https://reader033.vdocuments.mx/reader033/viewer/2022051314/5591d5cf1a28abae2a8b45fc/html5/thumbnails/17.jpg)
ERD 書くの大切 (※自戒を込めて)
![Page 18: MySQL Workbench and ERD](https://reader033.vdocuments.mx/reader033/viewer/2022051314/5591d5cf1a28abae2a8b45fc/html5/thumbnails/18.jpg)
長い前置きはここまで
![Page 19: MySQL Workbench and ERD](https://reader033.vdocuments.mx/reader033/viewer/2022051314/5591d5cf1a28abae2a8b45fc/html5/thumbnails/19.jpg)
ERD 書くとき何使うか
![Page 20: MySQL Workbench and ERD](https://reader033.vdocuments.mx/reader033/viewer/2022051314/5591d5cf1a28abae2a8b45fc/html5/thumbnails/20.jpg)
気になる所
• 各テーブルの情報がわかりやすけりゃいい
• 人と共有する(できれば編集も)
• 特定ベンダーのツールでもいいが、急に開発中止とかはイヤだなー
![Page 21: MySQL Workbench and ERD](https://reader033.vdocuments.mx/reader033/viewer/2022051314/5591d5cf1a28abae2a8b45fc/html5/thumbnails/21.jpg)
一時期、いろいろ試してみました
• Excel
• Google Spreadsheets
• Google Drawings (Cacoo みたいに使えるし、表も出せる)
• ERMaser(Eclipse ..(́Д`))
• MySQL Workbench
![Page 22: MySQL Workbench and ERD](https://reader033.vdocuments.mx/reader033/viewer/2022051314/5591d5cf1a28abae2a8b45fc/html5/thumbnails/22.jpg)
結局 MySQL Workbench に落ち着きました
![Page 23: MySQL Workbench and ERD](https://reader033.vdocuments.mx/reader033/viewer/2022051314/5591d5cf1a28abae2a8b45fc/html5/thumbnails/23.jpg)
![Page 24: MySQL Workbench and ERD](https://reader033.vdocuments.mx/reader033/viewer/2022051314/5591d5cf1a28abae2a8b45fc/html5/thumbnails/24.jpg)
いいよ!(╹◡╹)
![Page 25: MySQL Workbench and ERD](https://reader033.vdocuments.mx/reader033/viewer/2022051314/5591d5cf1a28abae2a8b45fc/html5/thumbnails/25.jpg)
ありがとうございました <(_ _)>