数据库设计的规范化与非规范化:
(1)表格与面向对象:
表格包含各个字段,面向对象也是包含多个成员变量。两者有相似之处。
(2)E-R图向关系图转换:
一对一:
一对多:
多对多:
(3)规范化与非规范化:
1)规范化:
规范化设计的过程就是按不同的范式,将一个二维表不断地分解成多个二维表并建立表之间的关联,最终达到一个表只描述一个实体或者实体间的一种联系的目标。
在工程中3NF、BCNF应用得最广泛,推荐采用 3 NF作为标准。
2)规范化的优点与缺点:
优点:
消除数据冗余,比如插入,更新不会有数据冗余以及不一致的地方出现。
缺点:
将一个大的二维表分为多个子二维表,多个子二维表之间相互联系,但是在查找的时候会子表连接会浪费时间。
数据库规范化的程度越高,其中表的数量越多,表的数量越多,表的连接运算也越多;连接运算增多,必然降低数据库执行的速度,影响数据库的性能。
3)非规范化:
1.定义:
非规范化要求适当地降低甚至抛弃关系模式的范式,不再要求一个表只描述一个实体或者实体间的一种联系。其主要目的在于提高数据库的运行效率。
2.方法:
非规范化处理的主要技术包括增加冗余或派生列,对表进行合并、分割或增加重复表。
3.适用情况:
(1)大量频繁的查询过程所涉及的表都需要进行连接;
(2) 主要的应用程序在执行时要将表连接起来进行查询;
(3)对数据的计算需要临时表或进行复杂的查询。
4)非规范化的优点与缺点:
优点:
减少了查询操作所需的连接;减少了外部键和索引的数量;
可以预先进行统计计算,提高了查询时的响应速度。
缺点:
增加了数据冗余;影响数据库的完整性;
降低了数据更新的速度;增加了存储表所占用的物理空间。
非规范化设计的最大问题是难以保证数据库中数据的一致性,存在着破坏数据的危险。
数据库的规范化与非规范化比较
原创
©著作权归作者所有:来自51CTO博客作者legend05070911的原创作品,请联系作者获取转载授权,否则将追究法律责任
上一篇:awk学习一之资料总结
提问和评论都可以,用心的回复会被更多人看到
评论
发布评论
相关文章
-
自动化测试用例规范
自动化测试用例编写规范
自动化测试 软件测试 Python自动化测试 -
数据库规范化理论
2、主属性、非主属性 3、范式 4、规范化理论 模式分解 保持函数依赖分解 定义:对
函数依赖 主属性 非主属性 -
规范化将规范化激光焊接
给恢复快给航空港和开好福德宫华帝股份好
华帝股份 激光焊接 航空港 -
【数据库系统】规范化
数据库
1024程序员节 函数依赖 非主属性 完全函数依赖