简体中文
English 简体中文 繁體中文
Methodox 首页

实体图

实体图展示数据库中的表,以及表中各行之间的关系。它以 entity 及其标题开头。

entity A small shop
Customer
  id: number [key]
  name: text
  email: text [unique]
Order
  id: number [key]
  customer: number [ref]
  placed: date
Product
  id: number [key]
  title: text
  price: number
Line
  order: number [key, ref]
  product: number [key, ref]
  quantity: number
Customer 1-* Order: places
Order 1-1..* Line: holds
Product 1-* Line: appears in

上面的文本:Customer、Order、Product 和 Line 及其属性和键,以鸦脚符号相连

设置

设置 别名 值
direction flow, orientation, layout, rankdir down(默认)、right、up 或 left

实体和属性

实体名单独写在一行上,其属性缩进写在它的下方。属性由一个名称、一个冒号和一个类型组成,之后是方括号中的键:

键 别名 显示为
key pk, primary, primary key, id PK,且名称带下划线
ref fk, foreign, foreign key, reference FK
unique uk UK

id number —— 名称和类型之间没有冒号 —— 也能读取。写在实体之外的“名称、冒号和类型”会被指出:它应该缩进写在某个实体下方。

关系

关系是一条两端各带一个计数的连线,以鸦脚符号绘制:Customer 1-* Order: places。每一端是以下四种之一:

计数 别名 含义
1 恰好一个
0..1 零个或一个
1..* 1..n 一个或多个
* 0..*, 0..n, n, many 任意数量

两端之间用一个、两个或三个短横线相连,标签写在冒号之后。Mermaid 用字符画出的鸦脚符号也能读取:||--o{ 表示一对任意数量,|o--|{ 表示零或一对一或多个;用两个点代替短横线 —— }|..|| —— 会把连线画成虚线,表示非标识关系。任何一端都不可能出现的计数,例如 2-*,会被指出。

普通箭头在实体之间绘制普通连线。

分组和注释

group Name 会为缩进在其下方的实体加上边框。note Entity: what to say 会在某个实体旁边放置一条注释。