本文へスキップ
Mernyx
メニューを開く

Mermaid ER 図のチートシート

エンティティと、そのカラム、そしてエンティティ間の基数。

このページのすべての図はMernyx(macOS 向けネイティブ Mermaid エディタ)が描いたものです。ブラウザで動く Mermaid.js ではなく、App のキャンバスで使うのと同じレンダラーです。

エンティティと属性

波括弧の中にカラムが入ります。型が先、名前が後です。

erDiagram
  CUSTOMER {
    string name
    string email
  }
  ORDER {
    int orderNumber
    date placedAt
  }
エンティティ 2 つ、Customer と Order。どちらもテーブルの中に属性を 2 つずつ並べています。図を拡大

キー

PK、FK、UK はそれぞれ主キー、外部キー、一意キーを表します。

erDiagram
  CUSTOMER {
    string custNumber PK
    string email UK
  }
  ORDER {
    int orderNumber PK
    string custNumber FK
  }
属性の行に小さなキーの印が付いたエンティティ 2 つ。PK、UK、FK が読めます。図を拡大

基数

それぞれの端の印がいくつあるかを示します。縦棒が 1、鳥の足が多です。

erDiagram
  CUSTOMER ||--o{ ORDER : places
  ORDER ||--|{ LINE_ITEM : contains
  PRODUCT }o--o{ TAG : tagged
エンティティ箱 3 つが線で結ばれ、片方の端には縦棒、もう片方の端には円と鳥の足があります。図を拡大

関係にラベルをつける

コロンのあとのテキストが、2 つのエンティティのあいだの動詞です。2 語以上なら引用符が必要です。

erDiagram
  CUSTOMER ||--o{ ORDER : "places an order"
  ORDER ||--|{ LINE_ITEM : contains
エンティティ 2 つ。places an order と contains のラベルが振られた 2 本の線で結ばれています。図を拡大

Mernyx で描いてみる

.mmd ファイルを開いて、キャンバスでノードを動かしてみてください。ソースコードもついてきます。macOS ネイティブで、ブラウザは介在しません。

図のプレビュー