0
点赞
收藏
分享

微信扫一扫

数据库的设计原则

蒸熟的土豆 2022-03-18 阅读 50

1.三大范式

第一范式(确保每列保持原子性);
第二范式(确保表中的每列都和主键相关);
第三范式(确保每列都和主键列直接相关,避免高级冗余也就是派生字段)。

2.OLTP(Transactional)还是 OPAP(Analytical)

OLTP关注数据的CRUD。
OLAP关注数据分析、报表、趋势预测。“插入” 和 “更新” 操作相对比较少。目的是更加快速地查询、分析数据。

3.不用绝对遵循“避免冗余”

如果对性能有迫切的需求,考虑一下打破常规。常规情况下你需要做多个表的连接操作,而在非常规的情况下这样的多表连接是会大大地降低性能的。

4.若两个实体之间存在多对多的关系,则应消除这种关系。消除的办法是,在两者之间增加第三个实体。这样,原来一个多对多的关系,现在变为两个一对多的关系。
eg:在“图书馆信息系统”中,“图书”和“读者”。一本书被多人借阅,一个借多本书。要在二者之间增加第三个实体,该实体取名为“借还书”,属性为:借还时间、借还标志(0表示借书,1表示还书),两个外键(“图书”的主键,“读者”的主键)。

5.主键与外键在多表中的重复出现,不属于数据冗余。非键字段的重复出现, 是一种低级冗余,即重复性的。高级冗余不是字段的重复出现,而是字段的派生出现。

举报

相关推荐

0 条评论