Top Banner
MySQL Workbench モデリングツールとして使ってみた MySQL勉強会 in 大阪(第9回) なかむら
18

MySQL Workbench をモデリングツールとして使ってみた

Feb 09, 2017

Download

Software

Norio Nakamura
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: MySQL Workbench をモデリングツールとして使ってみた

MySQL Workbench を

モデリングツールとして使ってみた

MySQL勉強会 in 大阪(第9回)

なかむら

Page 2: MySQL Workbench をモデリングツールとして使ってみた

自己紹介

2

• 中村範夫(なかむらのりお)

• 15年以上システム開発に従事

• 共通チームで方式設計や開発DBAの経験が長い

• 現職:データベースコンサルタント

• 現在、M/FからオープンソースDBへの移行案件

Page 3: MySQL Workbench をモデリングツールとして使ってみた

アジェンダ

3

• モデリングツール使ってますか?

• 開発プロジェクトでモデリングツールに求められる機能

• MySQL Workbench はどこまで対応できるか

• まとめ

Page 4: MySQL Workbench をモデリングツールとして使ってみた

4

みなさんモデリングツール使ってますか?

Page 5: MySQL Workbench をモデリングツールとして使ってみた

5

• ERWin

• ER/Studio

• Object Browser ER

• astah (JUDE)

• A5:SQL Mk-2

• Microsoft Visio

主なモデリングツール

Page 6: MySQL Workbench をモデリングツールとして使ってみた

6

• モデル描画(論理モデリング)

• ボトムアップ取り込み

• データ項目定義管理

• モデル管理(論理/物理)

• ドキュメント出力

• 物理DBのフォワード/リバースエンジニアリング

• (テストデータの生成)

モデリングツールに求められる主な機能

参考:「独習 データベース設計」 真野 正 著

Page 7: MySQL Workbench をモデリングツールとして使ってみた

7

モデル描画(論理モデリング)

通常の論理モデリングは可能

日本語も扱えて、リレーションの依存・非依存も自動で判断!

Page 8: MySQL Workbench をモデリングツールとして使ってみた

8

モデル描画(論理モデリング)

注意点:フォントの設定を日本語に

日本語が文字化け

Page 9: MySQL Workbench をモデリングツールとして使ってみた

9

ボトムアップ取り込み

MySQL Workbenchに該当機能はなし

<参考> ER/Studio ER/Worksheet

• 規模の大きいシステムでは扱うエンティティは数百以上、データ項目は数千以上

• 論理データモデルをゼロから作成することは、とても非効率

• 既存の資産(Excel/CSVその他)からモデリングのメタデータとして取り込む機能を有している商用モデリングツールは多い

Page 10: MySQL Workbench をモデリングツールとして使ってみた

10

データ項目定義管理

<参考> Object Browser ER ドメイン管理、オブジェクト名一括置換

• モデリングの基本はネーミング

• プロジェクトで統一されたエンティティ名、項目名は品質、生産性に大きく影響する

• ドメイン管理、項目名をエンティティ横断で一括置換、型変換、桁数変換等

MySQL Workbenchに該当機能はなし

Page 11: MySQL Workbench をモデリングツールとして使ってみた

11

• モデル管理(論理/物理)

• 論理モデル/物理モデル 二面管理機能はなし

• プロジェクトフェーズ毎に、論理モデル・物理モデルを管理していく(?)

• 論理モデルから物理モデルへの変換が困難で、現状二重管理するしかない。

<論理モデル> <物理モデル>

Page 12: MySQL Workbench をモデリングツールとして使ってみた

12

• モデル管理(論理/物理)

<参考>A5:SQL Mk-2 MySQL Workbench の現状:おしい…

コメントとして論理名を

保持することは可能

コメントをダイアグラム上

に表示することさえできれば..

Page 13: MySQL Workbench をモデリングツールとして使ってみた

13

ドキュメント出力

PDF出力した例

• PDF出力は秀逸 フォンの埋め込みで検索可能(File – Export – Export single page PDF)

• SVG・PNG形式にも出力可能

• よくあるテーブル定義書的なExcel形式の出力はない

Page 14: MySQL Workbench をモデリングツールとして使ってみた

14

ちなみにサンプルの sakilaモデルをPDF出力するとこんな綺麗なPDFができます

ドキュメント出力

Page 15: MySQL Workbench をモデリングツールとして使ってみた

15

物理DBのフォワード/リバースエンジニアリング

• 必要な基本機能は備えている

• フォワードは、外部キーの作成/非作成、インデックスを別DDLにする等、きめ細かな設定が可能

• リバースも外部キーを元にリレーションまで完璧にモデルに再現することが可能

<フォワードエンジニアリング> <リバースエンジニアリング>

外部キー、インデックスのDDLに関する細かい設定が可能 日本語のコメントも問題なし

リレーション、日本語コメントまで含めて完璧にリバース

Page 16: MySQL Workbench をモデリングツールとして使ってみた

16

テストデータの生成

<参考>

• あると、プロトタイプ作成時や、テストフェーズで重宝する

MySQL Workbenchに該当機能はなし

Page 17: MySQL Workbench をモデリングツールとして使ってみた

17

機 能 評 価 コメント

モデル描画(論理モデリング) ○操作性は軽くストレスを感じない。リレーションの自動判断(依存・非依存)やレイアウトの自由度も高い。レイヤーを駆使すれば、サブモデルの表現も容易にできる。

ボトムアップ取り込み ×既存の物理DBが存在する環境ではテーブル情報をMySQLに移行しリバースで対応できるが、論理モデルを一から作るとなると規模にもよるが、相当厳しい。

データ項目定義管理 ×代替手段としては、MySQL上でのメタデータをリスト化することで一覧の確認はできるかも。ただし、規模が大きくなれば厳しい。

モデル管理(論理/物理) △論理・物理の二面管理は不可。二重管理を許容するしか現状手がない。コメント情報をダイアグラム上に表現できる機能さえ追加しれもらえれば、非常にうれしい。

ドキュメント出力 ○PDF出力は、モデルをそのままPDFにすることができ秀逸。Excel

ベースにできればなお良くなると思う。

物理DBのフォワード/リバースエンジニアリング ◎

MySQL専用というだけあって、フォワード/リバース共に完璧な再現性を見せる。すばらしい。

(テストデータの生成) ×現状は他のツールで代替か、SQLでがんばる。

まとめ(機能評価)

Page 18: MySQL Workbench をモデリングツールとして使ってみた

18

• 規模の小さいシステムなら使える局面はある

• MySQL上に既にテーブルが存在し、ER図欲しいな的な場面では非常に重宝(Railsとか)

• 規模の大きいシステムで一からモデリングしていく場面ではまだまだしんどい

• 日本語論理名の扱いと項目管理機能を強化してくれればすごく使えそうな予感

まとめ(所感)