[データベース]dbdiagram.ioでテキストからER図を書こう DBML

dbml3データベース

どうも。つじけ(tsujikenzo)です。このシリーズでは「dbdiagram.ioでテキストからER図を書こう」について、全4回でご紹介します。今日は3回目です。

前回のおさらい

前回は、「基礎知識」をお送りしました。

[データベース]dbdiagram.ioでテキストからER図を書こう 基礎知識
どうも。つじけ(tsujikenzo)です。このシリーズでは「dbdiagram.ioでテキストからER図を書こう」について、全4回でご紹介します。今日は2回目です。前回のおさらい前回は、「はじめに」をお送りしました。...

今回は、「DBML」をお送りします。

今日のアジェンダ

  • DBMLのコーディング概要
  • テーブル定義

DBMLのコーディング概要

dbdiagram.ioでコードを書くときは、主に、以下のことに留意しましょう。 

コードの中で 単語を””(ダブルクォーテーション)で囲む と、日本語も使用できますが、特別なばあいを除いて英語で書いていきましょう。 

テーブル定義

ダイアグラムの新規作成

まず、ダイアグラムを新規作成します。

タイトル横の下向き矢印から、「New Diagram」をクリックして、タイトルを入力します。 

必ず「Force Save(強制保存)」をクリックして、ダイアグラムを保存しましょう。普段おこなう「新規保存」や「上書き保存」と違いますが、プロジェクト全体を保存すると思ってください。 

主な、テーブル定義は下記になります。

項目説明
テーブル名型を問いません。カンマやセミコロンやスラッシュや空白などは使用できませんUser, 01Deals
カラム名プレーンテキスト、もしくは”カラム名”(二重引用符)が使用できますname, “last_name”
カラムの型を定義しますint,integer,timestamp.varchar
設定カラムの設定を定義します[pk, increment, not null]
{}リストを表していますインデックス、制約、およびテーブル定義
[]設定を表しています[ref: > orders.id]

テーブルとカラム定義

テーブル定義は、このようになります。 

そして、テーブル定義には、かならず1つ以上のカラム定義が必要です。 

コードを書いてみましょう。

Table members {
    id int [primary key]
}

キャンバスにテーブルが生成されました。 

テーブルは複数作成できます。 

エイリアスの活用

テーブル名は、エイリアスを設定し、後で呼び出すことができます 

このように記述します。(ref参照については、後ほど説明します) 

ノートとコメント

コードに影響をあたえない、コメントやノートを記述できます。 

コメントはエディタのどこにでも書けますが、ノートは、テーブル定義、カラム定義などのコード内に書く必要があります。

//コメントです
Table members {
    id int [pk, note:'less than 10']
}

キャンバスでカラムにマウスカーソルを合わせると、参照ウィンドウが表示されます。 

同様に、テーブルへのコメントも、参照ウィンドウが表示されます。

Table countries{
    code int [pk]

    note:'Members origin' //コメントです
}

設定と制約

テーブル内の設定は、すべて[](角括弧)内に記述します。 

主なプロパティ

Property説明キャンバス対応
pk, primary key主キー
unique重複を認めない×
not nullNullを認めない×
incrementレコードが増えると増加する×

主なkey:value

KeyValuesキャンバス対応
note‘文字列型’×
ref> Table.columnなど
default×
deletecascade,restrictなど×
headercolor#3498dbなど△(近日予定)

すでにコード内に登場している設定(pkやnote)もありますね。写経してみましょう。

//テーブル定義
Table members {
    id int [pk, note:'less than 10']
    full_name varchar [not null]
    gender varchar(1) [default: 'm']
    created_at timestamp
}

Table countries{
    code int [pk]
    name varchar [unique]
    
    note:'Members origin'
}

まとめ

以上で、「DBML」、をお送りしました。

SQL文になれていない方でも、テーブルを作成したり、カラムを定義する体験ができたのではないでしょうか。

カラムの入力値に制約をかける、varchar(1) や、full_name varchar [not null] といった記述方法は、必要に応じて徐々に追記していけばいいと思います。

まずは、ER図をコードで書ける楽しさを体験しましょう。

次回は、「カーディナリティとリレーションシップ」をお届けします。

このシリーズのまとめ

タイトルとURLをコピーしました