21.1.4 数据库设计技巧
本节介绍一些数据库设计方面的技巧,主要包括4点,如下所示。
1.设计数据库之前(需求分析阶段)
❑理解客户需求,询问用户如何看待未来需求变化,让客户解释其需求,而且随着开发的继续,还要经常询问客户,从而保证其需求仍然在开发的目的之中。
❑了解企业业务,从而可以在以后的开发阶段节约大量的时间。
❑定义标准的对象命名规范。
❑数据库各种对象的命名必须规范。
2.表设计原则
表是由行和列组成,每一行称为一条记录,列称为一个字段。数据的标准化有助于消除数据库中的数据冗余。标准化有好几种形式,但Third Normal Form(3NF)通常被认为在性能、扩展性和数据完整性方面达到了最好平衡。简单来说,遵守3NF标准的数据库的表设计原则如下。
❑某个表只包括其本身基本的属性。
❑当不是它们本身所具有的属性时需进行分解。
❑表之间的关系通过外键相连接。
❑它有一组表专门存放通过键连接起来的关联数据。
3.键选择原则
键就是表中的字段。什么是主键呢?主键被挑选出来作为表的唯一标识。那什么是外键呢?外键就是两张表通过一个键产生联系,而这个键又在两张表中,其中在一张表中是主键,那么这个键在另一张表中,就被称为外键。
键设计4原则:
❑为关联字段创建外键
❑所有的键都必须唯一
❑避免使用复合键
❑外键总是关联唯一的键字段
4.索引使用原则
索引与书籍中的索引类似,在一本书中,可以通过索引快速查找所需内容,而无须阅读整本书。在数据库中,索引使DB(DataBase)程序无须对整个表进行扫描,就可以找到所需数据。
❑索引是从数据库中获取数据的最高效方式之一,95%的数据库性能问题都可以采用索引技术得到解决。
❑逻辑主键使用唯一的成组索引,对系统键(作为存储过程)采用唯一的非成组索引,对任何外键列采用非成组索引。考虑数据库的空间有多大,表如何进行访问,还有这些访问是否主要用作读写。
❑大多数数据库都索引自动创建的主键字段,但是可别忘了索引外键,它们也是经常使用的键,例如运行查询显示主表和所有关联表的某条记录,就用得上它。
❑不要索引memo/note字段,不要索引大型字段(有很多字符),这样作会让索引占用太多的存储空间。
❑不要索引常用的小型表。
❑不要为小型数据表设置任何键,假如它们经常有插入和删除操作就更不能这样做,对这些插入和删除操作的索引维护,可能比扫描表空间消耗更多的时间。
数据库的一些基本知识就介绍这么多,从下一节开始,将讲述什么是JDBC,以及如何使用JDBC将Java程序与数据库相连接。