{MySQL}Workbenchでモデリングする

MySQL Workbenchを使ってデータベースのモデリングをしてみます。


環境等

  • win 10(32bit)
  • PHP 7.2.2
  • Apache 2.4.29(win32)
  • MySQL Community Server 8.0.11


  • MySQL Workbenchの起動

    MySQL8.0のインストールに同梱されているので、すでにMySQLフォルダの中にMySQL Workbench 8.0CEが入っています。
    プログラムメニューからWorkbenchを起動します。

    左下にインストール時の接続の設定が載っていますが、モデリングはローカル環境で行います。

    左のメニューからモデリングを選択します。
    +ボタンを押下して新しいモデルを作成します。


    スキーマの作成

    モデルが作成されると以下のような画面になります。
    Physical Schemasの横の+アイコンを押下し、新しいスキーマを作成します。

    スキーマ詳細画面が表示されるので、Name欄に任意のスキーマ名を、Charset/Collationにutf8 utf8_unicode_ciを設定します。(日本語データ格納のため)
    コメントは適当に。



    エンティティ(テーブル)の作成

    Phisical Schemasの上にあるAdd diagramを押下します。
    次のような画面が開きます。
    方眼の作業領域左メニュー内、place a New Tableと説明の出るアイコン(赤枠のもの)を押下したあと、作業領域の中でクリックします。
    すると、Table1という図が挿入されます。

    挿入された図をダブルクリックすると設定画面が開くので、テーブル名とコメントを入力します。

    同様に必要なだけテーブルを作成していきます。


    エンティティのプロパティ(カラム)の設定

    先ほど作ったテーブルにカラム(列)情報を追加します。
    テーブル名設定時と同様に作業領域内のテーブル図をダブルクリックで設定画面を開きます。

    Column NameとData Type(必要な場合はbyte数)、各種制約を適宜設定し、同様に全てのテーブルを設定します。
    各種制約のうちUN(Unsigned)は「符号をつけない(負数を範囲に含まない)」ということです。
    -128~127の範囲のTINYINTの場合、UNを付けると0~255の数字を付与することが可能になります。
    データ型についてはこちらを参照:MySQLのデータ型│DBOnline


    リレーションの設定

    リレーションとは異なるテーブルの主キーと外部キーが何対何の形で結びつくかを表すものです。

    左メニューの赤枠内のツールを使って、テーブル同士の関係を記述していきます。
    点線が、Identifying Relationship (依存関係)を示し、実線はNon-Identifying Relationship(非依存関係)を示します。
    また線の割れている方は1対多の関係の「多」を表します。
    (上の画像で付け方があってるかちょっと自信ない……)

    リレーションも考え方はこちらを参照、、、:
    ER図 リレーションシップを正しく使い分けよう│SI Object Browser

    これでERD図をつくることができました。
    こうしてできたデータはローカルに保存してお、これもとにMySQLサーバーでスキーマを作成することができます。
    それはまた別のエントリで。おわり。

    参考:MySQL Workbench でデータモデルを作成してみる│セルティスラボ


    Leave a Reply

    Your email address will not be published. Required fields are marked *