数据库设计
引言
数据库是软件的根本,不管是从软件的性能还是从健壮性来讲,数据库都是值得考量的标准,这篇博客记录本次软件工程作业的点滴。
心得
数据库设计是一个看似简单,实则复杂的过程,出来的结果或许只有几张表,但是要考虑的东西却是非常仔细;
体会1:切莫急功近利,上来就建表
这可能是我们作为初学者的通病,还未理清关系就急于上手,最后导致的弊端就是重复修改,耗时劳神。
体会2:结构最重要
一台电脑,架构体系将直接决定他的运行速度,数据结构也直接决定代码的效率,数据库的结构同样如此,好的表结构对于以后的数据库结构有着莫大的作用,
直接决定这个程序以后是否能够长久运行,所以这边我们提议做一个数据库,一半以上的时间都应在思考在结构上的优化。
体会3:如何理清关系?
万事开头难,如何找到一个切入点是至关重要的,根据现在积累的经验是,大致可以总结为如下几点:
A: 先找到所有的实体
B: 找到实体间的关系
C: 对已有ER图进行删减多余信息
D: 先局部后整体原则
E: 根据三大基本范式对表进行重新检查
体会4:不一定要毫无冗余
数据库讲究数据不会重复存储,严格按照类型进行建表,然而实际和理论还是有很大差异的,根据实际经验,适当的冗余可以有利于数据库的查询速度,
但是也不是随便的冗余,对于数据量较大的表,过多的冗余将占据太多的内存,在内存和时间之间,你也必须根据实际情况做出一个权衡。