常用三大范式:

第一范式(1NF):原子性,所有的列都是不可拆分的

姓名 年龄 学院班级 家庭信息
lin 18 信息学院,互联网 广州,4口人

这是不满足第一范式的

姓名 年龄 学院 班级 家庭地址 家庭人口
lin 18 信息学院 互联网 广州 4

第二范式:满足第一范式,与主键无关联(每张表只做自己的事)

订单号 产品号 产品数量 产品价格 订单时间 订单金额
10032 103 100 199.00 2021.11.01 50000
10032 102 100 99.90 2021.11.01 50000
10034 103 50 400 2020.02.03 40000

这里的订单和产品只有主键关联,这里应该是两个表(一个订单可以有多个产品,一个产品可以参与在多个订单)

订单号 产品号 产品数量 产品价格
10032 103 100 199.00
10032 102 100 99.90
10034 103 50 400
       
订单号 订单时间 订单金额
10032 2021.11.01 50000
10032 2021.11.01 50000
10034 2020.02.03 40000

第三范式:满足第三范式,任何非主键不得关联非主键

姓名 年龄 专业 学院 学院主任
lin 22 电子 信息 龙老师
li 21 物联网 信息 丽老师
ko 22 会计 运管 赖老师

这里的专业和学院关联

姓名 年龄 专业
lin 22 电子
li 21 物联网
ko 22 会计
专业 学院 学院主任
电子 信息 龙老师
物联网 信息 丽老师
会计 运管 赖老师

 

规范性 和 性能的问题

关联查询的表不得超过三张表

考虑商业化的需求和目标,(成本,用户体验!)数据库的性能更重要

在规范性能的问题的时候,需要考虑一下规范性!

故意给某些表增加一些冗余的字段。(从多表查询变为单表查询)

故意增加一些计算列,(从大数据降低为小数据的查询:索引就是这个道理)

 

posted on 2022-05-09 20:26  阿霖找BUG  阅读(22)  评论(0)    收藏  举报