《自己动手设计数据库》第三部分 其他数据库设计事项
第14章 设计不当——禁忌事项
基于数据库软件设计数据库
数据库设计软件并不能为设计数据库提供任何基础或步骤,即使是创建数据库的原因也无从了解——它只提供实现设计所需的工具。相反,规范的数据库设计方法能提供正确定义数据的必要原则和理论基础。
应避免以下不明智的做法:
- 可能基于主观判断对设计做出决策
- 由于疏忽大意,让数据库设计软件指定的数据库设计完全背离了机构信息要求
- 对数据库设计软件的了解程度限制设计水平
- 设计收自身对数据库设计软件的熟练程度所限
- 使用这种方法设计数据库通常导致结构设计不当,数据完整性不足,以及数据不一致和信息不准确
- 最后,你熟知和且喜爱的数据库设计软件也许不能适应机构数据库要求
第15章 打破规则
何种情况下可以打破规则
设计分析性数据库
当你的数据库类型是分析性数据库时就可以不遵照本书的设计过程,因为两者的设计过程差别很大。
提升处理性能
我们有时会在复杂的查询过程和冗余数据之间做出选择,也就是将违反上面的设计过程,将一些关联数据存储在多张表中,这样不仅能简化查询过程,代价一般情况下就是冗余几组数据。
根据书上的说法,这中使用存储空间换简化查询的做法是不提倡的,这会造成以下问题:
- 数据不一致,因为有多个表需要维护
- 冗余数据
- 受损的数据完整性
- 不准确的信息
提升性能首选其他方式
- 提升或更新计算机硬件
- 调整操作系统软件
- 评审数据库结构
- 评审数据库的实现过程
- 评审数据库的应用程序
记录行动
如果排除了其他选项,坚持认为需要打破规则,就必须记录打破的每条规则和采取的每一步行动!尤其是记录所做的改变,因为这样就能迫使你考虑后果,也为修改数据库结构提供记录。加入你发现这种修改并不能带来显著的好处,就可以根据记录的指引回复到修改之前。
以下为记录的项:
- 打破规则的原因
- 违反的设计原理
- 修改的数据库部分
- 所做的修改
- 对数据库和应用程序预期的影响
到此,老子终于撸完这本《自己动手设计数据库》了!还有,附录部分的内容也很精彩,如果有需要的人真的建议去买一本。