企业信息化数据库管理体系.docx
企业信息化数据库管理体系数据管理数据管理包含数据的存储、检索与操纵。为了能够在系统开发与开展业务工作期间有效 地与信息服务人员进行联系,用户管理人员应具备本章中所提到的有关概念、方法与术语方 面的业务知识。一、数据与信息计算机系统并不存储信息,只存储数据。数据是获得信息的原始材料,为了满足定期存 取的需要,它们被存储在二级(辅助)存储设备(磁盘与磁带)上。信息是通过同化、聚合与''加 工后的有特定含义的数据。为了突击数据与信息之间的差别,我们考察卜面的例子。一个 部门领导要求每个职工分别在一张纸上写下他们的年龄。每张纸只有一行含义简单的数据。 然而经理能够从这些数据中获得信息。他能够以此确定超过5()岁的职工有多少、职工平均 年龄是多少,最年轻的职工年龄是多少等等。人们经常使用''信息处理这个词汇容易造成 误解,实际上,它的真正含义是为了产生信息而处理数据。二、数据组织的层次体系任何信息系统都有一个数据组织的层次体系。在该层次体系中,每一后继层都是其前驱 层数据元组合的结果,最终实现个综合的数据库。处于第一层的''位用户是不必熟悉的, 而其它五层则是用户输入与请求数据时合理的需要。数据是一切信息系统的基础。一个高质 量的计算机信息系统的最终用户务必具备数据的组织及其处理方面的知识。? 位位是主存储器与辅助存储器的基本单位。计算机是电子的,因而只能实现两种状态。从 物理上讲,能够通过不一致途径来实现这两种状态(电流的方向,开关,涂在带上与盘上的 铁液氧的磁性排列)。由于每一位只能表示两种状态,因此,务必将位组合才能形成字母数 字字符。由位组合成的字母数字字符被暂时存放在主存储器中,或者永久地存放在辅助存储 器中。在主存与辅存中存放的是字母数字字符的内部表示形式(比如,假如使用EBC-DIC编 码体制,则11000010表示字母A,而11110001表示数字1) °在输入时,对字母数字字符进行编码以形成若干位的组合,而在输出时进行译码。目前 还没有工业标准的编码体制。最为流行的编码体制是六位二进制编码的十进制码(BCD),七 位ASCII码与八位扩充二进制编码的十进制交换码(EBCDIC-发音为eb-se-dik)。六位编码最多能够表示64个字符(2?6) o七位编码能够表示128个字符,而八位编码能 够表示256个字符。读者可能会问:既然用六位就能够对一个字符编码。为什么还要用八位 来编码?这是由于六位码的64种可能的组合只够表示字母、数字与18个特殊符号。假如希 望有表示大写与小写字母,那么六位编码就不够用了。因此,就需要具有128种组合的七位 编码。目前还难以想象出对128种以上的位的组合需要。引进八位编码体制(EBCDIC)是为了利 用这一个事实,即只用4位(24-具有16种可能的组合)来表示一个数值数据。因此,一个8 位的编码实际上能够用来表示两个十进制数字。由于所存储的数据多数是数值数据,因此将 两个数字的编码压缩成八位能够节约存储空间。EBCDIC的8位组合称之为一个字节。而BCD 的六位就构成一个字节。在BCD与ASCI I编码体制中,字节是字符的同义词。在EBCDIC编 码体制中,由于能够将两个数字压缩到一个字节中,因此EBCDIC的字节与字符间并不一一 对应。然而,在涉及到存储容量时,则经常交替地使用字符与字节。一个磁盘组能够有800 兆字节容量(即800兆字节的永久存储器),而一台计算机的主存能够有8兆字节(作为处理 用的兆字节的高速临时存储器)。较小的存储设备用千字节(一千个字节的倍数来度量)。通 常将兆与千分别缩写''M 与、'K。在逻辑上讲,一个EBCDIC字节是8位,而实际上它有9位。由于要将这些位在计算机 与外部设备(或者远程终端)之间传送,因此在计算机硬件中使用了一种内部校验方法来保证 传送数据的准确性。这种构验方法之一是给传送的数据附加一位奇偶校验位,用该位来发现 在传送过程中是否丢失了一位。计算机能够使用偶数奇偶校验或者奇数奇偶校验法,即每一 字符要包含偶数个或者奇数个'、开状态位。假定某台计算机使用偶数奇偶校验法,假如要(P72)图数据库记录之间的关系图20. 6.12 一个完整的网络模型第五步:下一步消去冗余的属性与系。记住,我们的目的是将作者、书名与出版社记录 输入到数据库,然后经由系建立的联系从不一致的记录中检索数据。因此,务必消去对此目 的是冗余的那些系。在本例中,显而易见作者-出版社系或者作者-书名系是冗余(重复)的, 由于作者与书名相匹配的机会比它与出版社匹啊的机会多,因此应该消去作者-出版社系。 图20.6. 12给出了结果模式。该模式是数据库逻辑结构的一种图式表示。现在图书馆馆长能够进行如下的查询: 列出某作者写的所有书的书名; 按字母顺序列出由Pientice-Hall在1981年出版的那些书的书名; 列出1987年以来至少在三个出版社出版书的那些作者。该数据库(正如所设计的那样)很容易实现上述查询及其它类似的查询。对图书馆原有文 件来说,类似的查询不仅要求处理整个文件,而且可能还要处理好几遍。有的时候,还要求 对文件进行排序与合并。(P73)图20.6.13敛据库结构的一个值假如图书馆馆长在一年之后决定需要另一个记录或者属性,那么,数据库管理员(DBA) 能够重新产生数据库,增加属性,甚至增加系而不影响现在的程序。图表示该模式,而图表示数据库结构的一个值。模式与值的关系类似于 数据元与数据项的关系。一个是数据的定义,而另一个是实际的值或者内容。将一个EBCDIC的字母A(它具有奇数个、'开位-11000001)写到磁带上,那么在传送之前为了 维持偶校验,则需要增加位奇偶位(即:111000001-偶数个''开位),在将字符写到磁带 之前,硬件自动计算''开位的个数。假如计算机结果是奇数,则说明己经出现了奇偶校验 错误,计算机自动向操作员发出警告。?字符(字节)在通过键盘(光符号识别器或者其他输入设备)输入一个字符时,机器直接将字符翻译成 某特定的编码系统中一串位的组合。一个计算机系统能够使用不止一种编码体制。比如,某 些计算机系统中将ASCII编码体制用于数据通信,而将EBCDIC编码体制用于数据存储。?数据元描述数据元的最好办法是举例说明。一个人的社会保险号、姓名、信用卡号、街道地址 与婚姻状况等都是数据元。在数据的层次体系中,数据元是最低一层的逻辑单位,为了形成 一个逻辑单位,需要将若干位与若干字节组合在一起。一个日期不一定是一个数据元,它能 够是三个数据元:年、月、日。对地址来说,也是同样的。一个地址中能够包含州、城市、 街道地址与邮政码这四个数据元。从逻辑上能够把日期与地址都看成是一个数据元,但是输 出这种数据元是不方便的。比如,通常在输出时总是把街道地址单写行,因而应该把个 地址的几个数据元分开。此外,由于姓名与地址文件经常按邮政码排序,因此,需要将邮政 码作为一个逻辑实体(数据元)来对待。根据上下文的需要,有的时候也把数据元称作为字段(记录中的字段)。数据元是泛指的, 而数据项才是实际的实体(或者实际的''值)。比如,社会保险号是一个数据元,而445487279 与44214158则是两个数据项。为了节约输入数据时敲打键盘的时间与存储空间,在输入数据时通常将数据元编码。比 如,通常将职工主文件中的''性别数据元编码,这样,数据录入员就能够简单的输入'、俨 或者''F来代替''Male”(男)或者''Female(女)。在输出时再将''M与、'F分别翻译成''男或 者 '' 女 O在设计数据元时,能够使一个数据项(如帐号)的编码具有特定的含义,从而能够向用户 提供信息。比如,能够将一个大学的六位帐号编码如下:表 20. 6. 1表 位置字也/数字编玛描述1字母C-般的E教育的R研究的2-3字母B生物学CE土木工程CH化学工程EE电子工程FA美术ZY动物学4-6数字N/A唯一数值的项目标识符举一个例子,RB1001将表示生物系的1另研究项目的帐号。? 记录将逻辑上有关的数据元组合在一起就形成一个记录。表20. 6. 2列举了一个职工记录中 可能包含的若干数据元,与作为职工记录的一个值的若干数据项。记录是能够从数据库中 存取的最低一层的逻辑单位。比如,假如一个人事经理需要明白阿温肥访苓沟幕橐贫纯解 敲矗桶阉恼电锹即痈Ci嬷腥)隼床4.偷街觊娼写忍£表20.6.2 个职工记录数据元数据项职工/社会保险号445447279姓SMfTH名ALVIN名字首字母E部门(编码)ACT性别(编玛)M婿蜗状况S工资(每周)800.00?文件文件是逻辑上有关的记录的集合。职工主文件包含每一个职工的记录。库存文件包含每 一种库存货物的记录。应收帐目文件包含每个顾客的记录。''文件这个词有的时候也指某 台二级存储设备上的一块己命名的区域,该区域中能够包含程序代码、教材、数据,甚至还 能够包含输出报表。?数据库数据库是一种作为计算机系统资源共享的全部数据之集合。有的时候根据不一致应用领 域町将该资源共享数据分成若干段。比如,财会数据库能够划分为一个应用领域,它能 够包含六个不一致的文件。读者应该注意到:用''文件来组织数据这种方法将带来数 据的冗余。也就是说,为了在处理时使用,务必将某些数据元重复地存放在几个文件中。 比如,在一所大学的安置办公室、宿舍管理处、财务支持办公室与注册处等都有可能储 存学生文件。像学生名、校内地址这类数据元几乎在每个文件中都重复出现。在对开发 一个综合的学生信息系统进行可行性分析时,一些系统分析员在美国西南部一所规模很 大的大学中发现有75个计算机文件中都包含学生名与校内地址。使用先进的数据库管 理系统比之传统的文件系统有较大的改进,它使得用户能够将存储数据的重复程度减至 最小。三、数据库的概念与用途?数据库的概念什么是数据库呢?当人们从不致的角度来描述这概念时就有不致的定义(当然是 描述性的)。比如,称数据库是一个''记录储存系统(该定义强调了数据库是若干记录的集 合)。又如称数据库是''人们为解决特定的任务,以一定的组织方式存储在一起的有关的数 据的集合(该定义侧重于数据的组织)。更有甚者称数据库是、一个数据仓库。当然,这种 说法尽管形象,但并不严谨。严格地说,数据库是'、按照数据结构来组织、存储与管理数据 的仓库。在经济管理的口常工作中,常常需要把某些有关的数据放进这样''仓库,并根据 管理的需要进行相应的处理。比如,企业或者事业单位的人事部门常常要把本单位职工的基 本情况(职工号、姓名、年龄、性别、籍贯、工资、简历等)存放在表中,这张表就 能够看成是一个数据库。有了这个''数据仓库我们就能够根据需要随时查询某职工的基本 情况,也能够查询工资在某个范围内的职工人数等等。这些工作假如都能在计算机上自动进 行,那我们的人事管理就能够达到极高的水平。此外,在财务管理、仓库管理、生产管理中 也需要建立众多的这种''数据库,使其能够利用计算机实现财务、仓库、生产的自动化管 理。J. Martin给数据库下了一个比较完整的定义:数据库是存储在一起的有关数据的集合, 这些数据是结构化的,无有害的或者不必要的冗余,并为多种应用服务;数据的存储独立于 使用它的程序;对数据库插入新数据,修改与检索原有数据均能按一种公用的与可操纵的方 式进行。当某个系统中存在结构上完全分开的若干个数据库时,则该系统包含一个、'数据库 集合。?数据库的优点表人事基本档案工号姓名性别年龄籍赏工资简历0001刘丰男25攻庆87/0002王肉界26成都87/0003李一女28北京87/0004孙立女30上海91/0005陈志男35武汉102/使用数据库能够带来许多好处:如减少r数据的冗余度,从而大大地节约了数据的存储 空间;实现数据资源的充分共享等等。此外,数据库技术还为用户提供了非常简便的使用手 段使用户易于编写有关数据库应用程序。特别是近年来推出的微型计算机关系数据库管理系 统dBASELL,操作直观,使用灵活,编程方便,环境习惯广泛(通常的十六位机,如IBM/PC/XT, 国产长城()52()等均可运行种软件),数据处理能力极强。数据库在我国正得到愈来愈广泛的 应用,必将成为经济管理的有力工具。数据库是通过数据库管理系统(DBMS-DATA BASE MANAGEMENT SYSTEM)软件来实现数据 的存储、管理与使用的dBASELL就是一种数据库管理系统软件。?数据库结构与数据库种类数据库通常分为层次式数据库、网络式数据库与关系式数据库三种。而不一致的数据库 是按不致的数据结构来联系与组织的。1. 数据结构模型(1) 数据结构所谓数据结构是指数据的组织形式或者数据之间的联系。假如用I)表示数据,用R表示 数据对象之间存在的关系集合,则将DS=(D, R)称之数据结构。比如,设有一个电话号码 簿,它记录了n个人的名字与相应的电话号码。为了方便地查找某人的电话号码,将人名与 号码按字典顺序排列,并在名字的后面跟随着对应的电话号码。这样,若要查找某人的电话 号码(假定他的名字的第一个字母是Y),那么只须查找以Y开头的那些名字就能够了。该例 中,数据的集合I)就是人名与电话号码,它们之间的联系R就是按字典顺序的排列,其相应 的数据结构就是DS=(D, R),即一个数组。(2) 数据结构种类数据结构又分为数据的逻辑结构与数据的物理结构。数据的逻辑结构是从逻辑的角度 (即数据间的联系与组织方式)来观察数据,分析数据,与数据的存储位置无关。数据的物理 结构是指数据在计算机中存放的结构,即数据的逻辑结构在计算机中的实现形式,因此物理 结构也被称之存储结构。本节只研究数据的逻辑结构,并将反映与实现数据联系的方法称之 数据模型。目前,比较流行的数据模型有三种,即按图论理论建立的层次结构模型与网状结构模型 与按关系理论建立的关系结构模型。2. 层次、网状与关系数据库系统(1) 层次结构模型层次结构模型实质上是一种有根结点的定向有序树(在数学中''树被定义为一个无回 的连通图)。比如图20. 6. 4是一个高等学校的组织结构图。这个组织结构图像一棵树,校部 就是树根(称之根结点),各系、专业、教师、学生等为枝点(称之结点),树根与枝点之间的 联系称之边,树根与边之比为1:N,即树根只有一个,树枝有N个。这种数据结构模型的通 常结构见图20. 6. 5所示。图20. 6. 4高等学校的组织结构图图20. 6. 5层次结构模型图中,Ri(i = l, 2, .6)代表记录(即数据的集合),其中R1就是根结点(假如 Ri看成是一个家族,则R1就是祖先,它是R2、R3、R4的双亲,而R2、R3、R4互为兄弟), R5、R6也是兄弟,且其双亲为R3。R2、R4、R5、R6又被称之叶结点(即无子女的结点)。这 样,Ri(i = l, 2, .6)就构成了以R1为树根的一棵树,这就是一个层次数据结构模型。按照层次模型建立的数据库系统称之层次模型数据库系统。IMSdnformation Manage-mentSystem)是其典型代表。(2)网状结构模型?在图20. 6. 6中,给出了某医院医生、病房与病人之间的联系。即每个医生负责治疗三 个病人,每个病房可住一到四个病人。假如将医生看成是一个数据集合,病人与病房分别是 另外两个数据集合,那么医生、病人与病房的比例关系就是M:N:P(即M个医生,N个病人, P间病房)。这种数据结构就是网状数据结构,它的通常结构模型如图所示。在图中, 记录Ri(i = l, 2, 8)满足下列条件: 能够有一个以上的结点无双亲(如Rl、R2、R3)。 至少有一个结点有多于一个以上的双亲。在''医生、病人、病房例中,''医生集合有 若干个结点(M个医生结点)无''双亲,而''病房集合有P个结点(即病房),并有一个以上图20. 6. 7网状结构模型按照网状数据结构建立的数据库系统称之网状数据库系统,其典型代表是DBTG(Data Base Task Group)。用数学方法可将网状数据结构转化为层次数据结构。(3)关系结构模型关系式数据结构把一些复杂的数据结构归结为简单的二元关系(即二维表格形式)。比如 某单位的职工关系就是一个二元关系(见表20.6.8)。这个四行六列的表格的每一列称之一 个字段(即属性),字段名相当于标题栏中的标题(属性名称);表的每-行是包含了六个属性 (工号、姓名、年龄、性别、职务、工资)的一个六元组,即一个人的记录。这个表格清晰地 反映出该单位职工的基本情况。表20. 6. 8职工基本情况工号姓名年龄性别职务工资0001张兰26女科员780002李勇34男副科长910003王杰50男处长119表二维表格结构A,AkVn vV,.V21&Vm* VgV、Vg通常一个m行、n列的二维表格的结构如表20. 6. 9所示。表中每一行表示一个记录值,每一列表示一个属性(即字段或者数据项)。该表一共有m 个记录。每个记录包含n个属性。作为一个关系的二维表,务必满足下列条件:(1) 表中每一列务必是基本数据项(即不可再分解)。(2) 表中每一列务必具有相同的数据类型(比如字符型或者数值型)。(3) 表中每一列的名字务必是唯一的。(4) 表中不应有内容完全相同的行。(5) 行的顺序与列的顺序不影响表格中所表示的信息的含义。由关系数据结构构成的数据库系统被称之关系数据库系统。在关系数据库中,对数据的操作几乎全部建立在一个或者多个关系表格上,通过对这些 关系表格的分类、合并、连接或者选取等运算来实现数据的管理。dBASEII就是这类数据库 管理系统的典型代表。关于一个实际的应用问题(如人事管理问题),有的时候需要多个关系 才能实现。用dBASEII建立起来的一个关系称之一个数据库(或者称数据库文件),而把对应 多个关系建立起来的多个数据库称之数据库系统。dBASEI I的另一个重要功能是通过建立命 令文件来实现对数据库的使用与管理,关于一个数据库系统相应的命令序列文件,称之该数 据库的应用系统。因此,能够概括地说,个关系称之-个数据库,若干个数据库能够构成 一个数据库系统。数据库系统能够派生出各类不一致类型的辅助文件与建立它的应用系统。?数据库的要求与特性为了使各类类型的数据库系统能够充分发挥它们的优越性,务必对数据库管理系统的使 用提出些明确的要求。1. 建立数据库文件的要求(1) 尽量减少数据的重复,使数据具有最小的冗余度。计算机早期应用中的文件管理系 统,由于数据文件是用户各自建立的,几个用户即使有许多相同的数据也得放在各自的文件 中,因而造成存储的数据大量重复,浪费存储空间。数据库技术正是为J'克服这一缺点而出 现的,因此在组织数据的存储时应避免出现冗余。(2) 提高数据的利用率,使众多用户都能共享数据资源。(3) 注意保持数据的完整性。这对某些需要历史数据来进行预测、决策的部门(如统计局、 银行等)特别重要。(4) 注意同一数据描述方法的一致性,使数据操作不致发生混乱。如一个人的学历在人 事档案中是大学毕业,而在科技档案中却是大学程度,这样就容易造成混乱。(5) 关于某些需要保密的数据,务必增设保密措施。(6) 数据的查找率高,根据需要数据应能被及时保护。2. 数据库文件的特征不管使用哪一种数据库管理系统,由它们所建立的数据库文件都能够看成是具有相同 性质的记录的集合,因而这些数据库文件都有相同的特性:(1) 文件的记录格式相同,长度相等。(2) 不一致的行是不一致的记录,因而具有不一致的内容。(3) 不一致的列表示不一致的字段名,同一列中的数据的性质(属性)相同。每行各列的内容是不能分割的,但行的顺序与列的顺序不影响文件内容的表达。3. 文件的分类对文件引用最多的是主文件与事物文件。其他的文件分类还包含表文件、备份文件、档 案的输出文件等。下面将讲述这些文件。(1) 主文件。主文件是某特定应用领域的永久性的数据资源。主文件包含那些被定期存 取以提供信息与经常更新以反映最新状态的讪录。典型的主文件有库存文件、职工主文件与 收帐主文件等。(2) 事务文件。事务文件包含着作为一个信息系统的数据活动(事务)的那些记录。这些 事务被分批以构成事务文件。比如,从每周工资卡上录制下来的数分批存放在一个事务文件 上,然后参照工资清单文件进行处理以便打印出工资支票与工资记录簿。(3) 表文件。表文件是一些表格。之因此单独建立表文件而不把表设计在程序中是为了 便于修改。比如,一个公用事业公司的税率表或者国内税务局的税率就能够存储在表中文件。(4) 备用文件。备用文件是现有生产性文件的一个复制品。一旦生产性文件受到破坏, 利用备用文件就能够重新建立生产性文件。(5) 档案文件。档案文件不是提供当前处理使用的,而是储存起来作为历史参照的。比 如,国内税务局(IRS)可能要求检查某个人最近15年的历史。实际上,档案文件恰恰是在给 定时间内工作的一个''快照。(6) 输出文件。输出文件包含将要打印在打印机上的、显在屏幕上的或者者绘制在绘图 仪上的那些信息的数值映象。输出文件能够是''假脱机的(存储在辅存设备上),当输出设 备可用时才进行实际的输出。四、数据的操纵与检索一综合数据库管理系统到目前为止,我们集中讨论了传统的文件处理。此处,文件是作为一个独立的逻辑实体 来处理的,而且通常与某个特定的业务领域相联系。为了把业务上相近的那些部门的文件综 合在一起,务必预先排序记录与合并文件。这样做可能耗费大量的时间,有的时候甚至是不 可能实现的。通常,文件是为了满足特定业务领域某部门的专门需要而设计的,假如某部门想使用储 存在一个文件上的部分数据,而该文件是另一部门为自己使用而设计的,那么他们务必抽取 这些数据并重新整理后才能使用。大多数部门总是宁愿建立与保持与-个类似(而不致) 的文件以更好地满足自己的使用要求,而不愿兼顾其他部门的业务需要。这样做的结果形成 了大量的带有重复数据的文件。前面的例子中已经提到,某所大学就储存了 75个独立的计 算机文件,而每个文件中都包含有学生记录。每当一个学生结婚了或者者改换了住处时,则 务必修改75个文件。数据的冗余会使成本提高,而设计一个综合的资源共享数据库则能够把数据冗余度降低 到最小程度。综合的资源共享数据库把公司看作一个整体来提供服务,而不只是为公司某特 殊部门服务。利用数据库管理系统(DBMS)软件就可能实现一个综合的数据库。早在70年代初期就出现了 DBMS技术,但是直到70年代末期仍未得到普遍的同意。早 期的DBMS''软件包效率不高,实际上比传统的文件处理的要求更高的硬件能力。目前DBMS 对硬件的要求己经降低了,甚至在小型计算机系统上也能运行DBMS软件,造成推迟同意与 实现DBMS技术的要紧原因可能是信息服务人员缺乏专门的知识,而且用户管理人员又不愿 合作与支持建立一个共享的数据库。目前关于设计与运行DBMS软件己经有了广泛的熟悉, 而且部分用户管理人员已经认识到应该把信息作为一个公司的资源来看待。?数据库环境的好处1. 经济上的好处。通过先进的数据结构技术,DBMS提供了最小化数据冗余度的可能性。 当然,为了提高处理效率,即使有了 DBMS帮助,有的时候还需要在共享的数据库中保留一 定的重复数据。由于减少了数据的冗余度,从而也简化了收集与更新数据的过程。就前面的 例子而言,只需要在一处(数据库中)更新学生地址就能够了。2. 数据库技术也给信息服务专业人员带来的好处。综合资源共享数据库为系统分析员打 开了崭新的大门。数据库能向系统分析员提供传统文件所不能提供的信息。由有了 DBMS, 就更容易得到数据,因此使程序设计任务要比原先更为简单。此外,数据是独立于程序的。 这意味着用户管理人员能够增加数据库中的数据、修改库中的现有数据或者者从库中删除数 据,这些并不影响现有的程序,而在过去则需要测试与修改几十个(有的时候几百个)程序。 当然,数据库管理系统还有其它重要的优点,但是这些己超出本书的范围。3. 信息方面的好处。一个综合资源共享数据库能以有序的方式提供一种满足信息要求的 结构。实际上,数据库是能够充分利用公司信息资源的唯一工具。由于数据库与DBMS在产 生报表方面提供了极大的灵活性,因此,也给决策过程带来了同样的灵活性。4. DBMS软件在支持联机系统方面是特别有价值的。共享数据库不仅可供多个用户存取 而且还特别能反映出数据的当前状态。关于许多查询来说,及时性是很关键的。比如,某个 经理由于设备故障不得不关闭某个工作站,如今他有可能要查询其它工作站的状态,同时利 用得到的信息来改变进行中的工作路线。? 方法DBMS克服了传统文件处理的局限性。它依靠灵活多变的数据结构(将数据元及记录彼此 联系的方法)来做到这一点。基于不一致数据结构的DBMS之间差别很大。有三种设计DBMS 软件的方法1. 数据系统语言会议(CODASYL)设计并公布的基于网络或者从形数据结构的DBMS指南。2. IBM的信息管理系统(IBS)使用的一种层次结构。3. 某些最近设计的基于关系数据结构的DBMS。上述的每一种方法是基本概念与术语的差别都很大。因此,为了减少混淆与便于懂得, 下列的阐述与讨论只使用网络方法。?库设计1. 数据库设计方法我们通过下面的例子来说明数据库管理系统与一种数据库设计方法的原理。考察下述情 况。某图书馆储存了一个文件,该文件每一个记录都包含了下述数据元:(1) 书名(2) 作者(3) 出版社(4) ,11版社地址(5) 类别(6) 出版年份图书馆馆长希望在获得决策信息方面有更多的灵活性。而现在文件不可能满足其要求。 通过与信息处理人员交换意见之后,他们决定实现一个基于CODASYL的数据库管理系统。检查现有文件发现某些数据重复出现。每本书(莓一书名)都分别有一个记录。因此,写 过几本书的作者的名字在他写的每本书的记录中重复出现。在一个图书馆里可能有某出版社 出版的数百本,甚至数千本书,但是在该文件的每本书的记录中都重复地出现出版社名与出 版社地址。2. 设立数据库的步骤设计数据库的方法之一是使用主题词一属性矩阵作为识别记录与这些记录之间关系的 一个辅助工具。下列各步骤描述了这种设计数据库的方法。第一步,在图20. 6.10的主题词一属性矩阵的左边列出了逻辑主题词。在本例中,这些 主题词是:书名、作者与出版社。在矩阵的顶端列出了所有可能的属性。属性是提供与主题 词有关的信息的任一数据元。(P71)图20. 6. 10主题词一属性矩阵第二步:在属性与主题词之间的关系有一对-的,-对多的或者者不存在关系。比如, 一特定书名只有一个出版社。因此在书名与出版社之间存在一对一的关系。然而,一个书名 能够有儿个作者。因而,在书名与作者之间存在一对多的关系。在图20. 6. 11中用'' I 表 示一对一关系,用'、M表示一对多关系,而且空白表示无关系存在。第三步:数据库记录类似于传统文件的记录,它是有关数据元的集合。能够将记录从数 据库中读出来,也能够将记录写到数据库中去。数据库记录也称之节段。在这步,用主题 词一属性矩阵来标识记录。这是通过列出与每个主题词一对一关系的属性来实现的。通常, 对应每个主题都有一个记录,、'书名记录包含出版社、出版年份与类别,如下所示:书 名类 别出版年份作 者出版社出版社地址为了将数据冗余度祓至最小,在记录中将不包含一对多关系的同性,而通过数据结构来 保留这些一对多的关系。在传统的文件组织中,“作者”数据元包含“书名”记录中,如下所 示:|书 名|类 别出位本孤作者I |作者2 |作者3 |作奔厂第四步:数据库设计过程的下一步是建立记录之间的关系。图20.6. 11给出主题一属性 矩阵中指出的一对多的关系。出版社与书名之间的一对多的关系是用两个记录之间的一条连 线来指出的,该连线有一箭头指向出版社记录。指向书名记录的两个箭头表示每个出版社能 够有一个以上的书名。这种出版社一书名的组合称之为一个系。其它的系是:书名-作者、 作者-出版社、作者-书名与出版社-作者。多对多的关系(每一端都有两个箭头)在处理时可 能会引起混淆,因而是不同意的。