《数据库系统与数据模型44574.docx》由会员分享,可在线阅读,更多相关《数据库系统与数据模型44574.docx(72页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、第一章 数据库系统概论 本章目目的在于使读读者对数据库库系统的基本本知识能有一一个较为全面面的了解,为为今后的学习习和工作打下下基础。本章章重点介绍了了有关数据库库结构和数据据库系统组织织的基本知识识和基本概念念,以及常见见的三种类型型的数据库系系统的特点。重重点介绍关系系数据库的有有关知识。1.1 数据据管理技术发发展史 随着生生产力的不断断发展,社会会的不断进步步,人类对信信息的依赖程程度也在不断断地增加。数数据作为表达达信息的一种种量化符号,正正在成为人们们处理信息时时重要的操作作对象。所谓谓数据处理就就是对数据的的收集、整理理、存储、分分类、排序、检检索、维护、加加工、统计和和传输等一
2、系系列工作全部部过程的概述述。数据处理理的目的就是是使我们能够够从浩瀚的信信息数据海洋洋中,提取出出有用的数据据信息,作为为我们工作、生生活等各方面面的决策依据据。数据管理理则是指对数数据的组织、编编码、分类、存存储、检索和和维护,它是是数据处理的的一个重要内内容中心。数数据处理工作作由来以久,早早在18800年美国进行行人口普查统统计时,就已已采用穿孔卡卡片来存储人人口普查数据据,并采用机机械设备来完完成对这些普普查数据所进进行的处理工工作。电子计计算机的出现现以及其后其其硬件、软件件的迅速发展展,加之数据据库理论和技技术的发展,为为数据管理进进入一个革命命性阶段提供供有力的支持持。根据数据
3、据和应用程序序相互依赖关关系、数据共共享以及数据据的操作方式式,数据管理理的发展可以以分为三个具具有代表性的的阶段,即人人工管理阶段段、文件管理理阶段和数据据库管理阶段段。【1】人工管理理阶段 这一阶阶段发生于六六十年代以前前,由于当时时计算机硬件件和软件发展展才刚刚起步步,数据管理理中全部工作作,都必须要要由应用程序序员自己设计计程序完成去去完成。由于于需要与计算算机硬件以及及各外部存储储设备和输入入输出设备直直接打交道,程程序员们常常常需要编制大大量重复的数数据管理基本本程序。数据据的逻辑组织织与它的物理理组织基本上上是相同的,因因此当数据的的逻辑组织、物物理组织或存存储设备发生生变化时,
4、进进行数据管理理工作的许多多应用程序就就必须要进行行重新编制。这这样就给数据据管理的维护护工作带来许许多困难。并并且由于一组组数据常常只只对应于一种种应用程序,因因此很难实现现多个不同应应用程序间的的数据资源共共享。存在着着大量重复数数据,信息资资源浪费严重重。【2】文件管理理阶段 这一阶阶段发生于六六十年代,由由于当时计算算机硬件的发发展,以及系系统软件尤其其是文件系统统的出现和发发展,人们开开始利用文件件系统来帮助助完成数据管管理工作,具具体讲就是:数据以多种种组织结构(如如顺序文件组组织、索引文文件文件组织织和直接存取取文件组织等等)的文件形形式保存在外外部存储设备备上,用户通通过文件系
5、统统而无需直接接与外部设备备打交道,以以此来完成数数据的修改、插插入、删除、检检索等管理操操作;使用这这种管理方式式,不仅减轻轻进行数据管管理的应用程程序工作量,更更重要地是,当当数据的物理理组织或存储储设备发生变变化时,数据据的逻辑组织织可以不受任任何影响,从从而保证了基基于数据逻辑辑组织所编制制的应用程序序也可以不受受硬件设备变变化的影响。这这样就使得程程序和数据之之间具有了一一定的相互独独立性。 但由于于数据文件的的逻辑结构完完全是根据应应用程序的具具体要求而设设计,它的管管理与维护完完全是由应用用程序本身来来完成,因此此数据文件的的逻辑结构与与应用程序密密切相关,当当数据的逻辑辑结构需
6、要修修改时,应用用程序也就不不可避免地需需要进行修改改;同样当应应用程序需要要进行变动时时,常常又会会要求数据的的逻辑结构进进行相应的变变动。在这种种情况下,数数据管理中的的维护工作量量也是较大的的。更主要的的是由于采用用文件的形式式来进行数据据管理工作,常常常需要将一一个完整的、相相互关联的数数据集合,人人为地分割成成若干相互独独立的文件,以以便通过基于于文件系统的的编程来实现现来对它们的的管理操作。这这样做同样会会导致数据的的过多冗余和和增加数据维维护工作的复复杂性。例如如人事部门、教教务部门和医医务部门对学学生数据信息息的管理,这这三个部门中中有许多数据据是相同的,如如姓名、年龄龄、性别
7、等,由由于是各部门门均是根据自自己的要求,建建立各自的数数据文件和应应用程序,这这样不仅造成成了大量的相相同数据重复复存储,而且且在修改时,常常常需要同时时修改三个文文件中的数据据项,如修改改学生年龄,此此外若需要增增加一个描述述学生的数据据项,如通讯讯地址,那么么所有的应用用程序就必须须都要进行相相应的修改。除除此之外,采采用文件系统统来帮助进行行数据管理工工作,在数据据的安全和保保密等方面,也也难以采取有有效的措施加加以控制。【3】数据库管管理阶段 1在不不断改进和完完善文件系统统的过程中,从从六十年代后后期开始,人人们逐步研究究和发展了以以数据的统一一管理和数据据共享为主要要特征的数据据
8、库系统。即即在数据在统统一控制之下下,为尽可能能多的应用和和用户服务,数数据库中的数数据组织结构构与数据库的的应用程序相相互间有较大大的相对独立立性等。与以以往前数据管管理方法和技技术相比,利利用数据库系系统来进行数数据管理工作作具有以下三三个显著特点点:(1)从整体角角度组织数据据 数据库库系统与文件件系统的最大大差别就在于于前者在描述述数据时,不不仅仅是对数数据本身进行行描述,而且且对数据之间间的相互联系系也进行了描描述。因此在在组织数据时时是从一个相相对较高的整整体角度进行行的,而不是是仅仅局限于于个别的数据据管理应用场场合。如前面面提到的人事事部门、教务务部门和医务务部门对学生生数据的
9、管理理工作,在利利用数据库系系统来进行管管理时,若从从整体考虑,其其数据的组织织结构如图11.1所示。图1.1 学生生信息数据组组织结构 采用这这种数据组织织不仅可以有有效地解决了了文件系统的的数据组织中中所存在的数数据冗余以及及数据一致性性维护的问题题。更主要的的是它可以使使人们从更高高的全局角度度出发,合理理地组织数据据,从而有利利于更大范围围内的数据资资源的共享,提提高信息的使使用效率。(2)数据可为为多个应用服服务 正因为为数据库中的的数据是从整整体角度进行行组织的,因因此,数据库库中所存储的的数据往往就就不仅局限于于只为一二个个应用提供服服务,而是在在更大范围内内为仅可能多多的应用提
10、供供服务,如图图1.1所示的的一个数据库库中所存储的的数据,就至至少可以为三三个部门的应应用提供服务务。而实际上上如图1.11所示的数据据组织结构仅仅仅只是一个个学校数据管管理数据库中中的一小部分分。与此同时时由于数据库库系统是以多多级(层)组组织模式对数数据进行组织织的,各级(层层)模式之间间的映射是由由数据库系统统自己完成的的,这就使得得数据与程序序之间可以具具有较高的物物理和逻辑相相对独立性。正正是这一点,给给数据库中的的数据为多个个应用提供服服务奠定了基基础。事实上上数据库的规规模越大,所所能够提供的的应用服务就就可以越多,也也就越能体现现出数据库在在数据管理中中的优势。当当然这只是相
11、相对而言,随随着数据库中中数据规模的的扩大,数据据库应用系统统的制作和维维护的工作也也在迅速增加加。(3)有一个数数据库系统的的管理软件 任何数数据库系统都都包含一个管管理软件,即即数据库系统统的管理软件件,通常又称称为数据库管管理系统,它它负责统一管管理数据库系系统中所有数数据资源,是是数据库系统统与用户应用用之间的接口口,通过它,用用户可以不必必要了解过多多的计算机硬硬件、软件和和数据库本身身许多专业知知识,更不用用去了解数据据库系统是如如何完成数据据管理工作的的具体细节,如如文件如何打打开、关闭、读读、写等等,就就可以通过编编写一些较为为简单数据库库应用程序,很很方便地完成成在较高级别别
12、逻辑组织基基础上的数据据管理工作。除除此之外,数数据库管理系系统还负责完完成在对数据据库进行并发发访问时,保保证数据一致致性的并发控控制工作;保保证数据安全全性的访问控控制工作;以以及在数据库库系统出现故故障时,提供供保证数据一一致性和完整整性的恢复机机制等诸多数数据库系统本本身的各种管管理控制工作作。因此这里里也可以看出出,数据库管管理系统功能能的强弱及其其各项性能指指标的好坏,是是衡量数据库库系统质量的的一个极其重重要的因素。 利用数数据库系统进进行数据管理理工作,不仅仅可以保证数数据的物理组组织结构和存存储设备与数数据库应用程程序之间保持持相互独立性性;同时也可可以保证数据据的逻辑组织织
13、结构与数据据库应用程序序之间保持最最大可能的相相互独立性,即即当数据的逻逻辑组织结构构发生变化时时,数据库应应用程序的变变动被限制在在最小的范围围内。由此可可大大地减少少数据库应用用程序的开发发与维护的工工作量。 在数据据库管理阶段段,根据数据据库系统本身身所支持的数数据模型的特特点及所采用用的相应数据据库系统技术术,可以认为为数据库管理理到目前为止止已发展经历历了三代,即即层次网状模模型代、关系系模型代和面面向对象模型型代。 (1)层层次网状模型型代:流行于六十十至七十年代代,在这一代代中的数据库库系统所支持持的数据模型型均是层次模模型或网状模模型。世界上上第一个数据据库系统是于于1964年
14、由由美国通用电电气公司开发发成功的IDDS(Integgratedd Dataa Storre),它就就是基于网状状模型的数据据库系统。IIBM公司于于六十年代末末推出了第一一个商品化的的层次数据库库系统IMSS(Inforrmatioon Mannagemeent Syytem),它们的出现现与应用为数数据库技术的的发展奠定了了基础。 (2)关关系模型代:流行于七十十至八十年代代,在这一代代中的数据库库系统所支持持的数据的数数据模型均是是关系模型。以以关系(表)形形式组织数据据。19700年Codd提出出了关系数据据模型,由于于其具有严格格的数学基础础,抽象级别别较高,且简简单清晰,便便于理
15、解应用用。到了七十十年代末,出出现了不少关关系数据库系系统,其中具具有代表性应应首推IBMM公司推出的的SQL/DDS和DB2两个商商品化关系数数据库系统。进进行八十年代代以后,关系系数据库系统统已成为数据据库系统发展展的主流,几几乎所有新推推出的数据库库系统产品都都是关系型的的,它们中不不仅有用于大大型机和小型型机数据库产产品,而且有有可用于微机机的数据库产产品。市场上上开始出现关关系数据库的的系列产品,这这其中发行量量较大且在我我国用得较多多的有Oraacle、Sybasse、Sysbaase、Inforrmix、FoxPrro等。随着着微机和计算算机网络的广广泛普及和应应用,分布式式数据
16、库系统统在八十年代代后期,开始始得到很大发发展。其理论论和技术日趋趋成熟。目前前几乎所有分分布式数据库库系统均是关关系型的,而而且几乎所有有主要关系数数据库系统均均已被扩充为为分布式数据据库系统。 (3)面面向对象代:开始九十年年代,在这一一代中的数据据库系统支持持面向对象的的数据模型。它它是数据库技技术与面向对对象程序设计计方法相结合合的产物。作作为新一代数数据库系统,现现在已有了一一些商品化系系统。但其具具体应用尚不不多。1.2 数据据库系统 本节主主要介绍有关关数据库结构构和数据库系系统组织的一一些基本知识识和概念,使使读者对数据据库系统的内内涵有一个较较为清楚的认认识。1.2.1 数据
17、库系统统概念 由于数数据库系统是是一个由许多多基本概念、技技术方法和其其应用对象所所组成的复杂杂的有机整体体。很难用一一两句话将其其描述清楚。但但为了使读者者对它有一个个总体的了解解,首先这里里我们试着给给出一个关于于数据库系统统的定义,即即数据库系统统中的数据库库是一个已被被规格化和结结构化且相互互关联的数据据集合,这些些数据中不存存在有害的或或无意义的冗冗余;数据的的组织与存储储结构与使用用这些数据的的程序相互独独立;数据库库中的数据可可同时为多个个应用服务;数据库中的的数据定义、输输入、修改和和检索等所有有操作均是按按一种公用的的且可控的方方式进行。根根据这一数据据库定义以及及实际应用的
18、的具体数据库库系统的情况况,我们可以以认为一个数数据库系统实实际上是由三三部分内容组组成,它们是是数据库、多多种应用和数数据库管理系系统。这三部部分之间的相相互关系如图图1.2所示。(1)数据库:相互关联的的且具有最小小冗余的数据据在其中按照照一定物理组组织结构存放放,并且从用用户和数据库库管理系统角角度来看,这这些数据又是是按一定逻辑辑结构组织的的。这种物理理组织结构和和逻辑组织结结构在最大程程度上与用户户所编制的应应用程序相互互独立。(2)多种应用用:数据库中中的数据,在在数据库管理理系统的控制制与管理之下下,可以同时时为多种不同同内容的应用用提供服务,即即可以为多个个不同目的用用户服务,
19、各各用户所操作作使用的数据据可以是相互互交叉的。用用户的操作方方式既可以按按以数据输入入/输出和数据据维护为主的的数据流量较较大的批处理理方式进行;也可以按以以查询为主的的数据流量较较小的联机处处理方式进行行,必要时还还可以通过编编程来完成对对数据库中数数据的各种操操作。(3)数据库管管理系统:它它一方面负责责对数据库中中的数据进行行管理和维护护;一方面为为用户操作数数据库中的数数据提供一种种公用的操作作方法,接收收用户的操作作命令,帮助助完成有关的的对数据库的的操作并保障障数据库的安安全。 根据对对数据库的定定义以及数据据库系统基本本组成及作用用的描述,我我们认为一个个的数据库系系统应该具有
20、有的以下五个个基本特点:【1】由于数据据库系统是从从整体角度考考虑数据的组组织,因此它它必须有能力力描述能够反反映客观事物物及其相互联联系的复杂数数据模型,使使用它能够对对数据本身及及相互间的各各种关系进行行充分描述,这这也是人们为为什么要采用用数据库系统统来进行数据据管理的主要要原因之一。目目前数据库系系统共提供了了四种数据模模型,它们是是层次数据模模型、网状数数据模型、关关系数据模型型和对象数据据模型,一种种类型数据库库系统通常只只提供上述其其中一种数据据模型描述方方法,即只支支持其中一种种数据模型的的数据逻辑组组织结构。图1.2 数据据库系统组成成【2】数据库中中数据的独立立性。为了说说
21、明这一点,首首先我们介绍绍两个概念,(1)数据在物理存储设备上的组织结构被称为数据的物理组织;(2)数据在用户或应用程序面前所表现出的组织结构被称为数据的逻辑组织;一种数据的逻辑组织,可以采用不同的物理组织来实现,物理组织的好坏影响着系统的性能和效率。在运行阶段中,由于性能的要求或存储设备的改变,从而引起数据物理组织的改变,这种改变称为数据的再组织。用户在编制应用程序时,则是根据数据的逻辑组织对数据进行操作的。因此数据物理组织的变化,不会影响数据的逻辑组织,因而也就不会影响已有的应用程序,这种情况就被称为数据的物理独立性;而数据的逻辑独立性是指当数据的逻辑组织发生变化时,如数据模型中增加了新的
22、记录类型,某一记录类型中增加了新的数据项等,原有应用程序的执行不受影响或影响最小。数据的独立性,包括物理和逻辑的独立性,都是由数据库管理系统进行维护的。【3】数据共享享,由于数据据库是从整体体的角度对数数据进行组织织的,并在保保证数据一致致性的情形之之下,使数据据库中的数据据为尽可能多多的用户提供供应用服务。这这些用户所使使用的数据可可以是交叉的的,即数据可可以共享。如如果数据不能能共享,数据据库中则必然然会出现大量量的冗余数据据,这样不仅仅造成存储空空间的浪费,更更主要的是由由此可能带来来数据不一致致的隐患。【4】数据库系系统的安全可可靠与完整,一一个数据库系系统的可靠性性体现在它的的软件系
23、统运运行故障率很很小以及在数数据库系统由由于各种意外外而出现故障障时,数据库库中的数据的的损失最小;安全性是指指数据库系统统对其所存储储的数据的保保护能力,能能够有效地防防止数据有意意无意地泄露露或篡改,控控制数据的授授权访问等。而而数据库系统统的完整性则则是指在多用用户操作数据据情况下,数数据能够保持持一致性。这这些特性可以以从以下几个个方面进行说说明:1安全性控控制 安全性性控制主要指指的是数据库库的保密性。并并不是每个用用户都能够存存取数据库中中所有数据的的,负责人和和全体工作人人员允许掌握握的数据范围围显然是有区区别的,数据据库系统把各各用户存取数数据的权利分分成若干等级级,如教学人人
24、员作为一个个用户可以登登录学生的成成绩,而学生生作为一个用用户则仅可以以查阅成绩而而无法对它进进行修改或删删除。通过对对各个用户授授于不同的使使用权限,以以确保数据库库免遭损害和和被非法使用用,通常是通通过采用口令令密码以及数数据库中数据据访问授权等等方法对使用用者操作数据据的合法权进进行检验,以以实现对数据据库中数据安安全性的保护护控制。2完整性控控制 所谓完完整性包括数数据的正确性性、有效性和和相容性。正正确的数据不不一定是有效效的。如若用用两位阿拉伯伯数字来表示示月份,在输输入14来代表月月份时显然是是无效的。数数据库系统应应提供尽可能能多的检验措措施,以确保保数据库中的的数据满足用用户
25、所要求的的各种约束要要求。3并发控制制 在多用用户操作使用用数据库系统统的情况下,不不同用户并行行地操作数据据库就可能引引起对数据库库的干扰,从从而使得数据据库中的数据据发生不一致致的问题。如如当甲用户从从数据库中预预定了仅剩的的一张机票之之后,若在数数据库尚来不不及将剩余的的机票数改为为零时,乙用用户又请求订订票时怎么办办?显然对这这种并发的操操作要采取某某种控制措施施,最常用的的方法是封锁锁技术,以排排除和避免这这种错误的发发生,保证数数据库中数据据的操作能够够正确完成执执行。4故障的发发现与恢复 由于数数据库系统在在运行过程中中很难保证不不产生故障、出出现意义或受受到破坏,而而且往往这些
26、些情况的发生生的时间都是是随机的,如如断电、用户户误操作等,而而重建一个数数据库往往要要花费很大的的精力和代价价,有时甚至至是不可能的的,因此数据据库系统应提提供应急保护护设施,一旦旦系统的软硬硬件发生故障障或用户误操操作导致系统统异常时,系系统应能够以以尽量小的代代价,尽快地地恢复数据库库的内容和系系统的正常运运行。【5】良好的人人机接口与性性能,任何数数据库系统最最终都是要和和用户打交道道,系统所具具有的各种功功能最终都需需要由用户来来进行操作使使用。简单易易学、操作简简便和用户界界面友好是任任何一个数据据库系统所必必须的。此外外系统的响应应速度,单位位时间内数据据的吞吐量也也是衡量数据据
27、库性能重要要指标。1.2.2 数据库结构构 在上一一小节,我们们介绍了数据据库系统所涉涉及的三个基基本成分以及及数据库系统统所应具有的的五个特点,在在这一小节中中,我们将略略为详尽地介介绍数据库系系统的主要组组成之一,数数据库的有关关知识。在数数据库技术中中,为了提高高数据库中数数据的逻辑独独立性和物理理独立性,采采用了分级(层层)方法,将将数据库中数数据的组织结结构划分成多多个级(层)。根根据美国国家家标准协会(ANSI)所提出的报告,数据库的数据组织结构可以分为三个相互关联的层次,它们分别是概念层数据模式、用户层数据模式和物理层数据模式。【1】概念层数数据模式,又又称为模式,它它是对数据库
28、库中数据整体体逻辑结构的的描述,它是是对数据库中中所有数据项项、记录类型型以及各记录录类型之间的的相互关系的的描述。这里里需要说明的的是,这种描描述仅仅是一一种逻辑组织织结构的描述述,是面向用用户需要而提提出的。而非非是真正的数数据存储组织织结构。提供供这一层次的的数据模式描描述,主要是是为了数据库库应用系统的的设计者,在在对与应用有有关的所有用用户的需求进进行统一综合合考虑之后提提出的,它能能够从总体上上,将这些需需求所涉及到到的数据及其其它们间的相相互联系,有有机地结合成成为一个逻辑辑整体。概念念层数据模式式的设计是数数据库设计的的最基本也是是最重要的任任务。【2】用户层数数据模式,又又称
29、为外模式式或子模式,它它是对以用户户为对象使用用数据库所涉涉及到的所有有数据局部逻逻辑结构的描描述。它是模模式一个子集集或者是一个个映射,一个个数据库只有有一个模式,但但通常都对应应着多个子模模式。子模式式所包含的数数据之间容许许有重叠,也也容许多个用用户共用同一一个子模式。提提供这一层次次的数据模式式描述,有以以下优点:1用户只要要按照描述自自己所使用数数据的子模式式编写应用程程序或输入操操作命令,就就可以完成满满足自己要求求的数据库操操纵工作。而而无需了解整整体数据模式式或数据的存存储组织结构构,从而是用用户接口变得得简单。2保证了数数据独立性。由由于用户的数数据库应用编编程仅仅是依依据子
30、模式的的数据逻辑结结构的描述,而而子模式一般般都是模式的的一个真子集集,因此若因因需要而对模模式所描述的的数据逻辑结结构进行部分分修改或扩充充时,如增加加新的数据项项或者增加新新的记录类型型等,只要不不影响子模式式从模式中的的原有的映射射关系,那么么用户依据子子模式所开发发的应用程序序,则就不受受模式变动的的任何影响。所所以提供模式式与子模式这这两层数据逻逻辑结构的描描述,就可以以较好地保证证数据的逻辑辑独立性。3数据能够够被较好地共共享。由于同同一模式可以以产生许多不不同的子模式式,这些子模模式所描述的的数据可以来来源于模式所所描述的全局局数据逻辑结结构中各种数数据项或记录录类型,因此此这样
31、做,这这样就可以很很方便地实现现数据的共享享,也就大大大减少了数据据可能存在的的冗余,从而而有利于保证证数据的一致致性、完整性性和正确性。4有利于保保证数据的安安全和保密。由由于用户是通通过其相应的的应用程序对对数据库中数数据进行操作作,因此他只只能操作其子子模式所描述述范围内的数数据,而无法法接触到其它它用户及其子子模式所描述述的数据,由由此就可以保保证数据库中中的数据具有有较好的安全全性。【3】物理层数数据模式,又又称为内模式式或物理模式式。它是对数数据库中所有有数据在物理理设备上实际际存储的组织织结构的描述述。数据库数数据根据这一一层数据模式式的描述,被被存放到若干干按各种组织织方式建立
32、起起来的物理文文件中,对这这些物理文件件的所有存取取访问的控制制都是由数据据库管理系统统统一控制的的。管理系统统负责完成从从概念层数据据模式到物理理层数据模式式之间的数据据映射,这样样由于所有的的数据库应用用程序或服务务所涉及到数数据又都是根根据模式的数数据描述得到到的,因此当当数据库数据据的物理组织织结构发生变变化时,概念念层数据模式式描述通常无无需修改,同同样也就保证证了与模式相相关联的子模模式和用户应应用程序也无无需修改,从从而使得数据据库系统中数数据也具有的的物理独立性性。图1.3 数据据库结构各模模式间关系 由于一一个数据库是是采用上述的的三个层结构构方式对其中中的数据组织织进行描述
33、的的,从而较好好地保证了数数据的逻辑独独立性和物理理独立性,方方便了用户对对数据库中数数据的操作使使用,减少了了数据冗余。这这三层模式之之间的相互关关系如图1.3所示。由由于数据库中中数据,实际际上是按照物物理层数据模模式进行存储储的,而概念念层数据模式式和用户层数数据模式都只只是对物理层层数据模式描描述的数据的的一种逐级(层层)地逻辑抽抽象,用户在在对数据库进进行操作时,都都必须通过数数据库管理系系统,来完成成从用户层数数据模式到概概念层数据模模式之间、概概念层数据模模式到物理层层数据模式之之间这两种映映射,当然这这两种映射是是由管理系统统自动完成的的,对用户是是透明的。 目前实实际应用的中
34、中高档数据库库系统的数据据组织结构基基本上是按照照上述三层模模式标准,来来描述数据组组织的。也有有一些中低档档数据库系统统,为了方便便一般用户的的操作使用,对对上述三层模模式标准进行行了一些简化化,它们往往往采用一层或或二层模式来来描述数据组组织结构,通通常都略去了了物理层的数数据模式描述述。1.2.3 数据库系统统 数据库库系统的核心心是数据库管管理系统(DDataBaase Maanagemment SSystemm,简称DBMMS),在它它的控制和帮帮助下,用户户可以建立、使使用、修改和和维护数据库库中数据。数数据库管理系系统是建立在在操作系统之之上的应用软软件平台。它它一般具有以以下三
35、个主要要功能:(1)提供操作作数据库的用用户高级接口口。具体讲就就是(A)提供数据据描述语言,供供用户对整个个数据库中的的数据进行各各种逻辑和物物理组织结构构描述,而这这些组织结构构的具体实现现细节,则由由DBMS完成成,用户不必必关心。(BB)提供数据据操纵语言,供供用户对数据据库中数据按按照其定义逻逻辑组织结构构进行各种操操作,如插入入、删除、修修改和查询等等,这些操作作的的具体实实现细节,则则也由DBMMS完成,用用户不必关心心。(C)同时还可可能提供其它它工具,如用用户界面生成成工具、报表表生成工具等等,帮助用户户更加容易地地对数据库的的操纵进行编编程。(2)管理数据据库。它主要要包括
36、以下功功能:(A)控制整个个数据库系统统的运行;(B)控制用户对数据库的并发性操作;(C)执行对数据库中数据的安全、保密、有效性和完整性检验;(D)实施对数据库中数据的检索、插入、删除、修改等操作。(E)维护数据库数据组织结构的完整和一致。(3)维护数据据库,主要包包括:(A)初始化时时数据库数据据的装入;(B)运行时记录下与用户、操作、系统状态和结果等信息的工作日志;(C)监视数据库性能;在性能变坏时,重新组织数据库;(D)在数据库系统的硬件或软件发生故障后,对数据库中受破坏的数据进行恢复。 这一小小节,将略为为详尽地介绍绍与数据库管管理软件有关关的一些基本本情况。(一)数据库系系统语言 数
37、据库库系统语言是是用户与数据据库系统进行行交互操作的的主要工具,是是连接用户与与数据库系统统的桥梁。数数据库语言功功能的强弱直直接影响到用用户使用数据据库系统的方方便程度。数数据库系统语语言通常包括括数据库数据据描述语言DDDL(Data Descrriptioon Lannguagee)和数据库库数据操作语语言DML(Data Manippulatiion Laanguagge)这两种种语言。数据据描述语言用用于描述数据据库中各种模模式的定义;而数据操作作语言则是用用于描述对数数据库中数据据所要进行的的各种操作。这这里我们将概概述这两种语语言一些基本本功能。【1】数据描述述语言 数据描描述语
38、言是建建立和使用数数据库的重要要工具,它是是用于描述数数据库各层数数据模式描述述的语言。数数据库管理系系统将对用户户用该语言所所描述的各层层数据模式,进进行编译,产产生可供数据据库系统操作作时所使用的的目标模式。对对应着数据库库的模式、子子模式和内模模式,数据描描述语言又可可分为模式描描述语言、子子模式描述语语言和内模式式描述语言。它它们各自的功功能如下:(1)模式描述述语言,它是是用来描述数数据库概念层层数据模式的的,即用于描描述数据库中中所有数据以以及它们间相相互关系的特特性。用模式式描述语言写写出的数据库库全体数据的的逻辑组织结结构的全部语语句的集合,通通常就被称为为一个模式,一一个模式
39、的主主要内容有: 给数据库总总体数据的逻逻辑组织结构构,即模式取取名 描述模式中中每个记录类类型名称,以以及其中各数数据项的名称称、数据类型型(如字符型型、数字型等等)和数据长长度等。 描述模式中中各记录类型型之间的相互互联系,如果果存在有相互互联系的话。 一个模模式仅仅是对对数据库概念念层逻辑数据据组织结构的的一个描述,并并非是概念层层逻辑数据本本身。与其它它程序语言一一样,模式描描述语言也有有自己的一套套清晰而又严严格的语句和和语法规则。对对应不同类型型的数据库系系统,如层次次数据库系统统和网状数据据库系统,它它们的模式描描述语言也有有很大差别,即即使是同一类类型数据库系系统,如关系系数据
40、库系统统,不同软件件商推出的系系统,其模式式描述语言也也不尽相同。但但有一点是一一致的,这就就是它们都必必须是可对上上面所说明的的,描述一个个模式所需要要包括的三个个基本方面进进行定义说明明。(2)子模式描描述语言,它它是用来描述述数据库用户户层数据模式式的,即用于于描述用户所所使用的数据据的逻辑数据据组织结构的的定义。用子子模式描述语语言写出的用用户局部数据据逻辑组织结结构的全部语语句的集合,通通常就被称为为一个子模式式,一个子模模式的主要内内容有: 给用户使用用数据库所涉涉及到局部数数据的逻辑组组织结构,即即子模式取名名 描述子模式式中所包含的的每个记录类类型及其中的的各数据项,这这些记录
41、类型型的名称以及及各数据项的的名称和长度度,可以与模模式中的定义义有所不同,但但这里主要是是描述子模式式中的记录类类型及其数据据项与模式中中记录类型及及其数据项之之间的对应映映射关系,子子模式中所描描述的记录及及其中的数据据项必须是已已在模式中定定义过的。 描述子模式式中各记录类类型之间的相相互联系。这这里同样是描描述子模式中中的记录间相相互联系与模模式中记录间间相互联系之之间的对应映映射关系。子子模式中所描描述的记录间间相互联系必必须是已在模模式中定义过过的。 与模式式描述语言不不同,子模式式描述语言有有时与编写应应用程序所采采用的其它程程序设计语言言相关,因此此根据子模式式描述语言所所适用
42、的编写写应用程序语语言,子模式式描述语言也也可分为COOBOL子模模式描述语言言、FORTTRAN子模模式描述语言言和C子模式描述述语言等。(3)内模式描描述语言,它它是用来描述述数据库中数数据在物理存存贮介质上的的组织结构和和存放方式等等,它与数据库库系统所运行行的硬件环境境特性相关。例例如,系统建建立了哪些物物理文件?文文件的存贮设设备是什么?文件是以什什么样的组织织方式等等,这这些都是由内内模式描述语语言来负责描描述的。 上述内内容仅仅是关关于数据描述述语言中一些些最基本的部部分。通常各各软件商生产产出的数据库库系统,往往往都要根据自自己的具体实实现情况,提提供出相应的的一整套数据据描述
43、语言的的规范,其中中也有一些数数据库系统,对对上述的数据据描述语言的的标准进行了了一些简化,只只给出一种或或二种描述语语言定义,或或干脆将数据据描述语言与与数据操作语语言归并到了了一起,以方方便用户使用用。如FoxxPro数据据库系统,以以及目前比较较流行的基于于SQL的多种种数据库系统统。【2】数据操作作语言 数据操操纵语言是用用户操纵数据据库中数据的的工具,用户户借助它来实实现从数据库库中检索数据据、向数据库库中添加数据据、删除数据据库中没有保保留价值的数数据或修改某某些发生变化化的数据等操操作。 数据操操纵语言通常常分为两种类类型,即宿主主式数据操纵纵语言和自含含式数据操纵纵语言。自含含
44、式数据操纵纵语言在数据据库系统中可可独立使用,是是一种完整的的语言,这类类语言使用简简单方便,很很适合于在终终端上使用。这这类语言的优优点是系统运运行效率较高高且使用简单单,缺点是它它的应用范围围常常受到限限制,例如要要提取出数据据库中的一些些数据进行某某种复杂运算算处理时,单单靠数据库系系统所提供的的这类数据操操纵语言有时时就很难做到到这一点。自自含式数据操操纵语言通常常包含以下基基本操作功能能:(A)从数据库库中选择满足足一定要求的的记录或联系系;(B)增加新的的记录或联系系到数据库中中;(C)修改数据据库中的记录录或联系;(D)删除数据库中的记录或联系; 另一种种是宿主式数数据操纵语言言
45、,它不能单单独使用,必必须嵌入到某某种程序设计计语言(如CC,COBOLL,FORTRRAN)之中中方能进行数数据库操作,这这种数据操纵纵语言语句仅仅负责对数据据库中数据的的操作,其它它复杂的数据据处理工作均均有主语言完完成,有时这这样做会使得得用户的应用用程序变得相相当复杂。由由于这样的程程序既包含了了主语言语句句,也包含了了数据操纵语语言语句,也也就使得主语语言原来的编编译程序便不不能完全编译译应用程序了了,解决这一一问题有两种种办法:(AA)重新设计计和实现一个个编译程序,使使之能编译包包括数据操纵纵语言和主语语言的所有语语句,这种办办法不大现实实经济;(BB)不修改主主语言编译程程序,
46、而是设设计一个预编编程序来对应应用程序中的的数据操纵语语言进行预编编译,将其首首先转换成用用主语言写的的程序,然后后再用主语言言的编译程序序来编译,以以产生最后的的目标程序。这这样做办法比比较可行,目目前已为许多多数据库系统统所采用。 实际上上许多数据库库系统除了提提供上述两种种数据操作语语言之外,还还提供了许多多编程工具和和或编程命令令,以便帮助助用户更加容容易地编制数数据库的应用用程序,如用用户界面生成成工具、报表表生成工具和和数据库APPI接口等。(二)数据库系系统运行管理理与控制软件件 数据库库系统运行管管理与控制软软件是数据库库管理系统软软件的实际组组成,它主要要包括语言编编译处理程
47、序序、系统运行行控制程序和和数据库日常常管理程序以以及数据库工工具等多种软软件。下面将将概述这几种种软件一些基基本功能(1)语言编译译处理程序。它它主要包括:(A)数据库系系统中各种数数据描述语言言的编译处理理程序,它们们的作用是将将各种采用模模式描述语言言所定义数据据模式编译成成DBMS所使使用的内部定定义目标模式式。(B)数据库系系统各种数据据操纵语言的的处理程序,它它们可将应用用程序中采用用数据操纵语语言所写的数数据操作语句句转换成其宿宿主语言编译译程序所能处处理的语句。(C)终端操作命令解释程序,它主要用于解释终端操作命令的意义,完成相应数据库系统命令的执行过程。(D)数据库控制命令解
48、释程序,它负责解释执行每一条数据库控制命令。(2)系统运行行控制程序。它它主要包括:(A)数据库系系统的总控程程序,它用于于检查访问的的合法性,以以决定一个访访问是否能使使用数据库。(B)并发控制程序。协调多个应用程序对数据库的操作,保证数据库中数据的一致性。(C)保密控制程序。实现对数据库数据的安全保密控制。(D)数据完整性控制程序。核对数据库完整性约束条件,以决定对数据库的操作是否有效。(E)数据库存取访问程序。实施对数据库中数据的操作,如执行检索、插入、修改、删除等操作。(F)通讯控制程序。实现用户程序与DBMS之间的通讯。(3)数据库日日常管理程序序。这主要包包括:(A)数据装入入程序。实现现将初始数据据装入数据库库。(B)系统恢复复程序。当软软硬件出现故故障时,利用用恢复程序将将数据库恢复复到正确状态态。(C)工作日志志程序。负责责记载进入数数据库的所有有访问,其内内容包括用户户名称、进入入系统时间、进进行何种操作作、数据变更更情况等等。使使每个用户每每次访问都留留下踪迹。(D)性能监测程序。监测操作执行时间与存贮空间占用情况,为数据库的再组织提供依据。(E)重新组织程序。当数据库系统性能变坏时,对数据库重新进行物理组