27岁,山西运城人,职业电商经理人,前端开发工作者,从事过网站建设、网络推广、SEO、SEM、信息流推广、二类电商、网络运维、软件开发,等相关电商工作,经验较为丰富,小米技术社区致力于为广大从事Web前端开发的人员提供一些力所能及的引导和帮助 ...[更多]
E-mail:mzze@163.com
Q Q:32362389
W X:xiaomi168527
27岁,山西运城人,职业电商经理人,网络工程师兼运维,从事过运营商网络建设,企业网络建设、优化。数据中心网络维护等通过,经验丰富,座右铭:当自己休息的时候,别忘了别人还在奔跑。 ...[更多]
大于花一样的年龄,河南郑州是我家,2010年在北京接触团购网,2011年进入天猫淘宝一待就是四年,如今已经将设计走向国际化(ps:误打误撞开始进入阿里巴巴国际站的设计,嘿嘿)五年电商设计,丰富经验,从事过天猫淘宝阿里各项设计,店铺运营,产品拍摄;我将我的经历与您分享是我的快乐!座右铭:越努力越幸运! ...[更多]
E-mail:97157726@qq.com
Q Q:97157726
数据库规范化是根据一系列所谓的规范形式重组关系数据库的过程,目的是减少数据冗余并提高数据完整性。 它最初是由Edgar F. Codd提出的,作为他的关系模型的组成部分
范式是符合某一种级别的关系模式的集合。关系数据库中的关系必须满足一定的要求,满足不同程度要求的为不同范式。是数据库专业用语。
第一范式的目标是确保每列的原子性,一个字段表示一个含义
思考:地址包含省、市、县、地区是否需要拆分?
答:如果仅仅起地址的作用,不需要统计,可以不拆分;如果有按地区统计的功能需要拆分。
在实际项目中,建议拆分。
第二范式在满足第一范式的前提下,要求每个表只描述一件事情
思考:如下表设计是否合理
第三范式:在满足第二范式的前提下,除了主键以外的其他列消除传递依赖。
思考:如下表设计是否合理?
结论:不满足第三范式,因为语文和数学确定了,总分就确定了
范式越高,数据冗余越少,但是效率有时就越地下,为了提高运行效率,可以适当让数据冗余。
学号 | 姓名 | 语文 | 数学 | 总分 |
1 | 李白 | 77 | 88 | 165 |
上面的设计不满足第三范式,但是高考分数表就是这样设计的,为什么?
答:高考分数峰值访问量非常大,这时候就是性能更重要。当性能和规范化冲突的时候,我们首选性能。这就是“反三范式”。
总结:
1、第一范式约束的是所有字段
2、第二范式约束的主键和非主键的关系
3、第三范式约束的非主键之间的关系
4、范式越高,冗余越少,但表也越多。
5、规范化和性能的关系 :性能比规范化更重要
本站内容均为小米原创,转载请注明出处:小米技术社区>> 数据库设计的规范化和标准化