数据库设计之表间的三种关系

2020年10月29日 / 7次阅读 / Last Modified 2020年10月29日
SQLite

数据库设计就是设计表,Table!每一张Table都是二维的,可以有各种约束关系,以及相互之间的对应关系。

表与表之间有三种关系:

one-to-one

这是一种比较严格的对应关系,表A中的一行row,只对应表B中的一行row。

在设计的时候,foreign key 加上 unique 约束就是这样的关系了

还有个专业的说法,detailed table,想想其实就是这样,对应的row,就是自然延伸,包含更多数据。

one-to-many

一对多的关系可能是最常见的。

一般的foreign key设计,都是一对多。当表中的某row,包含或延伸的数据是 list 或 array 这样的场景式,自然就设计出一对多的关系表。

many-to-many

最经典的例子,人和分组之间的关系,就是many-to-many。一个人可以在多个组中,一个组也包含了多个人。

这种数据关系,需要一个 bridge table,或 link table,来讲两个表的数据专门对用起来,如下图:

many-to-many关系
many-to-many关系

-- EOF --

本文链接:https://www.pynote.net/archives/2693

留言区

电子邮件地址不会被公开。 必填项已用*标注


前一篇:
后一篇:

More


©Copyright 麦新杰 Since 2019 Python笔记

go to top