dbdiagram.ioとは
dbdiagram.io は、ブラウザでER図を作成できるサービス
DBML(database markup language)という、データベース構造をシンプルに記述できる言語を使用してER図を作成できる
DBMLについて
DBMLとは
データベースのスキーマと構造を文書化するために設計されたオープンソースのDSL言語
リポジトリはこちら
生成されたER図の見た目

このように、カラム名込みのテーブルを定義でき、関連する絡む同士をつなげることができる
書き方
細かいところはドキュメントを参照してください
テーブル
Table table_name {
...
}
- table_name
- テーブル名(日本語でもOK)
カラム
Table table_name {
column_name1 column_type [column_settings]
column_name2 column_type [column_settings]
:
}
- column_name
- カラム名
- column_type
- 型
- 特に決まりはないので、column_name と同様に自由な文字列を羅列できる
- ダブルクォーテーションで囲むとスペースありの複数単語も設定可能
- column_settings
- カラムの設定
- primary key や not null などそのカラムの制約などを記載できる
- 記載できるもの
- primary key
- プライマリーキー
- pk と書いても良い
- not null
- null を許容しないカラムにつける
- default: some_value
- デフォルト値
- note: ‘string to add notes’
- カラムへのコメント
- 他にもあるがER図には表現されなさそうなので割愛
- primary key
外部キー制約
3種類書き方がある
1つ目 : カラム定義時に記載
Table table_name1 {
column_name1 column_type
:
}
Table table_name2 {
column_name2 column_type [ref: > table_name1.column_name1]
:
}
2つ目 : テーブル定義とは別に記載 (1行で書く)
Table table_name1 {
column_name1 column_type
:
}
Table table_name2 {
column_name2 column_type
:
}
Ref: table_name2.column_name2 > table_name1.column_name1
3つ目 : テーブル定義とは別に記載 (複数行で書く)
Table table_name1 {
column_name1 column_type
:
}
Table table_name2 {
column_name2 column_type
:
}
Ref {
table_name2.column_name2 > table_name1.column_name1
}
関係性の記述には以下4タイプが有る
- <
- 1 対 多 (table_name2.column_name2 < table_name1.column_name1)
- >
- 多 対 1 (table_name2.column_name2 > table_name1.column_name1)
- –
- 1 対 1 (table_name2.column_name2 – table_name1.column_name1)
- <>
- 多 対 多 (table_name2.column_name2 <> table_name1.column_name1)


コメント