database - 我必须考虑什么样的不同关系?

标签 database database-design entity-relationship

我确信我错过了一些东西,而且我有一些明显的错误。

1:(0-1)(一比零或一)

1:1(一对一)

1:(0-n)(一比零,一或多)

(0-m):(0-n)(零、一或多对零、一或多)

m:n(多对多)

m:1(多对一)

m:(0-1)(多对零或一,即 10 人共用一间 session 室)

约束关系: 我不确定这些(可能是我刚刚发明的,哈哈):

1:max(一个到指定的最大数量,即您的邮件帐户不能超过 1000 封邮件)

1:min(一到指定的最小数量,即车辆必须至少有一个轮子)

1:min-max(指定的最小和最大数量之间的一比)

x:y(x 个实体到 y 个实体,即总是两个老师负责五个类(class))

x:min, x:max, x:min-max

最佳答案

ER模型有1:11:NM:N >。这就是您可以放入图中的内容。

关系总是由相关的实体定义。在ER模型中,不存在“双重关系”、“过期关系”、“三元关系”等。

一对实体要么相关,要么不相关,关系总是二元的。这就是 ER 模型的工作原理。

现在,假设 AB 是相关的。这就提出了两个问题:

  1. A 可以与其他事物相关吗?
    • B 可能与其他事物相关吗?

这是答案矩阵:

1     2    Relationship
Yes   Yes  M:N
No    Yes  1:N
Yes   No   N:1 (same as 1:N)
No    No   1:1

这涵盖了所有可能性。

就业务逻辑而言,可以有任何您能想象到的约束(其中大部分符合上述三种关系方案之一,并进行一些额外检查)。

但是,这不能仅由 ER 模型涵盖。

关于database - 我必须考虑什么样的不同关系?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1975716/

相关文章:

java - Hibernate 和父/子关系

database - 我可以在 Azure 上发布具有非关系数据库的 Web 应用程序吗?

database - 音乐列表架构 + 播放列表网络应用程序

database-design - RBAC(基于角色的访问控制)ER 图

sql - 将主键用作身份字段是否很好

mysql - 产品 alpha-num 序列号的数学运算 |数据库设计

entity-relationship - ER图和数据库模式有什么不同?

PHP:在数据库中设置密码字段的最大长度是多少?

python - 如何处理 MongoDB (pyMongo) 中的 DuplicateKeyError?

模式和数据的数据库版本控制和迁移技术