2020年10月29日 / 13次阅读 / Last Modified 2020年10月29日
SQLite
数据库设计就是设计表,Table!每一张Table都是二维的,可以有各种约束关系,以及相互之间的对应关系。
表与表之间有三种关系:
这是一种比较严格的对应关系,表A中的一行row,只对应表B中的一行row。
在设计的时候,foreign key 加上 unique 约束就是这样的关系了!
还有个专业的说法,detailed table,想想其实就是这样,对应的row,就是自然延伸,包含更多数据。
一对多的关系可能是最常见的。
一般的foreign key设计,都是一对多。当表中的某row,包含或延伸的数据是 list 或 array 这样的场景式,自然就设计出一对多的关系表。
最经典的例子,人和分组之间的关系,就是many-to-many。一个人可以在多个组中,一个组也包含了多个人。
这种数据关系,需要一个 bridge table,或 link table,来讲两个表的数据专门对用起来,如下图:
-- EOF --
本文链接:https://www.pynote.net/archives/2693
前一篇:raise ... from ... 语句
后一篇:数据库设计之范式
Ctrl+D 收藏本页
©Copyright 麦新杰 Since 2019 Python笔记