第七章:主题数据库

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

第七章:主题数据库

第一节引言

当一些互不联系的系统分析设计员在分散独立地开发应用系统时,一种潜在问题也在同时产生。这种问题随着小型和微型计算机无控制地扩散应用而日趋严重。例如,相同的数据元素,被不同的开发小组生成多次,而且具有不同的结构,这样,应该相互协调的数据就不能相互协调,不同应用部门之间的数据传送也很难进行。

企业中的大多数数据都需要作统一的管理,相同的数据常常应该被多个用户共享,不同的用户可以将这些数据用于不同的目的。只有通过规划与协调组织起来的数据,才能有效地为多个用户服务,见图7.1。

图7.1 数据库操作

数据库是为满足多种类型最终用户的需要而设计,并为他们所共享的一些相互关联的数据的集合,从中能够得出许多不同的最终用户数据视图。数据在数据库中的存放方式,使得它们独立于使用数据的程序。增加新的数据,修改已有的数据和检索库内的数据,都得到了严格地控制。数据检索可以由多个用户以不同的方式,在适当的保密控制下进行。数据的结构也便于为将来的应用开发提供基础。

主题数据库(Subject Database)与企业管理中要解决的主要问题相关联,而不是与通常的计算机应用项目相关联。企业计算机化中的数据库建设,主要指这种数据库的规划、设计、实施与操作。本章将详细讨论有关这种数据库的意义和规划的理论与实践。

第二节数据库与文件

1.为什么要使用数据库

数据库的重要性体现在两个完全不同的方面。

首先,它有助于保证尽可能有效地使用数据。数据是企业极有价值的资源。它们需要具有准确性、一致性和安全控制;它们必须能被任何需要使用它们的人员或过程所得到和使用。但是,如果存在着多个不一致的数据副本,互不相容的表达方式和混乱的组织方法,它们也很容易变得一团糟,使得管理人员或处理过程需要的时候,不能获得有价值的信息。

其次,数据库有助于提高应用开发效率。提高应用开发效率的关键是应用软件所需的数据结构已经存在,并被记录在软件可以利用的数据字典里。应用开发人员不必再设计数据或其结构。数据字典是许多报表生成软件、查询语言和应用生成软件的基础?quot;一体化的数据字典"(Integrated Data Dictionary)是一些软件供应商用来描述这种作用的一个术语。这种字典除了描述数据之外,还包含报表的标题、数据的替换名称(别名)、报表格式和可以打印在报表上方的字段名称等等。如果一位用户要求将两个字段相加,即便一个是二进制,另一个是十进制,也不碍事,数据字典会指出它们的格式,并使其在相加之前被转换成相容

的格式。数据库软件能为输入数据的用户给出提示,并在输入时对数据进行完整性检查。这些检查可以在数据字典中定义,适当的检查路径能够自动地生成。在一些系统中,处理逻辑与数据库相互关联,而不是与独立的应用相互关联。根据这些逻辑,使数据库中数据发生变化的事件能够自动运行一些过程。这些引发机制和所运行的过程在与数据库相关联的软件中定义,而不是在与用户相关联的软件中定义。带有这种逻辑的数据库称为智能数据库,没有这种逻辑的数据库被称为哑数据库。我们可以象区分智能终端与哑终端那样区分智能数据库与哑数据库。

2.文件系统及其问题

将文件系统与数据库系统区分开是很重要的。有很多数据处理采用文件系统而不是数据库,但文件环境有许多问题。

图7.2描绘的是一个文件环境,其中有许多数据文件,有些存储在磁带上,另一些存放在磁盘之类的快速存储媒体上。记录所包含的数据项如图7.2中的圆圈所示。当编写的一个新的应用程序或者修改一个老的应用程序时,或许某一个文件中便含有该程序所需要的全部数据项,但更常发生的情况是,不存在这样的一系列数据,因而不得不建立一个新文件。

图7.2 一个文件环境

假定一个新用户需要一个含有数据项A,F,和H的文件。在图7.2中现有的文件中,它们都不在一起。因此必须对其它文件进行排序和合并,以建立新的文件,但是如果现有的文件不具备所需要的一系列关键字,这种排序和合并也不是件简单的事情,对每一个A和F数据项,不一定总有一个H相对应。

像图7.2中那样把数据组织在文件中,存在着三个问题。要理解这些总是读者要想象存在着几百个或几千个文件,而不是图7.2中那样只有七个。

首先,数据冗余量大。同一类型的数据项存放在许多不同的地方,相同数据项的不同版本可能处于不同的更新阶段上。换句话说,它们具有不同的值。这可能会使用户看到一些不一致的情况。例如,一位经理收到一份报表上表明的是一种状况,而终端上查询得出的又是另一种不同的结果。这说明当相同数据项存在着多个副本时,很难维持数据的一致性或保证其完整性。

其次,文件系统不灵活。需要多个文件或结构不同的文件中的数据项的信息,不能迅速

得到满足。许多使用一般查询语言的用户,随机查询不能得到回答。尽管数据已经存在,有关这些数据的信息就是不能获得。数据结构不改变,就不能以新的方式进行处理。人们有时会从管理人员那里听到这样的报怨:"我们为那个计算机系统花了几百万,却不能从中得到我们想要的信息。"

第三,对文件系统进行修改的代价很高。假定对图7.2中的应用程序3进行修改,要求包含E和H的记录也作修改。麻烦的是应用程序4也使用相同的记录,结果,程序4也不得不修改,许多其它程序或许也使用该记录(见图7.3),结果也都必须加以修改。

图7.3 一个文件渐渐被多项应用使用

在文件环境中,一个看起来微小的变动,往往会引起一连串修改的连锁反应。这种大改动的代价昂贵,有些修改也很难进行,因为文档资料不全。随着时间的推移,所要开发的程序将越来越多,这种问题也将变得越来越严重。计算机化的数据与企业中文件柜内的内容一样,也是不稳定的。所存储的数据细节和它们被使用的方式都在不断地变化。如果某个计算机系统企图在一个企业强行使用不变的文件结构,那么,其结果必定是大多数编程工作都陷于修改现有程序,而不是开发新的应用。

图7.4表明了某企业编程开支的变化趋势:程序编制总成本增高,成为数据处理总预算中一个较大的部分,但是,用于开发新应用的人-时数却在逐步下降。原因是用于维护或修改现有程序的工作越来越多。系统分析员和数据处理管理人员们常常想,别去管那些工作正常的现有程序。但是在现实中,现有程序所产生或使用的数据,与别的应用中所需要的形式几乎总是有一点差别。有时需要增加新的数据项,有时需要由几个现有记录中的数据项构成新的记录类型,有时数据要以不同的方式建立索引,有时数据的物理格式需要改进,有时不同应用的数据文件要被合并,等等。

相关文档
最新文档