gzlssr。下载你的附件看了,感觉表设计有待改进。以下建议供参考:
1.既然你用的是数据库,也等同于一个现实仓库。那么就要学会如何将东西合理有序的放进去,采取科学的方法进行管理。这样才方便我们从“仓库”(数据库)中把东西快速的拿出来。东西杂乱无章的摆放既不利于放进仓库去,也不方便拿出来;
2.数据库的设计开发中,其中又以表的设计最为关键。万丈高楼从地起,“表”就是数据库这个“万丈高楼”的地基。之后,所有的查询、窗体、宏、代码都是重叠在你这个“表”的基础上的,基础不牢,楼就容易垮(项目开发失败,或者遇到若干的麻烦)。从我看过的数据库开发类的书中,所有认真负责写书的人,都会郑重其事的告诫,一定要仔细、全面的重视表的设计。否则后期会以无数拙劣的代码去治疗表设计不良引起的后遗症。所以一定要在表设计上下足功夫(一般项目开发中,到表设计完成的阶段,几乎要占整个开发进程的三分之一甚至二分之一的时间);
3.好在我们的前辈已经代替我们吃过亏,上过当,并从若干的教训和血泪中替我们总结了经验供我们学习。前辈为我们总结了“设计范式”来指点我们“表”的设计方向。用一位“萧云”前辈的话说,“设计范式”就是我们关系数据库的灵魂、核心,其理念是指引我们关系数据库成功的圣经! 请容我再通俗的补充一句“就是我们找到目标的GPS”;
4.既然“设计范式”如此重要,我们就来简单的学习一下设计范式(详细内容请向度娘请教,她会耐心为您解答)。
科普一下:设计范式(范式,数据库设计范式,数据库的设计范式)是符合某一种级别的关系模式的集合。构造数据库必须遵循一定的规则。在关系数据库中,这种规则就是范式。关系数据库中的关系必须满足一定的要求,即满足不同的范式。目前关系数据库有六种范式:第一范式(1NF)、第二范式(2NF)、第三范式(3NF)、第四范式(4NF)、第五范式(5NF)和第六范式(6NF)。在创建一个数据库的过程中,范化是将其转化为一些表的过程,这种方法可以使从数据库得到的结果更加明确。这样可能使数据库产生重复数据,从而导致创建多余的表。
1 第一范式(1NF)
在任何一个关系数据库中,第一范式(1NF)是对关系模式的基本要求,不满足第一范式(1NF)的数据库就不是关系数据库。
2 第二范式(2NF)
第二范式(2NF)是在第一范式(1NF)的基础上建立起来的。第二范式(2NF)要求数据库表中的每个实例或行必须可以被唯一地区分。
3 第三范式(3NF)
满足第三范式(3NF)必须先满足第二范式(2NF)。简而言之,第三范式(3NF)要求一个数据库表中不包含已在其它表中包含的非主关键字信息。
一般在我们的设计当中,尽量满足第三范式即可(过高的范式要求会使设计变得复杂化)。我的经验:我学ACCESS开发的第一个库便成功了,过程还算顺利,该系统使用至今已经6年了,现在仍能适应业务变化的需要。我后来总结该库顺利开发成功的最重要的一点,就是建表的时候遵循了设计范式的方法,尽量让表满足第三范式。(PS:在现在看来,当初设计的表,还是有一部分没有达到第三范式要求。但严格的要求自己的表设计尽量满足第三范式是个好习惯)。
有鉴于此,建议
gzlssr把表再仔细修改一下。尽量让它满足第三范式,这是为了你万丈高楼的地基更牢固。
菜鸟一枚,水平有限,说错之处,望斧正!