数据库设计的技巧因具体数据库而异,然而建模阶段的相同的,因此可以用一些通用的工具来进行,如Rationalrose,PowerDesigner等,这一阶段主要是依据体系的需求,获取与分析要实现的应用体系信息,进行数据内部以及外在关系的分析,从而有效地建立整个体系的数据结构(在关系数据库中通常称为表结构),在此基础上对数据库的数据量、数据流量、及响应速度的估算分析,这样数据模型就产生了。具体的操作准则是数据库的几许范式、用户的具体需求和分析者的经验,从数据库的性能、安全、方便管理、易于开发等方面出发,具体技巧因分析员的喜好和习性而异,可以不用工具,最好使用工具,能让分析经过简便,最主要是能生成一些图,如E-R图,让分析经过一目了然。
物理设计
此步设计和体系将具体使用的数据库有关,也和数据库所运行的硬、软件平台有关,目的是尽量合理地给数据库分配物理空间,这一步在数据库设计中很重要,关系到数据库数据的安全和数据库的性能,具体的来说,这一步包括相应表空间的数据文件在磁盘上的分配,还要根据数据量的大致确定redolog文件、rollback段的大致,接着进行分配,这些文件的分配要遵循一些制度,本着利于备份,利于性能优化的制度,制度如下(以ORACLE数据库为例):
1、为表和索引建立不同的表空间,禁止在体系表空间中放入非核心oracle体系成分的对象,确保数据表空间和索引表空间位于不同的磁盘磁盘驱动器上。
2、了解终端用户怎样访问数据,如果可能,将经常同时查询和频繁查询的对象放在不同的物理磁盘上。
3、当数据库包含允许用户并行访问不同数据元素的大对象时,将对象分割存放在多个磁盘上是有好处的。可以采用分区。在某个操作体系平台上定义拥有数百万行的表时,则更需小心,由于数据库文件的大致受到限止,这种限制是由操作体系而不是由oracle引起的。
4、在独立的各盘上至少创建两个用户定义的rollback表空间,以存放用户自己的rollback段。在初始化文件中安排rollback段的次序,使它们在多个磁盘之间进行切换。
5、将redolog文件放在一个读写较少的盘上。对于每个oracle实例要建立两个以上的redolog组,同组的两个成员放在不同的设备上。
6、确立表和索引的大致,这决定了保存它们所需的表空间的尺寸,也决定了哪些表空间物理地装在哪些盘上和哪些表空间可以结合在一起。具体的估算技巧可以按照oracle一些公式,这里还要按照各个表的具体特性,用途,定义它的存贮参数如(pctfree,pctused)。
关于数据库参数的设计
每个数据库在建立时,都有缺省的参数设置,然而对于具体的应用要求参数设置可能不同,缺省的参数设置往往需要根据应用体系的特点而需要改动,如每个数据库的操作体系平台、instance数目、各种内存大致的设置、采取的线程方式、备份方式等不同,具体的参数就一定要进行最为恰当的修改,这个步骤对数据库性能很重要,也是保证应用体系所要求的数据库功能得以实现重要一步。
与开发软件的接口难题
数据库设计最后要考虑的是与要选择的开发软件之间的接口难题,要准备好接口程序,有些是第三方软件已经备好的,有些是数据库本身要具备的,如jdbc,bde,ado,等与数据库的接口,主要是考虑接口的可用性、效率难题。这一步主要从经验出发,由于这种产品不断出台,而且都是经过各商家的吹捧,要在操作中决定何者是最适合。
以上是数据库建模设计的几许重要步骤的大致分析,整个设计经过是不断地改进的,是数据库管理员、设计人员、开发人员共同完成的,只是各有侧重点不同,数据库管理员侧重于是2、3步的设计,设计人员侧重于1步的设计,而开发人员侧重于4步的设计,由于有些应用体系的编程环境和实际应用环境不同,因此要做两套设计,并注意两套设计的兼容性可移植性。