Database design 为什么我们要定义最小基数和最大基数ERD
为什么我们要定义最小基数和最大基数?它是用来干什么的?可读性?它与下面的概念有什么关系?如果我理解正确,实体之间的关系只不过是SQL连接。概念 不,关系不是连接,尽管连接通常(但并非总是)在关系之上完成 基数是您试图在数据库中表示的不同数据段之间关系的基本属性。例如,让我们考虑一个“书籍和作者”数据库…< /P>Database design 为什么我们要定义最小基数和最大基数ERD,database-design,Database Design,为什么我们要定义最小基数和最大基数?它是用来干什么的?可读性?它与下面的概念有什么关系?如果我理解正确,实体之间的关系只不过是SQL连接。概念 不,关系不是连接,尽管连接通常(但并非总是)在关系之上完成 基数是您试图在数据库中表示的不同数据段之间关系的基本属性。例如,让我们考虑一个“书籍和作者”数据库…< /P> 一个作者可以有多本书,一本书可以由多个作者撰写。换句话说,书籍和作者之间存在着一种M:N(见下面的符号部分)关系 另一方面,一封电子邮件不能属于多个作者,因此这是作者和电子邮件之间的
- 一个作者可以有多本书,一本书可以由多个作者撰写。换句话说,书籍和作者之间存在着一种M:N(见下面的符号部分)关系
- 另一方面,一封电子邮件不能属于多个作者,因此这是作者和电子邮件之间的1:N关系(按此顺序)
- 对于左表中的任何给定行,右表中至少可以有Rmin行,最多可以有Rmax行
- 对于右表中的任何给定行,左表中可以至少有Lmin行,最多有Lmax行
- 0..1:0..many(又称为零或一对多或0..1:N),并由右表中的可空外键建模,引用左表。在这种情况下,左表和右表通常称为“父表”和“子表”
- 1..1:0..many(又称一对多或1..1:N),与上述基本相同,但外键不为空
- 0..many:0..many(又称多对多或M:N),由位于左右表之间的所谓“连接”或“链接”表建模
1发音为“Lmin或Lmax至Rmin或Rmax”。概念 不,关系不是连接,尽管连接通常(但并非总是)在关系之上完成 基数是您试图在数据库中表示的不同数据段之间关系的基本属性。例如,让我们考虑一个“书籍和作者”数据库…< /P>
- 一个作者可以有多本书,一本书可以由多个作者撰写。换句话说,书籍和作者之间存在着一种M:N(见下面的符号部分)关系
- 另一方面,一封电子邮件不能属于多个作者,因此这是作者和电子邮件之间的1:N关系(按此顺序)
- 对于左表中的任何给定行,右表中至少可以有Rmin行,最多可以有Rmax行
- 对于右表中的任何给定行,左表中可以至少有Lmin行,最多有Lmax行
- 0..1:0..many(又称为零或一对多或0..1:N),并由右表中的可空外键建模,引用左表。在这种情况下,左表和右表通常称为“父表”和“子表”
- 1..1:0..many(又称一对多或1..1:N),与上述基本相同,但外键不为空
- 0..many:0..many(又称多对多或M:N),由位于左右表之间的所谓“连接”或“链接”表建模