版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、89/89第一章 数据库系统概论 本章目的在于使读者对数据库系统的差不多知识能有一个较为全面的了解,为今后的学习和工作打下基础。本章重点介绍了有关数据库结构和数据库系统组织的差不多知识和差不多概念,以及常见的三种类型的数据库系统的特点。重点介绍关系数据库的有关知识。1.1 数据治理技术进展史 随着生产力的不断进展,社会的不断进步,人类对信息的依靠程度也在不断地增加。数据作为表达信息的一种量化符号,正在成为人们处理信息时重要的操作对象。所谓数据处理确实是对数据的收集、整理、存储、分类、排序、检索、维护、加工、统计和传输等一系列工作全部过程的概述。数据处理的目的确实是使我们能够从浩瀚的信息数据海洋
2、中,提取出有用的数据信息,作为我们工作、生活等各方面的决策依据。数据治理则是指对数据的组织、编码、分类、存储、检索和维护,它是数据处理的一个重要内容中心。数据处理工作由来以久,早在1880年美国进行人口普查统计时,就已采纳穿孔卡片来存储人口普查数据,并采纳机械设备来完成对这些普查数据所进行的处理工作。电子计算机的出现以及其后其硬件、软件的迅速进展,加之数据库理论和技术的进展,为数据治理进入一个革命性时期提供有力的支持。依照数据和应用程序相互依靠关系、数据共享以及数据的操作方式,数据治理的进展能够分为三个具有代表性的时期,即人工治理时期、文件治理时期和数据库治理时期。【1】人工治理时期 这一时期
3、发生于六十年代往常,由于当时计算机硬件和软件进展才刚刚起步,数据治理中全部工作,都必须要由应用程序员自己设计程序完成去完成。由于需要与计算机硬件以及各外部存储设备和输入输出设备直接打交道,程序员们常常需要编制大量重复的数据治理差不多程序。数据的逻辑组织与它的物理组织差不多上是相同的,因此当数据的逻辑组织、物理组织或存储设备发生变化时,进行数据治理工作的许多应用程序就必须要进行重新编制。如此就给数据治理的维护工作带来许多困难。同时由于一组数据常常只对应于一种应用程序,因此专门难实现多个不同应用程序间的数据资源共享。存在着大量重复数据,信息资源白费严峻。【2】文件治理时期 这一时期发生于六十年代,
4、由于当时计算机硬件的进展,以及系统软件尤其是文件系统的出现和进展,人们开始利用文件系统来关心完成数据治理工作,具体讲确实是:数据以多种组织结构(如顺序文件组织、索引文件文件组织和直接存取文件组织等)的文件形式保存在外部存储设备上,用户通过文件系统而无需直接与外部设备打交道,以此来完成数据的修改、插入、删除、检索等治理操作;使用这种治理方式,不仅减轻进行数据治理的应用程序工作量,更重要地是,当数据的物理组织或存储设备发生变化时,数据的逻辑组织能够不受任何阻碍,从而保证了基于数据逻辑组织所编制的应用程序也能够不受硬件设备变化的阻碍。如此就使得程序和数据之间具有了一定的相互独立性。 但由于数据文件的
5、逻辑结构完全是依照顾用程序的具体要求而设计,它的治理与维护完全是由应用程序本身来完成,因此数据文件的逻辑结构与应用程序紧密相关,当数据的逻辑结构需要修改时,应用程序也就不可幸免地需要进行修改;同样当应用程序需要进行变动时,常常又会要求数据的逻辑结构进行相应的变动。在这种情况下,数据治理中的维护工作量也是较大的。更要紧的是由于采纳文件的形式来进行数据治理工作,常常需要将一个完整的、相互关联的数据集合,人为地分割成若干相互独立的文件,以便通过基于文件系统的编程来实现来对它们的治理操作。如此做同样会导致数据的过多冗余和增加数据维护工作的复杂性。例如人事部门、教务部门和医务部门对学生数据信息的治理,这
6、三个部门中有许多数据是相同的,如姓名、年龄、性不等,由因此各部门均是依照自己的要求,建立各自的数据文件和应用程序,如此不仅造成了大量的相同数据重复存储,而且在修改时,常常需要同时修改三个文件中的数据项,如修改学生年龄,此外若需要增加一个描述学生的数据项,如通讯地址,那么所有的应用程序就必须都要进行相应的修改。除此之外,采纳文件系统来关心进行数据治理工作,在数据的安全和保密等方面,也难以采取有效的措施加以操纵。【3】数据库治理时期 1在不断改进和完善文件系统的过程中,从六十年代后期开始,人们逐步研究和进展了以数据的统一治理和数据共享为要紧特征的数据库系统。即在数据在统一操纵之下,为尽可能多的应用
7、和用户服务,数据库中的数据组织结构与数据库的应用程序相互间有较大的相对独立性等。与以往前数据治理方法和技术相比,利用数据库系统来进行数据治理工作具有以下三个显著特点:(1)从整体角度组织数据 数据库系统与文件系统的最大差不就在于前者在描述数据时,不仅仅是对数据本身进行描述,而且对数据之间的相互联系也进行了描述。因此在组织数据时是从一个相对较高的整体角度进行的,而不是仅仅局限于个不的数据治理应用场合。如前面提到的人事部门、教务部门和医务部门对学生数据的治理工作,在利用数据库系统来进行治理时,若从整体考虑,其数据的组织结构如图1.1所示。EMBED MSDraw * mergeformat图1.1
8、 学生信息数据组织结构 采纳这种数据组织不仅能够有效地解决了文件系统的数据组织中所存在的数据冗余以及数据一致性维护的问题。更要紧的是它能够使人们从更高的全局角度动身,合理地组织数据,从而有利于更大范围内的数据资源的共享,提高信息的使用效率。(2)数据可为多个应用服务 正因为数据库中的数据是从整体角度进行组织的,因此,数据库中所存储的数据往往就不仅局限于只为一二个应用提供服务,而是在更大范围内为仅可能多的应用提供服务,如图1.1所示的一个数据库中所存储的数据,就至少能够为三个部门的应用提供服务。而实际上如图1.1所示的数据组织结构仅仅只是一个学校数据治理数据库中的一小部分。与此同时由于数据库系统
9、是以多级(层)组织模式对数据进行组织的,各级(层)模式之间的映射是由数据库系统自己完成的,这就使得数据与程序之间能够具有较高的物理和逻辑相对独立性。正是这一点,给数据库中的数据为多个应用提供服务奠定了基础。事实上数据库的规模越大,所能够提供的应用服务就能够越多,也就越能体现出数据库在数据治理中的优势。因此这只是相对而言,随着数据库中数据规模的扩大,数据库应用系统的制作和维护的工作也在迅速增加。(3)有一个数据库系统的治理软件 任何数据库系统都包含一个治理软件,即数据库系统的治理软件,通常又称为数据库治理系统,它负责统一治理数据库系统中所有数据资源,是数据库系统与用户应用之间的接口,通过它,用户
10、能够不必要了解过多的计算机硬件、软件和数据库本身许多专业知识,更不用去了解数据库系统是如何完成数据治理工作的具体细节,如文件如何打开、关闭、读、写等等,就能够通过编写一些较为简单数据库应用程序,专门方便地完成在较高级不逻辑组织基础上的数据治理工作。除此之外,数据库治理系统还负责完成在对数据库进行并发访问时,保证数据一致性的并发操纵工作;保证数据安全性的访问操纵工作;以及在数据库系统出现故障时,提供保证数据一致性和完整性的恢复机制等诸多数据库系统本身的各种治理操纵工作。因此那个地点也能够看出,数据库治理系统功能的强弱及其各项性能指标的好坏,是衡量数据库系统质量的一个极其重要的因素。 利用数据库系
11、统进行数据治理工作,不仅能够保证数据的物理组织结构和存储设备与数据库应用程序之间保持相互独立性;同时也能够保证数据的逻辑组织结构与数据库应用程序之间保持最大可能的相互独立性,即当数据的逻辑组织结构发生变化时,数据库应用程序的变动被限制在最小的范围内。由此可大大地减少数据库应用程序的开发与维护的工作量。 在数据库治理时期,依照数据库系统本身所支持的数据模型的特点及所采纳的相应数据库系统技术,能够认为数据库治理到目前为止已进展经历了三代,即层次网状模型代、关系模型代和面向对象模型代。 (1)层次网状模型代:流行于六十至七十年代,在这一代中的数据库系统所支持的数据模型均是层次模型或网状模型。世界上第
12、一个数据库系统是于1964年由美国通用电气公司开发成功的IDS(Integrated Data Store),它确实是基于网状模型的数据库系统。IBM公司于六十年代末推出了第一个商品化的层次数据库系统IMS(Information Management Sytem),它们的出现与应用为数据库技术的进展奠定了基础。 (2)关系模型代:流行于七十至八十年代,在这一代中的数据库系统所支持的数据的数据模型均是关系模型。以关系(表)形式组织数据。1970年Codd提出了关系数据模型,由于其具有严格的数学基础,抽象级不较高,且简单清晰,便于理解应用。到了七十年代末,出现了许多关系数据库系统,其中具有代表性
13、应首推IBM公司推出的SQL/DS和DB2两个商品化关系数据库系统。进行八十年代以后,关系数据库系统已成为数据库系统进展的主流,几乎所有新推出的数据库系统产品差不多上关系型的,它们中不仅有用于大型机和小型机数据库产品,而且有可用于微机的数据库产品。市场上开始出现关系数据库的系列产品,这其中发行量较大且在我国用得较多的有Oracle、Sybase、Sysbase、Informix、FoxPro等。随着微机和计算机网络的广泛普及和应用,分布式数据库系统在八十年代后期,开始得到专门大进展。其理论和技术日趋成熟。目前几乎所有分布式数据库系统均是关系型的,而且几乎所有要紧关系数据库系统均已被扩充为分布式
14、数据库系统。 (3)面向对象代:开始九十年代,在这一代中的数据库系统支持面向对象的数据模型。它是数据库技术与面向对象程序设计方法相结合的产物。作为新一代数据库系统,现在已有了一些商品化系统。但其具体应用尚不多。1.2 数据库系统 本节要紧介绍有关数据库结构和数据库系统组织的一些差不多知识和概念,使读者对数据库系统的内涵有一个较为清晰的认识。1.2.1 数据库系统概念 由于数据库系统是一个由许多差不多概念、技术方法和其应用对象所组成的复杂的有机整体。专门难用一两句话将其描述清晰。但为了使读者对它有一个总体的了解,首先那个地点我们试着给出一个关于数据库系统的定义,即数据库系统中的数据库是一个已被规
15、格化和结构化且相互关联的数据集合,这些数据中不存在有害的或无意义的冗余;数据的组织与存储结构与使用这些数据的程序相互独立;数据库中的数据可同时为多个应用服务;数据库中的数据定义、输入、修改和检索等所有操作均是按一种公用的且可控的方式进行。依照这一数据库定义以及实际应用的具体数据库系统的情况,我们能够认为一个数据库系统实际上是由三部分内容组成,它们是数据库、多种应用和数据库治理系统。这三部分之间的相互关系如图1.2所示。(1)数据库:相互关联的且具有最小冗余的数据在其中按照一定物理组织结构存放,同时从用户和数据库治理系统角度来看,这些数据又是按一定逻辑结构组织的。这种物理组织结构和逻辑组织结构在
16、最大程度上与用户所编制的应用程序相互独立。(2)多种应用:数据库中的数据,在数据库治理系统的操纵与治理之下,能够同时为多种不同内容的应用提供服务,即能够为多个不同目的用户服务,各用户所操作使用的数据能够是相互交叉的。用户的操作方式既能够按以数据输入/输出和数据维护为主的数据流量较大的批处理方式进行;也能够按以查询为主的数据流量较小的联机处理方式进行,必要时还能够通过编程来完成对数据库中数据的各种操作。(3)数据库治理系统:它一方面负责对数据库中的数据进行治理和维护;一方面为用户操作数据库中的数据提供一种公用的操作方法,接收用户的操作命令,关心完成有关的对数据库的操作并保障数据库的安全。 依照对
17、数据库的定义以及数据库系统差不多组成及作用的描述,我们认为一个的数据库系统应该具有的以下五个差不多特点:【1】由于数据库系统是从整体角度考虑数据的组织,因此它必须有能力描述能够反映客观事物及其相互联系的复杂数据模型,使用它能够对数据本身及相互间的各种关系进行充分描述,这也是人们什么缘故要采纳数据库系统来进行数据治理的要紧缘故之一。目前数据库系统共提供了四种数据模型,它们是层次数据模型、网状数据模型、关系数据模型和对象数据模型,一种类型数据库系统通常只提供上述其中一种数据模型描述方法,即只支持其中一种数据模型的数据逻辑组织结构。图1.2 数据库系统组成【2】数据库中数据的独立性。为了讲明这一点,
18、首先我们介绍两个概念,(1)数据在物理存储设备上的组织结构被称为数据的物理组织;(2)数据在用户或应用程序面前所表现出的组织结构被称为数据的逻辑组织;一种数据的逻辑组织,能够采纳不同的物理组织来实现,物理组织的好坏阻碍着系统的性能和效率。在运行时期中,由于性能的要求或存储设备的改变,从而引起数据物理组织的改变,这种改变称为数据的再组织。用户在编制应用程序时,则是依照数据的逻辑组织对数据进行操作的。因此数据物理组织的变化,可不能阻碍数据的逻辑组织,因而也就可不能阻碍已有的应用程序,这种情况就被称为数据的物理独立性;而数据的逻辑独立性是指当数据的逻辑组织发生变化时,如数据模型中增加了新的记录类型,
19、某一记录类型中增加了新的数据项等,原有应用程序的执行不受阻碍或阻碍最小。数据的独立性,包括物理和逻辑的独立性,差不多上由数据库治理系统进行维护的。【3】数据共享,由于数据库是从整体的角度对数据进行组织的,并在保证数据一致性的情形之下,使数据库中的数据为尽可能多的用户提供应用服务。这些用户所使用的数据能够是交叉的,即数据能够共享。假如数据不能共享,数据库中则必定会出现大量的冗余数据,如此不仅造成存储空间的白费,更要紧的是由此可能带来数据不一致的隐患。【4】数据库系统的安全可靠与完整,一个数据库系统的可靠性体现在它的软件系统运行故障率专门小以及在数据库系统由于各种意外而出现故障时,数据库中的数据的
20、损失最小;安全性是指数据库系统对其所存储的数据的爱护能力,能够有效地防止数据有意无意地泄露或篡改,操纵数据的授权访问等。而数据库系统的完整性则是指在多用户操作数据情况下,数据能够保持一致性。这些特性能够从以下几个方面进行讲明:1安全性操纵 安全性操纵要紧指的是数据库的保密性。并不是每个用户都能够存取数据库中所有数据的,负责人和全体工作人员同意掌握的数据范围显然是有区不的,数据库系统把各用户存取数据的权利分成若干等级,如教学人员作为一个用户能够登录学生的成绩,而学生作为一个用户则仅能够查阅成绩而无法对它进行修改或删除。通过对各个用户授于不同的使用权限,以确保数据库免遭损害和被非法使用,通常是通过
21、采纳口令密码以及数据库中数据访问授权等方法对使用者操作数据的合法权进行检验,以实现对数据库中数据安全性的爱护操纵。2完整性操纵 所谓完整性包括数据的正确性、有效性和相容性。正确的数据不一定是有效的。如若用两位阿拉伯数字来表示月份,在输入14来代表月份时显然是无效的。数据库系统应提供尽可能多的检验措施,以确保数据库中的数据满足用户所要求的各种约束要求。3并发操纵 在多用户操作使用数据库系统的情况下,不同用户并行地操作数据库就可能引起对数据库的干扰,从而使得数据库中的数据发生不一致的问题。如当甲用户从数据库中预定了仅剩的一张机票之后,若在数据库尚来不及将剩余的机票数改为零时,乙用户又请求订票时如何
22、办?显然对这种并发的操作要采取某种操纵措施,最常用的方法是封锁技术,以排除和幸免这种错误的发生,保证数据库中数据的操作能够正确完成执行。4故障的发觉与恢复 由于数据库系统在运行过程中专门难保证不产生故障、出现意义或受到破坏,而且往往这些情况的发生的时刻差不多上随机的,如断电、用户误操作等,而重建一个数据库往往要花费专门大的精力和代价,有时甚至是不可能的,因此数据库系统应提供应急爱护设施,一旦系统的软硬件发生故障或用户误操作导致系统异常时,系统应能够以尽量小的代价,尽快地恢复数据库的内容和系统的正常运行。【5】良好的人机接口与性能,任何数据库系统最终差不多上要和用户打交道,系统所具有的各种功能最
23、终都需要由用户来进行操作使用。简单易学、操作简便和用户界面友好是任何一个数据库系统所必须的。此外系统的响应速度,单位时刻内数据的吞吐量也是衡量数据库性能重要指标。1.2.2 数据库结构 在上一小节,我们介绍了数据库系统所涉及的三个差不多成分以及数据库系统所应具有的五个特点,在这一小节中,我们将略为详尽地介绍数据库系统的要紧组成之一,数据库的有关知识。在数据库技术中,为了提高数据库中数据的逻辑独立性和物理独立性,采纳了分级(层)方法,将数据库中数据的组织结构划分成多个级(层)。依照美国国家标准协会(ANSI)所提出的报告,数据库的数据组织结构能够分为三个相互关联的层次,它们分不是概念层数据模式、
24、用户层数据模式和物理层数据模式。【1】概念层数据模式,又称为模式,它是对数据库中数据整体逻辑结构的描述,它是对数据库中所有数据项、记录类型以及各记录类型之间的相互关系的描述。那个地点需要讲明的是,这种描述仅仅是一种逻辑组织结构的描述,是面向用户需要而提出的。而非是真正的数据存储组织结构。提供这一层次的数据模式描述,要紧是为了数据库应用系统的设计者,在对与应用有关的所有用户的需求进行统一综合考虑之后提出的,它能够从总体上,将这些需求所涉及到的数据及其它们间的相互联系,有机地结合成为一个逻辑整体。概念层数据模式的设计是数据库设计的最差不多也是最重要的任务。【2】用户层数据模式,又称为外模式或子模式
25、,它是对以用户为对象使用数据库所涉及到的所有数据局部逻辑结构的描述。它是模式一个子集或者是一个映射,一个数据库只有一个模式,但通常都对应着多个子模式。子模式所包含的数据之间容许有重叠,也容许多个用户共用同一个子模式。提供这一层次的数据模式描述,有以下优点:1用户只要按照描述自己所使用数据的子模式编写应用程序或输入操作命令,就能够完成满足自己要求的数据库操纵工作。而无需了解整体数据模式或数据的存储组织结构,从而是用户接口变得简单。2保证了数据独立性。由于用户的数据库应用编程仅仅是依据子模式的数据逻辑结构的描述,而子模式一般差不多上模式的一个真子集,因此若因需要而对模式所描述的数据逻辑结构进行部分
26、修改或扩充时,如增加新的数据项或者增加新的记录类型等,只要不阻碍子模式从模式中的原有的映射关系,那么用户依据子模式所开发的应用程序,则就不受模式变动的任何阻碍。因此提供模式与子模式这两层数据逻辑结构的描述,就能够较好地保证数据的逻辑独立性。3数据能够被较好地共享。由于同一模式能够产生许多不同的子模式,这些子模式所描述的数据能够来源于模式所描述的全局数据逻辑结构中各种数据项或记录类型,因此如此做,如此就能够专门方便地实现数据的共享,也就大大减少了数据可能存在的冗余,从而有利于保证数据的一致性、完整性和正确性。4有利于保证数据的安全和保密。由于用户是通过其相应的应用程序对数据库中数据进行操作,因此
27、他只能操作其子模式所描述范围内的数据,而无法接触到其它用户及其子模式所描述的数据,由此就能够保证数据库中的数据具有较好的安全性。【3】物理层数据模式,又称为内模式或物理模式。它是对数据库中所有数据在物理设备上实际存储的组织结构的描述。数据库数据依照这一层数据模式的描述,被存放到若干按各种组织方式建立起来的物理文件中,对这些物理文件的所有存取访问的操纵差不多上由数据库治理系统统一操纵的。治理系统负责完成从概念层数据模式到物理层数据模式之间的数据映射,如此由于所有的数据库应用程序或服务所涉及到数据又差不多上依照模式的数据描述得到的,因此当数据库数据的物理组织结构发生变化时,概念层数据模式描述通常无
28、需修改,同样也就保证了与模式相关联的子模式和用户应用程序也无需修改,从而使得数据库系统中数据也具有的物理独立性。图1.3 数据库结构各模式间关系 由于一个数据库是采纳上述的三个层结构方式对其中的数据组织进行描述的,从而较好地保证了数据的逻辑独立性和物理独立性,方便了用户对数据库中数据的操作使用,减少了数据冗余。这三层模式之间的相互关系如图1.3所示。由于数据库中数据,实际上是按照物理层数据模式进行存储的,而概念层数据模式和用户层数据模式都只是对物理层数据模式描述的数据的一种逐级(层)地逻辑抽象,用户在对数据库进行操作时,都必须通过数据库治理系统,来完成从用户层数据模式到概念层数据模式之间、概念
29、层数据模式到物理层数据模式之间这两种映射,因此这两种映射是由治理系统自动完成的,对用户是透明的。 目前实际应用的中高档数据库系统的数据组织结构差不多上是按照上述三层模式标准,来描述数据组织的。也有一些中低档数据库系统,为了方便一般用户的操作使用,对上述三层模式标准进行了一些简化,它们往往采纳一层或二层模式来描述数据组织结构,通常都略去了物理层的数据模式描述。1.2.3 数据库系统 数据库系统的核心是数据库治理系统(DataBase Management System,简称DBMS),在它的操纵和关心下,用户能够建立、使用、修改和维护数据库中数据。数据库治理系统是建立在操作系统之上的应用软件平台
30、。它一般具有以下三个要紧功能:(1)提供操作数据库的用户高级接口。具体讲确实是(A)提供数据描述语言,供用户对整个数据库中的数据进行各种逻辑和物理组织结构描述,而这些组织结构的具体实现细节,则由DBMS完成,用户不必关怀。(B)提供数据操纵语言,供用户对数据库中数据按照其定义逻辑组织结构进行各种操作,如插入、删除、修改和查询等,这些操作的的具体实现细节,则也由DBMS完成,用户不必关怀。(C)同时还可能提供其它工具,如用户界面生成工具、报表生成工具等,关心用户更加容易地对数据库的操纵进行编程。(2)治理数据库。它要紧包括以下功能:(A)操纵整个数据库系统的运行;(B)操纵用户对数据库的并发性操
31、作;(C)执行对数据库中数据的安全、保密、有效性和完整性检验;(D)实施对数据库中数据的检索、插入、删除、修改等操作。(E)维护数据库数据组织结构的完整和一致。(3)维护数据库,要紧包括:(A)初始化时数据库数据的装入;(B)运行时记录下与用户、操作、系统状态和结果等信息的工作日志;(C)监视数据库性能;在性能变坏时,重新组织数据库;(D)在数据库系统的硬件或软件发生故障后,对数据库中受破坏的数据进行恢复。 这一小节,将略为详尽地介绍与数据库治理软件有关的一些差不多情况。(一)数据库系统语言 数据库系统语言是用户与数据库系统进行交互操作的要紧工具,是连接用户与数据库系统的桥梁。数据库语言功能的
32、强弱直接阻碍到用户使用数据库系统的方便程度。数据库系统语言通常包括数据库数据描述语言DDL(Data Description Language)和数据库数据操作语言DML(Data Manipulation Language)这两种语言。数据描述语言用于描述数据库中各种模式的定义;而数据操作语言则是用于描述对数据库中数据所要进行的各种操作。那个地点我们将概述这两种语言一些差不多功能。【1】数据描述语言 数据描述语言是建立和使用数据库的重要工具,它是用于描述数据库各层数据模式描述的语言。数据库治理系统将对用户用该语言所描述的各层数据模式,进行编译,产生可供数据库系统操作时所使用的目标模式。对应着
33、数据库的模式、子模式和内模式,数据描述语言又可分为模式描述语言、子模式描述语言和内模式描述语言。它们各自的功能如下:(1)模式描述语言,它是用来描述数据库概念层数据模式的,即用于描述数据库中所有数据以及它们间相互关系的特性。用模式描述语言写出的数据库全体数据的逻辑组织结构的全部语句的集合,通常就被称为一个模式,一个模式的要紧内容有: 给数据库总体数据的逻辑组织结构,即模式取名 描述模式中每个记录类型名称,以及其中各数据项的名称、数据类型(如字符型、数字型等)和数据长度等。 描述模式中各记录类型之间的相互联系,假如存在有相互联系的话。 一个模式仅仅是对数据库概念层逻辑数据组织结构的一个描述,并非
34、是概念层逻辑数据本身。与其它程序语言一样,模式描述语言也有自己的一套清晰而又严格的语句和语法规则。对应不同类型的数据库系统,如层次数据库系统和网状数据库系统,它们的模式描述语言也有专门大差不,即使是同一类型数据库系统,如关系数据库系统,不同软件商推出的系统,其模式描述语言也不尽相同。但有一点是一致的,这确实是它们都必须是可对上面所讲明的,描述一个模式所需要包括的三个差不多方面进行定义讲明。(2)子模式描述语言,它是用来描述数据库用户层数据模式的,即用于描述用户所使用的数据的逻辑数据组织结构的定义。用子模式描述语言写出的用户局部数据逻辑组织结构的全部语句的集合,通常就被称为一个子模式,一个子模式
35、的要紧内容有: 给用户使用数据库所涉及到局部数据的逻辑组织结构,即子模式取名 描述子模式中所包含的每个记录类型及其中的各数据项,这些记录类型的名称以及各数据项的名称和长度,能够与模式中的定义有所不同,但那个地点要紧是描述子模式中的记录类型及其数据项与模式中记录类型及其数据项之间的对应映射关系,子模式中所描述的记录及其中的数据项必须是已在模式中定义过的。 描述子模式中各记录类型之间的相互联系。那个地点同样是描述子模式中的记录间相互联系与模式中记录间相互联系之间的对应映射关系。子模式中所描述的记录间相互联系必须是已在模式中定义过的。 与模式描述语言不同,子模式描述语言有时与编写应用程序所采纳的其它
36、程序设计语言相关,因此依照子模式描述语言所适用的编写应用程序语言,子模式描述语言也可分为COBOL子模式描述语言、FORTRAN子模式描述语言和C子模式描述语言等。(3)内模式描述语言,它是用来描述数据库中数据在物理存贮介质上的组织结构和存放方式等,它与数据库系统所运行的硬件环境特性相关。例如,系统建立了哪些物理文件?文件的存贮设备是什么?文件是以什么样的组织方式等等,这些差不多上由内模式描述语言来负责描述的。 上述内容仅仅是关于数据描述语言中一些最差不多的部分。通常各软件商生产出的数据库系统,往往都要依照自己的具体实现情况,提供出相应的一整套数据描述语言的规范,其中也有一些数据库系统,对上述
37、的数据描述语言的标准进行了一些简化,只给出一种或二种描述语言定义,或干脆将数据描述语言与数据操作语言归并到了一起,以方便用户使用。如FoxPro数据库系统,以及目前比较流行的基于SQL的多种数据库系统。【2】数据操作语言 数据操纵语言是用户操纵数据库中数据的工具,用户借助它来实现从数据库中检索数据、向数据库中添加数据、删除数据库中没有保留价值的数据或修改某些发生变化的数据等操作。 数据操纵语言通常分为两种类型,即宿主式数据操纵语言和自含式数据操纵语言。自含式数据操纵语言在数据库系统中可独立使用,是一种完整的语言,这类语言使用简单方便,专门适合于在终端上使用。这类语言的优点是系统运行效率较高且使
38、用简单,缺点是它的应用范围常常受到限制,例如要提取出数据库中的一些数据进行某种复杂运算处理时,单靠数据库系统所提供的这类数据操纵语言有时就专门难做到这一点。自含式数据操纵语言通常包含以下差不多操作功能:(A)从数据库中选择满足一定要求的记录或联系;(B)增加新的记录或联系到数据库中;(C)修改数据库中的记录或联系;(D)删除数据库中的记录或联系; 另一种是宿主式数据操纵语言,它不能单独使用,必须嵌入到某种程序设计语言(如C,COBOL,FORTRAN)之中方能进行数据库操作,这种数据操纵语言语句仅负责对数据库中数据的操作,其它复杂的数据处理工作均有主语言完成,有时如此做会使得用户的应用程序变得
39、相当复杂。由于如此的程序既包含了主语言语句,也包含了数据操纵语言语句,也就使得主语言原来的编译程序便不能完全编译应用程序了,解决这一问题有两种方法:(A)重新设计和实现一个编译程序,使之能编译包括数据操纵语言和主语言的所有语句,这种方法不大现实经济;(B)不修改主语言编译程序,而是设计一个预编程序来对应用程序中的数据操纵语言进行预编译,将其首先转换成用主语言写的程序,然后再用主语言的编译程序来编译,以产生最后的目标程序。如此做方法比较可行,目前已为许多数据库系统所采纳。 实际上许多数据库系统除了提供上述两种数据操作语言之外,还提供了许多编程工具和或编程命令,以便关心用户更加容易地编制数据库的应
40、用程序,如用户界面生成工具、报表生成工具和数据库API接口等。(二)数据库系统运行治理与操纵软件 数据库系统运行治理与操纵软件是数据库治理系统软件的实际组成,它要紧包括语言编译处理程序、系统运行操纵程序和数据库日常治理程序以及数据库工具等多种软件。下面将概述这几种软件一些差不多功能(1)语言编译处理程序。它要紧包括:(A)数据库系统中各种数据描述语言的编译处理程序,它们的作用是将各种采纳模式描述语言所定义数据模式编译成DBMS所使用的内部定义目标模式。(B)数据库系统各种数据操纵语言的处理程序,它们可将应用程序中采纳数据操纵语言所写的数据操作语句转换成其宿主语言编译程序所能处理的语句。(C)终
41、端操作命令解释程序,它要紧用于解释终端操作命令的意义,完成相应数据库系统命令的执行过程。(D)数据库操纵命令解释程序,它负责解释执行每一条数据库操纵命令。(2)系统运行操纵程序。它要紧包括:(A)数据库系统的总控程序,它用于检查访问的合法性,以决定一个访问是否能使用数据库。(B)并发操纵程序。协调多个应用程序对数据库的操作,保证数据库中数据的一致性。(C)保密操纵程序。实现对数据库数据的安全保密操纵。(D)数据完整性操纵程序。核对数据库完整性约束条件,以决定对数据库的操作是否有效。(E)数据库存取访问程序。实施对数据库中数据的操作,如执行检索、插入、修改、删除等操作。(F)通讯操纵程序。实现用
42、户程序与DBMS之间的通讯。(3)数据库日常治理程序。这要紧包括:(A)数据装入程序。实现将初始数据装入数据库。(B)系统恢复程序。当软硬件出现故障时,利用恢复程序将数据库恢复到正确状态。(C)工作日志程序。负责记载进入数据库的所有访问,其内容包括用户名称、进入系统时刻、进行何种操作、数据变更情况等等。使每个用户每次访问都留下踪迹。(D)性能监测程序。监测操作执行时刻与存贮空间占用情况,为数据库的再组织提供依据。(E)重新组织程序。当数据库系统性能变坏时,对数据库重新进行物理组织。(F)转贮、编辑、打印程序、用于转贮数据库的部分和全部数据,或者编辑打印数据等。(4)数据库工具软件。它要紧是为了
43、方便建立数据库系统的具体应用,而提供各种工具软件。其中有数据库系统应用程序界面制作工具,报表制作工具等许多软件工具。 最后我们简单介绍一下建立数据库应用系统的差不多知识。数据库应用系统的设计方法我们将在第五章详细介绍。与其它应用软件开发与应用过程一样,数据库系统的应用,也有一个生命周期,它要紧由以下五个时期构成:(1)数据库系统的规划。它包括系统的应用范围和功能的确认、应用环境的分析、DBMS及其支撑环境的选择、硬件配置,人员的配备和培训,投资估算和效益分析等活动。(2)数据库系统的设计。它包括了解应用系统的信息和处理需求,设计满足其要求的整体数据模型及处理流程,并结合具体所采纳的数据库系统、
44、硬件环境和系统软件平台的特点,设计出符合具体数据库系统应用要求的数据模型,及其应用软件的流程图。选择合适的商用数据库系统,来设计、建立、治理和维护数据库系统,使之能够为用户提供最佳服务。(3)数据库系统的建立。首先依照数据库系统的设计结果,定义数据模式,规定访问权限,设置完整性约束。然后预备数据,对其进行正确性校验后,将其录入,与此同时,完成要紧应用程序的编制工作。(4)数据库系统的治理。它包括应用软件的编制与修改、数据库的重新组织、数据库系统中数据的备份与恢复等工作。保证数据库系统的完好,为用户提供可靠的服务。(5)数据库系统的调整。由于应用数据库系统的用户所在的硬环境,如单位组织调整、人员
45、变化等,软环境,如人员素养、应用要求等,发生变化,在数据库系统运行一段时刻后,往往都需要进行扩充与重构,即需要对数据库系统的各种数据模式的定义和处理流程进行适当的修改和补充,使之适应新的形势。 一般与一个数据库系统的应用系统有关的人员,有以下四类,他们是:(A)系统治理员,他的任务要紧是定义数据库系统的物理存储模式,分配并治理各用户操作的权限,治理日常数据库系统的运行工作,以及维护数据库系统中的数据,保证其完整和安全、(B)系统分析员,他们的任务要紧是,从整体上分析数据库系统应用所涉及的客观信息结构和内容,定义相应的数据库系统的全局数据模式;(C)应用程序员,他们的任务要紧是分析具体用户的信息
46、处理需要,定义数据库系统的子模式,编写具体数据库应用程序;(D)用户,他们具体的数据库应用程序和数据库的最终使用者。(三)数据库系统访问示例 那个地点,我们介绍一下一般用户读取数据库系统中数据时,数据库的工作过程(如图1.4所示),以便使读者能够从中了解DBMS是如何来进行数据库系统的治理工作的。用户访问数据库系统中数据的过程实际上确实是用户与DBMS进行交互的过程。其具体步骤如下:()用户通过应用程序指明它使用的子模式名称,发出数据操作命令,DBMS通过处理用户的应用程序,接收该操作命令。()DBMS按照顾用程序中的子模式名称,调出相应的子模式,核对该用户的访问权利、操作合法性等,若检查通过
47、则接着执行,否则拒绝执行并报告出错信息。()DBMS按模式确定子模式中操作所涉及的记录类型,并通过模式到存储模式的映射,找出这些记录类型的相应存贮模式。()DBMS查阅存贮模式,确定应从哪个物理文件、存贮设备以及调用哪个访问程序去读取所需的记录。()DBMS的访问程序找到有关的物理数据地址,向操作系统发出读操作命令。()操作系统收到DBMS发来的命令后,启动系统的输入输出程序完成读操作,把要读取的数据块送到内存中的系统缓冲区。()DBMS收到操作系统关于输入输出操作结束回答后,按模式、子模式的定义,将已读入到系统缓冲区的内容映射为用户程序所要的逻辑记录,并送到用户的工作区中。()DBMS向应用
48、程序发送反映操作执行结果的状态信息(由状态字描述),如“执行成功”、“数据未找到”等。()记载DBMS系统的工作日志。(10)应用程序检查状态信息,如执行成功,则可对程序工作区中的数据作正常处理,否则按出错类型决定程序的后续处理。 用户修改一个记录的操作步骤也是类似的。首先读出所需记录,在程序工作区中修改好,而后再把修改好的记录写回数据库中原记录的位置上。图1.4 数据库的工作过程1.3 实体联系模型 本节要紧介绍有关实体联系模型的概念和差不多知识,使读者了解并掌握差不多的实体联系模型的使用方法。1.3.1 模型的组成 我们都明白数据是表达信息的一种重要的量化符号,是信息存在的一种重要形式。而
49、所谓数据模型则是数据特征的一种抽象。它不是描述个不的数据,而是描述数据的共性。一般来讲,数据模型包含两方面内容,它们是:(1)数据的静态特性,这要紧包括数据的差不多结构、数据间的联系和数据中的相互约束等特性;(2)数据的动态特性,这要紧包括对数据操作的方法。在数据库应用系统中,建立反映客观信息范畴的数据模型是数据库应用系统设计中最为重要的,也最差不多的步骤之一,它是连接客观信息世界和数据库系统数据逻辑组织的桥梁。也是计算机专业人员与非计算机专业的用户之间进行交流的共同基础。那个地点我们将要介绍的数据模型确实是实体联系数据模型(又称数据模型),它与传统的数据模型有所不同。数据模型是面向现实世界,
50、而不是面向实现方法的,它要紧是用于描述现实信息世界中数据的静态特性。而不涉及数据的处理过程。但由于它简单易学,因而在数据库系统应用的设计中,得到了广泛应用。 E-R数据模型是P.P.Chen在1976年提出的,它为数据库系统应用的设计人员提供了三个差不多的模型描述成分,它们是实体、联系和属性。E-R数据模型确实是利用这三个成分来描述反映一个客观信息世界内容的数据模型。在数据库应用系统设计中,通常还需要将这一数据模型转换为各数据库治理系统所支持的具体数据模型,即层次数据模型、网状数据模型和关系数据模型等。由此我们也能够看出E-R数据模型是从现实信息世界到数据库系统中数据逻辑组织结构设计之间的一个
51、中间时期,只因此是如此,要紧是因为假如直接将现实世界的信息,构造成某个DBMS所能同意的数据逻辑组织结构,其工作往往是十分复杂而且难度也专门大,应用设计人员不仅要考虑现实世界各种信息及其内在的联系,以及各种具体应用对数据处理的要求,而且还要考虑采纳某种特定的数据库系统后,所面临的各种条件限制,如此就大大增加了应用系统设计的复杂性。 下面我们就介绍一下数据模型中的三个差不多要素,即实体、联系和属性的有关差不多知识。【1】实体 数据是用来描述现实世界中各种事物的。而要描述的对象是形形色色的,有具体的,也有抽象的;有物理上存在的,也有是概念性的;如张三、汽车、运动、兴趣、神灵等。这些对象的共同特征是
52、能够相互有区不,否则就会被认为是同一种对象。凡是能够相互区不开并能够被我们所识不的事、物、概念等对象均可认为是实体。它是具有共同某些特征的一类具体实体,即可认为是一实体集合,对这一集合中所有实体共同特征的描述,称为实体型。实体集中的各具体实体,称为该实体型的值或实体值。关于同一实体集中的不同实体其特征值不完全相同,并由此可加以区分。如学生实体集,事实上体型能够通过学号、姓名、年龄等特征加以描述。学生实体集中的不同的学生实体,通过其不同的学号又可加以区分。例如学号为881001姓名为李平的学生是一个具体实体,显然不同于学号为881002姓名为王明的学生那个具体实体。【2】联系 在现实世界中,任何
53、事物都不是孤立存在的。实体之间存在着各种相互联系,例如教师与学生之间至少存在一种联系,即“教学”联系,商店与商品之间存在一种供应联系,这些差不多上不同类型的实体之间存在的联系。还有一种联系是存在于同一类型实体之间的,例如学生实体型里,某一学生是班长,显然他和其他学生间也存在着一种“领导”联系。在数据模型中,通常将不同实体型之间存在的联系归纳成三种不同类型,它们是:()一对一的联系。其定义是:关于实体型中的一个实体,在实体型中至多有一个实体与之对应,反之关于实体型中的一个实体,在实体型中至多有一个实体与之对应。如此的联系被称为是一对一的联系。例如两个实体型分不为国家和总统,显然,一个国家只有一个
54、总统,而一个总统只能对应于一个国家;又如系和系主任两个实体型,一个系只能有一名系主任,而一个系主任只能领导一个系。这些显然差不多上两种实体型之间一对一联系的情况。通常又将这种联系记为:的联系。()一对多的联系。其定义是:关于实体型中的一个实体,实体型中能够有若干个实体与之对应;反之,关于实体中的一个实体,则实体型中只能有一个实体与之对应。如此的联系被称为是一对多的联系,例如两个实体型分不为系和教师,一个系能够有若干教师,一个教师只能对应一个系,显然这是两种实体型之间一对多的联系。通常将这种联系记为:的联系。:的联系有时可看成是:的联系的一种专门情况。()多对多的联系。其定义是:关于实体型中的一
55、个实体,实体型中能够有若干个实体于之对应;反之,关于实体型中的一个实体,则实体型中也有若干个实体与之对应,如此的联系被称为是多对多的联系。例如两个实体型分不为教师和课程,一个教师能够教若干门课,一门课又能够有若干个教师讲。通常将这种联系记为:的联系。以上介绍的三种类型的联系不仅能够用于描述二个不同类型的实体,还能够用于描述多个不同类型的实体。如在现实世界中,存在着许多多个实体型相互之间都有联系的情况。如教师、课程、学生三个实体型之间就存在一种联系,一个教师能够教若干门课,一门课又能够有若干个教师教授;一个教师能够教若干学生,一学生又能够有若干个教师教;一门课能够有若干学生选,一学生又能够选若干
56、门课。有时为了方便我们也能够将这三个实体型之间联系,分解成每两个实体型之间均存在一个多对多的联系。 最后我们再介绍一种较为专门的联系,这确实是同一实体型中的不同的具体实体之间也能够存在有某联系,如职工实体型,在这一实体型中的实体有普遍职工,也有经理,经理与职工之间有一种领导与被领导的关系。在数据模型中,通常我们将这种专门的联系,称为联系。【3】属性 实体型是对实体集合中所有实体共同描述特征的集合,这些实体所共有的描述特征就称为实体的属性。如学生实体型,其共有的描述特征通常有学号、姓名、年龄、性不等,它们差不多上学生实体型的属性。这些属性的一组值就表示了一个具体的实体。在一个具体的实体型中,其中
57、的每一个属性都有其取值范围,这一范围称为属性的值域。一个属性的值域能够是整数、浮点数、字符串等。如学生实体型中的年龄属性的值域确实是一定区间中的整数,而姓名属性的值域确实是符合一定要求的字符串等。实体型中的某个(些)属性的取值能够用来唯一区分实体型中具体实体,如学生实体型中的学号属性的取值就能够用来区分每一个学生。这种属性又可称为该实体型的标识码。 不仅实体型有属性,联系也能够有属性,如学生和课程这两个实体型,“选课”是它们之间的一种联系,学生选修某门课程取得了某个成绩,显然成绩描述是的一个属性,但它既不是学生实体型中的一个属性,也不是课程实体型中的一个属性。而成绩属性的具体取值,既依靠于某个
58、具体的学生,又依靠于某个具体的课程,因此我们将成绩属性定义为是学生和课程这两个实体型之间选课联系的属性。又如机器和零件这两个实体型,“构造”是它们之间的一种联系,数量这一属性,即需要多少数量的零件构造某一个机器,则是构造这一联系的属性。 充分认识和理解联系能够有属性这一概念,关于正确地建立或理解数据模型,以及建立或理解数据库的数据逻辑组织结构都具有十分重要的意义。 实体、属性和联系三个差不多要素的概念是有明确区分的,然而关于某个具体数据对象,究竟它应该被认为是实体,依旧属性或联系,常常需要依照具体应用背景和用户的观点,方可确定。1.3.2 模型的表示 前面,我们介绍数据模型中的三个差不多的要素
59、,那个地点我们将介绍使用并描述数据模型。使用数据模型来分析描述现实信息世界中的各种信息对象的要紧分析步骤如下:(1)首先依照数据库系统应用的整体要求,确定所涉及的现实信息世界中的所有信息对象的范围。(2)依照第一步骤的结论,确定能够描述所要求所有信息对象的各实体及属性。(3)依照(1)、(2)二个步骤的结论,确定能够描述所要求所有信息对象的各实体间的联系。(4)依照(3)步骤的结论,确定能够描述所要求所有信息对象的各实体间的联系的属性。在完成了上述的分析步骤,就能够获得能够描述现实信息世界的数据模型。 为了能够形象地描述出数据模型,那个地点我们介绍一种数据模型的表示方法,即用长方型来表示实体类
60、型,联系用菱型框及与实体型相连的线表示,将联系的类型写在线上或线的附近,在长方形框内和菱形框内分不写上实体型名称和联系名称,用椭圆表示实体类型和联系的属性,将其与所描述的相应的实体类型或联系用线相连,在椭圆框内写上属性的名称。如此我们就能够得到一个能够较好地描绘出实体、实体与实体之间相互联系以及有关实体和联系属性的结构图,那个图通常就被称为图。获得图的全部过程通常就被称为图方法。 最后为了讲明上面我们所介绍的有关图的建立和表示方法,那个地点我们介绍一个制造工厂数据库应用系统中所涉及的部分信息对象所构成的图。如图1.5所示。图1.5 制造工厂信息的图 在图1.5中,我们共描述了五个实体类型,它们
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 地面辐射供暖系统地面砖面层施工技术探讨
- 初一理化生神经系统组成
- 语法练习和答案-定语从句练习
- 高中语文专题3文明的对话第12课传统文化与文化传统课件苏教版必修
- 2024-2025学年八年级上学期英语期中复习之Unit1~unit4语法复习及练习(译林版)
- 专业技术人员继续教育答案职业生涯规划与管理满分
- 六年级心理健康教育教案参考修改版
- 汇率制与汇率政策
- Unit 5 A healthy lifestyle Reading2课时练(无答案)
- 部编版二上语文识字4田家四季歌图文
- 2016新编过盈量与装配力计算公式
- 《建筑施工高处作业安全技术规范》(-)-全文
- 妊娠患者非产科手术麻醉专家讲座
- 家具制造业生产管理制度大全
- 金融科技创新对金融服务的影响研究
- 2023版思想道德与法治专题6 遵守道德规范 锤炼道德品格 第2讲 吸收借鉴优秀道德成果
- 子宫破裂的护理查房201711
- 水利水电工程施工技术-钢筋工程
- 中医内科汗证
- 学校食堂食品安全风险清单
- YY/T 0612-2022一次性使用人体动脉血样采集器(动脉血气针)
评论
0/150
提交评论