摘要:具体做法是在概念数据模型设计时遵守第三范式,降低范式标准的工作放到物理数据模型设计时考虑。金额这个字段的存在,表明该表的设计不满足第三范式,因为金额可以由单价乘以数量得到,说明金额是冗余字段。
一、第一范式
1NF是对属性的原子性,要求属性具有原子性,不可再分解;
表:字段1、 字段2(字段2.1、字段2.2)、字段3 ......
如学生(学号,姓名,性别,出生年月日),如果认为最后一列还可以再分成(出生年,出生月,出生日),它就不是一范式了,否则就是;
二、第二范式2NF是对记录的惟一性,要求记录有惟一标识,即实体的惟一性,即不存在部分依赖;
表:学号、课程号、姓名、学分;
这个表明显说明了两个事务:学生信息, 课程信息;由于非主键字段必须依赖主键,这里学分依赖课程号,姓名依赖与学号,所以不符合二范式。
可能会存在问题:
数据冗余:,每条记录都含有相同信息;
删除异常:删除所有学生成绩,就把课程信息全删除了;
插入异常:学生未选课,无法记录进数据库;
更新异常:调整课程学分,所有行都调整。
正确做法:
学生:Student(学号, 姓名);
课程:Course(课程号, 学分);
选课关系:StudentCourse(学号, 课程号, 成绩)。
3NF是对字段的冗余性,要求任何字段不能由其他字段派生出来,它要求字段没有冗余,即不存在传递依赖;
表: 学号, 姓名, 年龄, 学院名称, 学院电话
因为存在依赖传递: (学号) → (学生)→(所在学院) → (学院电话) 。
可能会存在问题:
数据冗余:有重复值;
更新异常:有重复的冗余信息,修改时需要同时修改多条记录,否则会出现数据不一致的情况 。
正确做法:
学生:(学号, 姓名, 年龄, 所在学院);
学院:(学院, 电话)。
四、反范式化一般说来,数据库只需满足第三范式(3NF)就行了。
没有冗余的数据库设计可以做到。但是,没有冗余的数据库未必是最好的数据库,有时为了提高运行效率,就必须降低范式标准,适当保留冗余数据。具体做法是:在概念数据模型设计时遵守第三范式,降低范式标准的工作放到物理数据模型设计时考虑。降低范式就是增加字段,允许冗余,达到以空间换时间的目的。
〖例〗:有一张存放商品的基本表,如表1所示。“金额”这个字段的存在,表明该表的设计不满足第三范式,因为“金额”可以由“单价”乘以“数量”得到,说明“金额”是冗余字段。但是,增加“金额”这个冗余字段,可以提高查询统计的速度,这就是以空间换时间的作法。
在Rose 2002中,规定列有两种类型:数据列和计算列。“金额”这样的列被称为“计算列”,而“单价”和“数量”这样的列被称为“数据列”。
五、范式化设计和反范式化设计的优缺点 5.1 范式化优点:
缺点:
5.2 反范式化优点:
缺点:
参考资料如下:
1、通俗地理解数据库三个范式
2、数据库模型设计,第一范式、第二范式、第三范式简单例子理解
3、数据库三大范式最简单的解释
文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。
转载请注明本文地址:https://www.ucloud.cn/yun/17702.html
摘要:注意本文目的不在开发一个什么什么插件,只告诉你如何进行开发注下文并无太多代码,代码建议到你新建一个模版插件然后你就拥有了所有的代码,然后根据下文加深自己的理解,相信你会看懂它。开始开发入口文件有个方法释放资源的方法不要做其他事情。 atom高级用法???除了自定义功能基本没啥好玩,抱着装逼的想法,搜了一波atom插件入门,发现说得太迷糊(可能是我太菜),然后打开了官网的插件文档,细细的...
摘要:暴露年龄了广告词饭后嚼两粒大概,故事性很强,比较有意思同时直入主题,饭后吃益达口香糖有益健康。书里破茧成蝶说道,揣摩用户的心思远远不够,你不可能完整的想到别人在想什么,所以还需要去体验用户的生活。 用户体验(User Experience,简称UX 或是UE),它指用户在使用一个产品、系统或者服务时建立起来的纯主观感受。 showImg(https://segmentfault.com...
摘要:暴露年龄了广告词饭后嚼两粒大概,故事性很强,比较有意思同时直入主题,饭后吃益达口香糖有益健康。书里破茧成蝶说道,揣摩用户的心思远远不够,你不可能完整的想到别人在想什么,所以还需要去体验用户的生活。 用户体验(User Experience,简称UX 或是UE),它指用户在使用一个产品、系统或者服务时建立起来的纯主观感受。 showImg(https://segmentfault.com...
阅读 1584·2021-11-16 11:44
阅读 7429·2021-09-22 15:00
阅读 4467·2021-09-02 10:20
阅读 1945·2021-08-27 16:20
阅读 2387·2019-08-26 14:00
阅读 2907·2019-08-26 11:44
阅读 1632·2019-08-23 18:33
阅读 1855·2019-08-22 17:28