25
MySQL Workbench and ERD. MySQL Casual Talks in Fukuoka vol.4 / 2014-10-21 Kosuke Komiya @komiyak

MySQL Workbench and ERD

Embed Size (px)

DESCRIPTION

In the event that MySQL Casual Talks in Fukuoka vol.4 of Fukuoka , it is the contents of when you talk about MySQL.

Citation preview

Page 1: MySQL Workbench and ERD

MySQL Workbench and ERD.

MySQL Casual Talks in Fukuoka vol.4 / 2014-10-21 Kosuke Komiya

@komiyak

Page 2: MySQL Workbench and ERD

こんばんは!

Page 3: MySQL Workbench and ERD

自己紹介

@komiyak

お友達からお願い致します(╹◡╹)

Page 4: MySQL Workbench and ERD

今日は ERD(Entity Relationship Diagram)

と MySQL Workbench

Page 5: MySQL Workbench and ERD

突然ですが

Page 6: MySQL Workbench and ERD

–某V氏 Twitter より

“大規模(100万行以上)なソフトウェアを 破綻せずに開発するにはどうしたらいいか?”

Page 7: MySQL Workbench and ERD

ドキュメントを書くこと

個人的な見解ですが

Page 8: MySQL Workbench and ERD

理由

• 設計は、関連する情報を頭に入れた状態でパズルのピースがあう場所を探していくような作業

• できるだけ多くの情報を処理したいが、残念ながら人には無限の記憶力がない…

Page 9: MySQL Workbench and ERD

• 1000行のコードは覚えられるが

• 1,000,000行のコードを覚えておくことはできない

• 記憶力はスケールしない!

Page 10: MySQL Workbench and ERD

そのため、 問題を小さく保つ必要がある

(小さな機能、小さな要素の塊にする)

Page 11: MySQL Workbench and ERD

さらに突き詰めると..?

• 小さな機能といえども、それが増え続けると

• 膨大な量になり、やはり覚えておくことはできない

• 覚えていることに頼らない

Page 12: MySQL Workbench and ERD

常に、その問題について 知らない(忘れている)状態からスタートする前提

自分が作ったものであれ、他人が作ったものであれ

Page 13: MySQL Workbench and ERD

• 機能に取り組むたびに、周辺のコードを読む

• コードは正確だが、読むコストが高い

• 読むコスト(理解するコスト)を下げたい

Page 14: MySQL Workbench and ERD

理解を助けるもの → ドキュメント

Page 15: MySQL Workbench and ERD

ERD(Entity Relationship Diagram)

Page 16: MySQL Workbench and ERD

ERD• アプリケーションのスキーマを、できるだけ明確に説明するための役割がある。

• たくさんの関連テーブルがあるとき、その関連性を説明する資料になる。

• > desc users;

• そこには明確な関係性はなく、ただ想像するしかない。( ゚皿゚)キーッ!!

Page 17: MySQL Workbench and ERD

ERD 書くの大切 (※自戒を込めて)

Page 18: MySQL Workbench and ERD

長い前置きはここまで

Page 19: MySQL Workbench and ERD

ERD 書くとき何使うか

Page 20: MySQL Workbench and ERD

気になる所

• 各テーブルの情報がわかりやすけりゃいい

• 人と共有する(できれば編集も)

• 特定ベンダーのツールでもいいが、急に開発中止とかはイヤだなー

Page 21: MySQL Workbench and ERD

一時期、いろいろ試してみました

• Excel

• Google Spreadsheets

• Google Drawings (Cacoo みたいに使えるし、表も出せる)

• ERMaser(Eclipse ..(́Д`))

• MySQL Workbench

Page 22: MySQL Workbench and ERD

結局 MySQL Workbench に落ち着きました

Page 23: MySQL Workbench and ERD
Page 24: MySQL Workbench and ERD

いいよ!(╹◡╹)

Page 25: MySQL Workbench and ERD

ありがとうございました <(_ _)>