《数据库系统与数据模型.docx》由会员分享,可在线阅读,更多相关《数据库系统与数据模型.docx(31页珍藏版)》请在优知文库上搜索。
1、数据库系统与数据模型本章目的在于使读者对数据库系统的基本知识能有一个较为全面的熟悉,为今后的学习与工作打下基础。本章重点介绍了有关数据库结构与数据库系统组织的基本知识与基本概念,与常见的三种类型的数据库系统的特点。重点介绍关系数据库的有关知识。1.l数据管理技术进展史随着生产力的不断进展,社会的不断进步,人类对信息的依靠程度也在不断地增加。数据作为表达信息的一种量化符号,正在成为人们处理信息时重要的操作对象。所谓数据处理就是对数据的收集、整理、存储、分类、排序、检索、保护、加工、统计与传输等一系列工作全部过程的概述。数据处理的目的就是使我们能够从浩瀚的信息数据海洋中,提取出有用的数据信息,作为
2、我们工作、生活等各方面的决策根据。数据管理则是指对数据的组织、编码、分类、存储、检索与保护,它是数据处理的一个重要内容中心。数据处理工作由来以久,早在1880年美国进行人口普查统计时,就已使用穿孔卡片来存储人口普查数据,并使用机械设备来完成对这些普查数据所进行的处理工作。电子计算机的出现与其后其硬件、软件的迅速进展,加之数据库理论与技术的进展,为数据管理进入一个革命性阶段提供有力的支持。根据数据与应用程序相互依靠关系、数据共享与数据的操作方式,数据管理的进展能够分为三个具有代表性的阶段,即人工管理阶段、文件管理阶段与数据库管理阶段。1人工管理阶段这一阶段发生于六十年代往常,由于当时计算机硬件与
3、软件进展才刚刚起步,数据管理中全部工作,都务必要由应用程序员自己设计程序完成去完成。由于需要与计算机硬件与各外部存储设备与输入输出设备直接打交道,程序员们常常需要编制大量重复的数据管理基本程序。数据的逻辑组织与它的物理组织基本上是相同的,因此当数据的逻辑组织、物理组织或者存储设备发生变化时,进行数据管理工作的许多应用程序就务必要进行重新编制。这样就给数据管理的保护工作带来许多困难。同时由于一组数据常常只对应于一种应用程序,因此很难实现多个不一致应用程序间的数据资源共享。存在着大量重复数据,信息资源浪费严重。2文件管理阶段这一阶段发生于六十年代,由于当时计算机硬件的进展,与系统软件特别是文件系统
4、的出现与进展,人们开始利用文件系统来帮助完成数据管理工作,具体讲就是:数据以多种组织结构(如顺序文件组织、索引文件文件组织与直接存取文件组织等)的文件形式储存在外部存储设备上,用户通过文件系统而无需直接与外部设备打交道,以此来完成数据的修改、插入、删除、检索等管理操作;使用这种管理方式,不仅减轻进行数据管理的应用程序工作量,更重要地是,当数据的物理组织或者存储设备发生变化时,数据的逻辑组织能够不受任何影响,从而保证了基于数据逻辑组织所编制的应用程序也能够不受硬件设备变化的影响。这样就使得程序与数据之间具有了一定的相互独立性。但由于数据文件的逻辑结构完全是根据应用程序的具体要求而设计,它的管理与
5、保护完全是由应用程序本身来完成,因此数据文件的逻辑结构与应用程序密切有关,当数据的逻辑结构需要修改时,应用程序也就不可避免地需要进行修改;同样当应用程序需要进行变动时,常常又会要求数据的逻辑结构进行相应的变动。在这种情况下,数据管理中的保护工作量也是较大的。更要紧的是由于使用文件的形式来进行数据管理工作,常常需要将一个完整的、相互关联的数据集合,人为地分割成若干相互独立的文件,以便通过基于文件系统的编程来实现来对它们的管理操作。这样做同样会导致数据的过多冗余与增加数据保护工作的复杂性。比如人事部门、教务部门与医务部门对学生数据信息的管理,这三个部门中有许多数据是相同的,如姓名、年龄、性别等,由
6、因此各部门均是根据自己的要求,建立各自的数据文件与应用程序,这样不仅造成了大量的相同数据重复存储,而且在修改时,常常需要同时修改三个文件中的数据项,如修改学生年龄,此外若需要增加一个描述学生的数据项,如通讯地址,那么所有的应用程序就务必都要进行相应的修改。除此之外,使用文件系统来帮助进行数据管理工作,在数据的安全与保密等方面,也难以采取有效的措施加以操纵。3数据库管理阶段1在不断改进与完善文件系统的过程中,从六十年代后期开始,人们逐步研究与进展了以数据的统一管理与数据共享为要紧特征的数据库系统。即在数据在统一操纵之下,为尽可能多的应用与用户服务,数据库中的数据组织结构与数据库的应用程序相互间有
7、较大的相对独立性等。与以往前数据管理方法与技术相比,利用数据库系统来进行数据管理工作具有下列三个显著特点:(1)从整体角度组织数据数据库系统与文件系统的最大差别就在于前者在描述数据时,不仅仅是对数据本身进行描述,而且对数据之间的相互联系也进行了描述。因此在组织数据时是从一个相对较高的整体角度进行的,而不是仅仅局限于个别的数据管理应用场合。如前面提到的人事部门、教务部门与医务部门对学生数据的管理工作,在利用数据库系统来进行管理时,若从整体考虑,其数据的组织结构如图Ll所示。学生信息数据公用部分I,.I人事部门学生数据专用部分I教务部门厚生数据专用部分I医务部门学生数据专用部分图LI学生信息数据组
8、织结构使用这种数据组织不仅能够有效地解决了文件系统的数据组织中所存在的数据冗余与数据一致性保护的问题。更要紧的是它能够使人们从更高的全局角度出发,合理地组织数据,从而有利于更大范围内的数据资源的共享,提高信息的使用效率。(2)数据可为多个应用服务正由于数据库中的数据是从整体角度进行组织的,因此,数据库中所存储的数据往往就不仅局限于只为一二个应用提供服务,而是在更大范围内为仅可能多的应用提供服务,如图1.1所示的一个数据库中所存储的数据,就至少能够为三个部门的应用提供服务。而实际上如图Ll所示的数据组织结构仅仅只是一个学校数据管理数据库中的一小部分。与此同时由于数据库系统是以多级(层)组织模式对
9、数据进行组织的,各级(层)模式之间的映射是由数据库系统自己完成的,这就使得数据与程序之间能够具有较高的物理与逻辑相对独立性。正是这一点,给数据库中的数据为多个应用提供服务奠定了基础。事实上数据库的规模越大,所能够提供的应用服务就能够越多,也就越能表达出数据库在数据管理中的优势。当然这只是相对而言,随着数据库中数据规模的扩大,数据库应用系统的制作与保护的工作也在迅速增加。(3)有一个数据库系统的管理软件任何数据库系统都包含一个管理软件,即数据库系统的管理软件,通常又称之数据库管理系统,它负责统一管理数据库系统中所有数据资源,是数据库系统与用户应用之间的接口,通过它,用户能够不必要熟悉过多的计算机
10、硬件、软件与数据库本身许多专业知识,更不用去熟悉数据库系统是如何完成数据管理工作的具体细节,如文件如何打开、关闭、读、写等等,就能够通过编写一些较为简单数据库应用程序,很方便地完成在较高级别逻辑组织基础上的数据管理工作。除此之外,数据库管理系统还负责完成在对数据库进行并发访问时,保证数据一致性的并发操纵工作;保证数据安全性的访问操纵工作;与在数据库系统出现故障时,提供保证数据一致性与完整性的恢复机制等诸多数据库系统本身的各类管理操纵工作。因此这里也能够看出,数据库管理系统功能的强弱及其各项性能指标的好坏,是衡量数据库系统质量的一个极其重要的因素。利用数据库系统进行数据管理工作,不仅能够保证数据
11、的物理组织结构与存储设备与数据库应用程序之间保持相互独立性;同时也能够保证数据的逻辑组织结构与数据库应用程序之间保持最大可能的相互独立性,即当数据的逻辑组织结构发生变化时,数据库应用程序的变动被限制在最小的范围内。由此可大大地减少数据库应用程序的开发与保护的工作量。在数据库管理阶段,根据数据库系统本身所支持的数据模型的特点及所使用的相应数据库系统技术,能够认为数据库管理到目前为止已进展经历了三代,即层次网状模型代、关系模型代与面向对象模型代。(I)层次网状模型代:流行于六十至七十年代,在这一代中的数据库系统所支持的数据模型均是层次模型或者网状模型。世界上第一个数据库系统是于1964年由美国通用
12、电气公司开发成功的IDS(IntegratedDataStore),它就是基于网状模型的数据库系统。IBM公司于六十年代末推出了第一个商品化的层次数据库系统IMS(InformationManagementSytem),它们的出现与应用为数据库技术的进展奠定了基础。(2)关系模型代:流行于七十至八十年代,在这一代中的数据库系统所支持的数据的数据模型均是关系模型。以关系(表)形式组织数据。1970年COdd提出了关系数据模型,由于其具有严格的数学基础,抽象级别较高,且简单清晰,便于懂得应用。到了七十年代末,出现了很多关系数据库系统,其中具有代表性应首推IBM公司推出的SQLZDS与DB2两个商品
13、化关系数据库系统。进行八十年代以后,关系数据库系统已成为数据库系统进展的主流,几乎所有新推出的数据库系统产品都是关系型的,它们中不仅有用于大型机与小型机数据库产品,而且有可用于微机的数据库产品。市场上开始出现关系数据库的系列产品,这其中发行量较大且在我国用得较多的有OraCIe、Sybase、SysbaseInformixFoxPro等。随着微机与计算机网络的广泛普及与应用,分布式数据库系统在八十年代后期,开始得到很大进展。其理论与技术日趋成熟。目前几乎所有分布式数据库系统均是关系型的,而且几乎所有要紧关系数据库系统均已被扩充为分布式数据库系统。(3)面向对象代:开始九十年代,在这一代中的数据
14、库系统支持面向对象的数据模型。它是数据库技术与面向对象程序设计方法相结合的产物。作为新一代数据库系统,现在已有了一些商品化系统。但其具体应用尚不多。1.2数据库系统本节要紧介绍有关数据库结构与数据库系统组织的一些基本知识与概念,使读者对数据库系统的内涵有一个较为清晰的认识。1.2.1数据库系统概念由于数据库系统是一个由许多基本概念、技术方法与其应用对象所构成的复杂的有机整体。很难用一两句话将其描述清晰。但为了使读者对它有一个总体的熟悉,首先这里我们试着给出一个关于数据库系统的定义,即数据库系统中的数据库是一个已被规格化与结构化且相互关联的数据集合,这些数据中不存在有害的或者无意义的冗余;数据的
15、组织与存储结构与使用这些数据的程序相互独立;数据库中的数据可同时为多个应用服务;数据库中的数据定义、输入、修改与检索等所有操作均是按一种公用的且可控的方式进行。根据这一数据库定义与实际应用的具体数据库系统的情况,我们能够认为一个数据库系统实际上是由三部分内容构成,它们是数据库、多种应用与数据库管理系统。这三部分之间的相互关系如图1.2所示。(1)数据库:相互关联的且具有最小冗余的数据在其中按照一定物理组织结构存放,同时从用户与数据库管理系统角度来看,这些数据又是按一定逻辑结构组织的。这种物理组织结构与逻辑组织结构在最大程度上与用户所编制的应用程序相互独立。(2)多种应用:数据库中的数据,在数据
16、库管理系统的操纵与管理之下,能够同时为多种不一致内容的应用提供服务,即能够为多个不一致目的用户服务,各用户所操作使用的数据能够是相互交叉的。用户的操作方式既能够按以数据输入/输出与数据保护为主的数据流量较大的批处理方式进行;也能够按以查询为主的数据流量较小的联机处理方式进行,必要时还能够通过编程来完成对数据库中数据的各类操作。(3)数据库管理系统:它一方面负责对数据库中的数据进行管理与保护;一方面为用户操作数据库中的数据提供一种公用的操作方法,接收用户的操作命令,帮助完成有关的对数据库的操作并保障数据库的安全。根据对数据库的定义与数据库系统基本构成及作用的描述,我们认为一个的数据库系统应该具有的下列五个基本特点:1由于数据库系统是从整体角度考虑数据的组织,因此它务必有能力描述能够反映客观事物及其相互联系的复杂数据模型,使用它能够对数据本身及相互间的各类关系进行充分描述,这也是人们为什么要使用数据库系统来进行数