数据库逻辑设计是整个设计的前半段,包括所需的实体和关系,实体规范化等工作。设计的后半段则是
数据库物理设计,包括选择数据库产品,确定数据库实体属性(字段)、数据类型、长度、精度确定、DBMS页面大小等。
数据库物理设计:设计数据库的
物理结构,根据数据库的逻辑结构来选定RDBMS(如Oracle、Sybase等),并设计和实施数据库的
存储结构、存取方式等。
数据库逻辑设计决定了数据库及其应用的整体性能,调优位置。如果数据库逻辑设计不好,则所有调优方法对于提高数据库性能的效果都是有限的。为了使数据库设计的方法走向完备,数据库的规范化理论必须遵守。规范化理论为数据库逻辑设计提供了理论指导和工具,在减少了
数据冗余的同时节约了存储空间,同时加快了增、删、改的速度。
另外,在规范的数据库逻辑设计时,还应考虑适当地破坏规范规则,即反规范化设计,来降低索引、表的数目,降低连接操作的数目,从而加快查询速度。常用的反规范技术有增加
冗余列、增加派生列、重新组表等。
增加冗余列:有时要进行查询的列分布在不同的表中,如果这个
连接查询的频率比较高,那就可以根据需要,把其它表中的这一列加进来,从而使得多个表中具有相同的列,它常用来在查询时避免连接操作。但它的坏处就是需要更多的磁盘空间,同时因为完整性问题需要增加维护表的工作量。
由于数据库逻辑设计不涉及具体环境,所以无需考虑平台和产品问题。但在
数据库物理设计,则和UNIX、
数据库系统息息相关了。请参见两本技术专著《
Oracle在AIX上的系统构建、运维、集群、容灾和性能》或《
Sybase数据库在UNIX、Windows上的实施和管理》中的相关内容。该书由著名学者文平编著,具有极强的指导意义。