紫色代表一级目录
粉红代表二级目录
蓝色代表三级目录
红色代表关键字
橙色代表说明
规格化:把原始数据库分解为表的过程。
规格化数据库
规格化是去除数据库里冗余数据的过程。
它是一组减少数据冗余来优化数据库的指导方针,具体的方针被称为规格形式。
原始数据库
数据库逻辑设计(确定原始数据库的信息组成)
定义:数据库逻辑设计(数学建模),是把数据安排到逻辑的、有组织的对象组,以便于维护。
数据库逻辑设计应减少数据的重复(冗余),甚至完全消除。
数据库逻辑设计也应该努力让数据库易于维护和更新,同时也要保持数据库里的命名规范和逻辑。
终端用户需求:
包括:数据库里应保存什么数据?
用户如何访问数据库?
用户需要什么样的权限?
数据库里的数据如何进行分组?
哪些数据最经常被访问?
全部数据与数据库如何关联?
采取什么措施保证数据的正确性?
采取什么措施减少数据冗余?
采取什么措施让负责维护数据的用户更易于使用数据库?
数据冗余:重复的数据很多。
数据应该没有冗余;这意味着重复的数据应保持最小。
规格形式
第一规格形式
目标:把原始数据分解到表中。并指定主键。
第二规格形式
提取对主键仅有部分依赖的数据。
第二规格形式以第一规格形式为基础,把表进一步划分为更明确的单元。
第三规格形式
目标:删除表里不依赖于主键的数据
命名规范
名称是我们引用数据库对象的方式。对于命名就会有相印的规范。
规格化的优点
更好的数据库整体组织性(组织性由规格化产生)
减少数据冗余
数据库内部的数据一致性
更灵活的数据库设计
更好的处理数据库安全
加强引用整体性的概念
规格化的缺点
降低了数据库性能(CPU使用率、内存使用率、I/O等)
去规格化数据库
定义:修改规格化数据库的表的构成,在可控制的数据冗余范围内提高数据库性能。
去规格化是在数据库规格化基础上进行一些调整,因为规格化的数据库需要频繁地进行表的结合而降低了性能。
工作方式:去规格化会把一些独立的表结合在一起,或是创建重复的数据,从而减少在数据检索时需要结合的表的数量,进而减少CPU时间和需要的I/O。
小结:规格化和去规格化在进行数据库设计时,如何选择是一个值得深入思考的问题。
并不是规格化程度越高越好。要综合考虑各个方面。