MySQL Workbenchでテーブルを作成する2つの方法:Forward Engineerとモデルのシンクロナイズ

こんにちは。ゆうせいです。

今回は、MySQL WorkbenchのERモデルからテーブルを作成する方法について解説します。
MySQL Workbenchの基本操作やER図の作り方は理解している前提で進めますので、モデルの「次のステップ」にあたる内容ですね。

実は、テーブルを作成する方法には大きく分けて2つの手段があります。

  1. Forward Engineer(フォワードエンジニア)
  2. Synchronize Model(モデルとデータベースの同期)

研修など、最初のうちは1番の「Forward Engineer」を使うのがシンプルでおすすめです!
ですが、現場では2番の「同期」も使いこなせると非常に便利ですので、両方とも紹介します。


Forward Engineer(フォワードエンジニア)の使い方【初心者におすすめ】

手順

  1. ER図(モデル)を作成済みであることを確認
    • テーブル、カラム、主キーなどがER図上で設定されている状態。
  2. メニューから実行
    • 上部メニューの Database > Forward Engineer... を選択
  3. ウィザードに沿って進める
    • 接続先のデータベースを選択(事前にConnectionが必要)
    • オプションで「DROP TABLE」や「CREATE SCHEMA」などチェック可能
    • 「Generate SQL Script」も出力可能
  4. Finishで実行
    • これでER図で設計した通りにテーブルが作成されます

メリット

メリット説明
シンプル手順が少なく直感的でわかりやすい
学習向きSQLを意識せず設計から実行までできる
ミスが少ないモデルと実行内容が一致しやすい

デメリット

デメリット説明
差分反映ができないテーブルをすでに作成済みの場合、再度上書きが必要
実行前確認がやや弱い差分検知は行わないので注意が必要

例え話で理解!

Forward Engineerは「設計図から一気に建物を建てる」ようなイメージです。
ゼロから作るときにはとても便利だけど、すでに建物があれば壊して作り直すしかない。
だから、最初の1回目にはうってつけの方法なんです。


Synchronize Model(モデルとデータベースの同期)

どんなときに使う?

  • ER図を編集して、すでに存在するデータベースと差分を反映したいとき
  • 本番DBと開発DBで構造を揃えたいとき

手順

  1. Database > Synchronize Model... を選択
  2. 接続先を指定
  3. 差分チェック
    • どのテーブル・カラム・インデックスが「追加/変更/削除」されるかが一覧で表示される
  4. 確認して実行

メリット

メリット説明
差分を検知できる既存DBとモデルを比較できる
柔軟な運用が可能一部だけ変更する運用がしやすい
実行内容を確認できるSQLの内容を1つずつ確認してから実行できる

デメリット

デメリット説明
操作が少し複雑差分確認や確認ステップが多い
モデルとDBの整合性が必要どちらかにミスがあると混乱の元に

例え話で理解!

Synchronizeは「既存の建物をリフォーム」するようなものです。
図面を少し変えたから、対応する部分だけ工事をする。手間はかかるけど柔軟なんです。


研修ではForward Engineerを使おう!

初学者向け研修では、Forward Engineerだけで十分です。

なぜかというと:

  • 「ゼロから構築」するケースがほとんど
  • 複雑な差分管理が不要
  • 操作に迷いが少ない

ある程度MySQLに慣れてきたら、「Synchronize Model」も段階的に学んでいけば大丈夫です!


今後の学習の指針

このあとステップアップするには、以下のことにチャレンジしてみるとよいでしょう。

  1. Forward Engineerで出力されるSQLを読んでみる
    • CREATE TABLE文を理解しよう
  2. モデルとSQLの対応関係を理解する
    • どの設定がSQLのどこに反映されるのかを観察する
  3. Synchronize Modelの差分検知を試してみる
    • 意図的に変更を加えて、同期処理の流れを確認
  4. リバースエンジニアリングも学ぶ
    • 既存のDBからER図を作成する方法も覚えておくと便利

セイ・コンサルティング・グループの新人エンジニア研修のメニューへのリンク

投稿者プロフィール

山崎講師
山崎講師代表取締役
セイ・コンサルティング・グループ株式会社代表取締役。
岐阜県出身。
2000年創業、2004年会社設立。
IT企業向け人材育成研修歴業界歴20年以上。
すべての無駄を省いた費用対効果の高い「筋肉質」な研修を提供します!
この記事に間違い等ありましたらぜひお知らせください。