1. Relationship Type
mysql 数据表的关系:
第一:1对1 的关系(1:1)。
第二:1对多的关系(1:n)。
第三:多对多的关系(m:n)。
Identifying relationship (识别关系) 和 non-Identifying relationship(非识别关系) ; 前者是强制,依赖的,后者是非强制,不依赖的
2. Existence
M/O(Mandatory or Optional): “Mandatory”表示此查询字段必填;“Optional”表示此查询字段可选。
3. Cardinality
一对多的关系, 通常情况下都要用Mandatory的。比如,出生地和人的关系。人必须有出生地的(not null)。
其中,又分1对0..*(One to Zero or More), 1对1..*(One to One or More), 1对0..1(One to Zero or One),
1对n(One to Exactly)
但有些情况下用optional,比如国籍和人的关系。人可以没有国籍(可以为null),但是如果有国籍,就必须在国籍这个列表里面去选择,可能有一个国籍,也可以有多个国籍
多对多关系, 用Non-Specific, 生成表时会自动什么中间表, 降解成2个多对一的关系