一个平面文件中时,性能急剧下降。此外,移植一个基于平面文件的应用程序比移植一个基于数据库管理系统的应用程序更为困难。所以,现在已经很少有人使用平面文件型数据库了。
(2) 关系模型
关系模型中的单张关系数据库表格,看上去与平面文件模型没有区别,而关系数据库的特色是"关系"。将数据的各个部分有机地联系起来是关系数据库的标志,这种模型是有很多优点,有关关系模型的详细内容将在附录A中加以阐述。最简单的方法是将一个关系模型想象成各种唯一的对象之间的一系列链接,这些对象可以有任意种属性。
(3) 面向对象模型
面向对象数据库的概念与
Java的概念非常相象:将对象概念化,寻找仅仅属于该对象的属性,如果发现某些属性同时也属于其他对象,则它们必须同属于一个父对象。这很象一个个叠起来的过滤器。面向对象模型要比其他模型更为复杂,因为子对象要继承父对象中包含的数据属性。
(4) 多维模型
这是一种相对较新的数据库模型,它来自数学中的数组理论。尽管大多数数据库是基于多个数组的,但多维数据库的实际结构与一个数组很相象。多维模型更适于存储有大量概括性数据的环境。不同于基于关系模型的数据库,数据库引擎对维的概念的直接支持使得多维视图实现起来容易得多。在多维模型中,由于它的类似数组的结构,检索时间也会大大减少。由于在一次检索中,普通数据库要遍历每个记录,当移动大量记录上的光标时开销会变得大得多。
关系数据库用以减少检索时间的一个方法是对数据项加以索引。这些索引的结构仅仅是相应数据项在数据库中的游标偏移量。MDBMS(多维数据库管理系统)的数据存储格式本身有利于检索,因为引擎知道用户所要检索的数据的通常位置。由于数据实际上是以数组的结构存储的,MDBMS不必遍历每一记录的全部数据项,它只是有选择地
搜索所需要的几列,这有时能够指数倍地减少搜索时间。MDBMS也不再需要关键字,因为关键字的主要作用是帮助用户更容易地查找所需要的数据。
在决定是否使用这类数据库的时候,首先必须理解所要创建的系统的需求。多维数据库系统适于高级计算以及不再是规范化形式的概括性数据的检索,常用于在线分析处理(OLAP, Online Analysis Process)应用和数据仓库环境。这种数据库的多用户功能通常没有SQL数据库那么强大,它也不适于事务量很大的环境以及在原子级别上要求很详细的环境。
选择数据库的准则
通常,对于数据集合在几兆字节之内,数据记录之间没有复杂的关系的情况,可以选用文本文件建立数据库,这样可以最大限度地限制建库成本,同时文本文件具有数据库管理系统(DBMS)所没有的优势,即当数据发生错误时,可以将文本文件调入任何一个文本编辑器进行恢复。
对于较大的数据集合,或者数据记录之间存在着复杂的关系,则最好选用数据库系统。用文本文件实现一个几十兆的数据库将使任何一台高档服务器不堪重负。如果采用交互程序处理数据间复杂的关系,必然会使交互程序的复杂性加大,占用过多的服务器资源。此外,利用数据库系统的功能可以简化交互程序设计的难度,提高开发效率。
在选择数据库管理系统时,应着重考虑以下几个方面:
* 操作系统平台
选择通用的,可发者熟悉的数据库管理系统,也要选择开发者熟悉的操作系统平台,只有这样,才可以减少出错的概率。
* 性能价格比
在各种能完成自己工作的数据库管理系统中,选择实用、可靠、便于维护、技术服务好、最便宜的包括性能评估(响应时间、数据单位时间吞吐量)、性能监控(内外存使用情况、系统输入/输出速率、SQL语句的执行,数据库元组控制)、性