资源描述
本节提要本节提要n一、数据库基本概念n数据库n数据库管理系统n数据库系统n二、数据库体系结构与工作原理n组成n体系结构n三、关系数据库参考书n1.冯玉才,数据库系统基础(第二版),武汉,华中理工大学出版社,1993n2.萨师煊 王珊,数据库系统概论,北京,高等教育出版社,1997.9n3.n张健沛,数据库原理及应用系统开发,1999年4月n4.史济民 汤观全 编著,Visual Foxpro 及其应用系统开发,北京,清华大学出版社,2000.1第四章 资源信息系统数据库原理与应用设计n数据库技术是本世纪数据库技术是本世纪6060年代开始兴起的一门信年代开始兴起的一门信息管理自动化的新兴学科,是计算机科学的一息管理自动化的新兴学科,是计算机科学的一个重要分支。数据库技术是一门综合性的软件个重要分支。数据库技术是一门综合性的软件技术,是编译原理、数据结构、操作系统和程技术,是编译原理、数据结构、操作系统和程序设计许多软件知识的综合应用。随着计算机序设计许多软件知识的综合应用。随着计算机技术的蓬勃发展,数据库技术的应用越来越广技术的蓬勃发展,数据库技术的应用越来越广泛,几乎深入到各个领域、各个部门。本章首泛,几乎深入到各个领域、各个部门。本章首先介绍数据库基本知识,有关数据的基本概念先介绍数据库基本知识,有关数据的基本概念和持征,然后介绍资源数据库的结构设计,数和持征,然后介绍资源数据库的结构设计,数据库开发最后资源数据库的应用情况。据库开发最后资源数据库的应用情况。一、数据库基本概念n数据数据 描述事物的符号记录称为数据。描述事物的符号可以是数字,也可以是文字、图形、图像、声音、语言等。数据本质上是对信息的一种符号化表示、是用来载荷信息的。n数据处理数据处理也称为信息处理。数据处理实际上就是利用计算机对各种形式的数据进行处理。它包括:数据采集、整理、编码和输入,有效地把数据组织到计算机中,由计算机对数据进行一系列储存、加工、计算、分类、检索、传输、输出等操作过程。数据处理的目的是从大量原始的数据中抽取和推导出对人们有价值的信息以作为行动和决策的依据。n数据管理数据管理 数据管理是指数据的收集、整理、组织、存储、检索、维护和传送等各种操作,是数据处理中的基本环节,是任何数据处理任务必须具有的共同部分。n数据管理是数据库系统的基本功能数据管理概述数据管理概述n人类活动的整个历史,离不开对信息和数据的收集、保存和处理。像银行、统计、仓库等部门的工作人员,无时无刻不在和大量的数据打交道。然而,随着社会的不断进步,人类社会积累的信息,正以“几何级数”的速度增长。因此人们过去传统的、落后的数据处理方法,已经远远适应不了形势发展的需要了。所以长期以来,如何妥善地保存和管理数据一直是人们十分关注的课题。人们对数据处理现代化的要求日益迫切。数据管理技术的发展历程n人工管理阶段人工管理阶段n数据不保存数据不保存n应用程序管理数据应用程序管理数据n数据不共享数据不共享n数据不具独立性数据不具独立性应用程序应用程序1数据集数据集1应用程序应用程序2数据集数据集2应用程序应用程序n数据集数据集nn数据管理:人工管理阶段、文件系统阶段、数据库系统阶段n文件系统阶段文件系统阶段n数据保存数据保存n文件系统管理数据文件系统管理数据n数据共享差,冗余大数据共享差,冗余大n数据独立性差数据独立性差应用程序应用程序1文件文件1应用程序应用程序2文件文件2应用程序应用程序n文件文件n存取方法存取方法数据管理技术的发展历程n数据库系统克服了以前所有处理方式的缺点,试图提供一种完美的、更高级的数据管理方式。它的基本思想是解决多用户数据共享的问题,实现对数据的集中统一管理,具有较高的数据独立性,并为数据提供各种保护措施。这一时期,数据库管理软件作为用户与数据的接口,程序和数据的关系如图所示。应用程序应用程序1应用程序应用程序2应用程序应用程序nDBMSDBMS数数据据库库数据库系统中应用程序与数据库之间的关系数据库系统中应用程序与数据库之间的关系n数据库系统阶段:数据库系统阶段:数据结构化:数据结构化:学号学号姓名姓名性别性别年龄年龄系别系别政治面貌政治面貌籍贯籍贯家庭成员家庭成员学号学号姓名姓名性别性别年龄年龄系别系别政治面貌政治面貌籍贯籍贯姓名姓名与本人关系与本人关系详细情况详细情况数据管理技术的发展历程文件中记录内部有结构,但记录间无联系901李明男19计算机团员辽宁沈阳李义山父子张玉母子李平弟弟数据管理技术的发展历程学号学号姓名姓名性别性别年龄年龄系别系别 家庭出身家庭出身 籍贯籍贯政治面貌政治面貌日日期期地点地点 学历学历名名姓姓名名与本人关与本人关系系详细情详细情况况日日期期奖惩条奖惩条目目课程号课程号 成绩成绩课程名课程名 学学时时数据库系统实现整体数据结构化数据库系统实现整体数据结构化数据管理技术的发展历程n与人工管理和文件系统相比,数据库系统主要有以下持点:与人工管理和文件系统相比,数据库系统主要有以下持点:n数据结构化数据结构化 在数据库系统中,数据不再针对某一应用,而是在数据库系统中,数据不再针对某一应用,而是面向整个组织,实现了整体数据的结构化,用数据模型描述数面向整个组织,实现了整体数据的结构化,用数据模型描述数据结构。这是数据库系统与文件系统的本质区别。据结构。这是数据库系统与文件系统的本质区别。n数据共享性高,冗余度低数据共享性高,冗余度低 从整体角度看待和描述数据,数从整体角度看待和描述数据,数据不再是面向某个应用而是面向整个系统,因此数据可以被多据不再是面向某个应用而是面向整个系统,因此数据可以被多个用户、多个应用共享使用。数据共享减低了数据冗余度,节个用户、多个应用共享使用。数据共享减低了数据冗余度,节省存储空间,而且可以避免数据的不一致性。省存储空间,而且可以避免数据的不一致性。n数据独立性高数据独立性高 数据库系统具有高度的物理独立性和一定的逻辑独立数据库系统具有高度的物理独立性和一定的逻辑独立性。物理独立性是指用户的应用程序与数据库的物理结构是相互独立的,即性。物理独立性是指用户的应用程序与数据库的物理结构是相互独立的,即当数据的物理存储改变时,应用程序不用改变。逻辑独立性是指用户曲应用当数据的物理存储改变时,应用程序不用改变。逻辑独立性是指用户曲应用程序与数据库的逻辑结构是相互独立的,即当数据的逻辑结构改变时,应用程序与数据库的逻辑结构是相互独立的,即当数据的逻辑结构改变时,应用程序不用改变。程序不用改变。n数据由数据由DBMS统一管理和控制统一管理和控制 数据库管理系统数据库管理系统(DBMS:Chta Data Base Management System)作为用户与数据库之间的中间层软件,作为用户与数据库之间的中间层软件,不仅提供数据定义、数据操纵、数据库运行、数据库维护等功能,而且提供不仅提供数据定义、数据操纵、数据库运行、数据库维护等功能,而且提供数据控制功能,包括数据安全性控制、数据完整性控制、并发控制和数据库数据控制功能,包括数据安全性控制、数据完整性控制、并发控制和数据库恢复等控制。恢复等控制。三个发展阶段特点的比较三个发展阶段特点的比较1.1数据库技术概述n主流数据库产品nOraclenDB2 nSybasenInformixnMicrosoft SQL Server 2000nVsiual FoxPronAccessnSQL anywhere小型数据库系统1.2数据库相关概念n数据库(DB)是长期存储在计算机内、有组织的、可共享的数据集合。n数据库是按某种数据模型进行组织的、存放在外存储器上,且可被多个用户同时使用。因此,它具有较小的冗余度,较高的数据独立性和易扩展性。n数据库本身不是独立存在的,它是组成数据库系统的一部分,在实际应用中,人们面对的是数据库系统(DBS)。(1)数据库(2)数据库系统n数据库系统数据库系统是指具有管理和控制数据库功能的计算机系统。n数据库系统简称DBS(database system),它包括和数据库有关的整个系统:硬件系统、数据库集合、数据库管理系统及相关软件、数据库管理员和用户等等。当然,人们也常把除人以外与数据库有关的硬件和软件系统称为数据库系统。n数据库管理系统数据库管理系统(data base management system,缩写为缩写为DBMS),数据库管理系统是位于用户与操作数据库管理系统是位于用户与操作系统之间的一层数据管理软件,系统之间的一层数据管理软件,用于指挥计算机进行用于指挥计算机进行有效的组织和存储数据、管理和处理数据。它位于用有效的组织和存储数据、管理和处理数据。它位于用户与计算机操作系统之间,主要功能户与计算机操作系统之间,主要功能:n数据定义功能数据定义功能n数据操纵功能数据操纵功能n数据库的运行管理功能数据库的运行管理功能n数据库的建立和维护功能数据库的建立和维护功能n数据字典功能数据字典功能n数据通信功能数据通信功能(3)数据库管理系统n数据库在建立、运用和维护时由数据库管理系统统一管理、统一控制。数据库管理系统使用户能方便地定义数据和操纵数据,并能够保证数据的安全性、完整性、多用户对数据的并发使用及发生故障后的系统恢复。(3)数据库管理系统1.3数据库系统的组成数据库系统的组成n 数据库系统是引进数据库技术后的计算机系统,由5部分组成:n硬件系统硬件系统n数据库集合数据库集合n数据库管理系统数据库管理系统n相关软件相关软件n数据库管理员和用户数据库管理员和用户 1)硬件)硬件n硬件硬件系统硬件硬件系统是整个数据库系统的基础,包括CPU、内存和外部设备等。要求足够大的内存,用以存放操作系统、数据库管理系统的核心模块、数据缓冲区等;要求足够大的外存,用以存储数据,日志文件等。n有足够大的内存以存放操作系统、有足够大的内存以存放操作系统、DBMS的核的核心模块、数据缓冲区和应用程序;心模块、数据缓冲区和应用程序;n有足够大的直接存取设备存放数据有足够大的直接存取设备存放数据(如磁盘如磁盘),有足够的存储设备来进行数据备份;有足够的存储设备来进行数据备份;n要求计算机有较高的数据传输能力,以提高数要求计算机有较高的数据传输能力,以提高数据传送率。据传送率。2)软件)软件n软件软件 主要包括n操作系统nDBMSn各种宿主语言、实用程序及各种应用程序应用程序nDBMS是管理数据库的软件系统,它是在操作系统的文件系统基础上发展起来的,而且DBMS是在操作系统支持下工作。应用程序是应用程序是数据库的特定用户根据自己的数据处理业务,利用应用开发工具而开发的应用系统,供最终用户直接操作数据库集合是若干个设计合理、数据库集合是若干个设计合理、满足应用需要的数据库。满足应用需要的数据库。一个数据库有四个主要成分:一个数据库有四个主要成分:数据、联系(数据、联系(Relationship)、)、约束(约束(Constraint)和模式和模式(Schema)。数据是所存储的数据是所存储的逻辑实体在计算机中的二进制逻辑实体在计算机中的二进制表示;联系表示数据项之间的表示;联系表示数据项之间的某种对应;约束是定义正确数某种对应;约束是定义正确数据状态的断言;一种模式描述据状态的断言;一种模式描述数据库中数据的组织和联系。数据库中数据的组织和联系。3)数据库集合)数据库集合4)数据库管理员数据库管理员n数据库管理员数据库管理员 数据库管理员(DBA:DataBase Administrator)是管理和控制数据库系统,使之始终处于最佳状态的人员。DBA是相关人员中最重要的人员。DBA的具体职责包括n(1)决定数据库中信息的内容和结构;n(2)决定数据库的存储结构和存取方法;n(3)定义数据的安全性要求和完整性约束条件;n(4)监督和控制数据库的使用和运行;5)数据库用户)数据库用户n数据库系统中存在一组管理、开发、使用数据库的用户。有的用户需要从数据库中查询信息;有的用户要为查询信息的用户编写处理程序;有的用户专门来管理维护数据库等。通常,将这些用户根据他们的工作分成三类,说明如下:n终端用户。这类用户使用数据库系统提供的终端命令语言或者菜单驱动、表格驱动。图形显示和报表生成等对话方式来存取数据库中的数据。这类人员一般为不精通计算机和程序设计的各级管理人员。n应用程序员。这类人员是负责设计和编制应用程序的人员。他们通常使用C语言、数据库语言或4GL(第四代语言)等来设计和编写应用程序,对数据库进行存取操作,所编应用程序供终端用户使用。n为了便于更直观地了解数据库系统,可以把数据库与图书馆做一比较:n图书馆是存储和借阅图书的部门,而数据库系统则是存储数据并负责用户访问数据的机构。正像图书馆不能简单地与书库等同起来一样,我们也不能把数据库系统仅仅理解成存储数据的集合,而应该理解成一个系统。数据库系统与图书馆比较数据库系统与图书馆比较数据库数据库图书馆图书馆数据图书外存书库用户读者数据模型书卡格式数据库管理系统图书馆管理员数据的物理组织方法图书馆图书存放方法用户对数据库的操作(使用数据操纵语言对数据检索、插入、删除、修改)读者对图书馆的访问(用普通语言借书、还书等)1.4数据库系统的特点n数据库系统的特点如下:n1 1)数据共享;)数据共享;n2 2)面向全组织的数据结构化)面向全组织的数据结构化;n3 3)数据独立性;)数据独立性;n4 4)可控数据冗余度)可控数据冗余度1 1)数据共享)数据共享n这是数据库系统区别于文件系统的最大特点之一,也是数据库系统技术先进性的重要体现。共享是指多用户、多种应用、多种语言互相覆盖地共享数据集合,所有用户可同时存取数据库中的数据。数据库是面向整个系统的,以最优的方式服务于一个或多个应用程序(用户),实现数据共享。2 2)面向全组织的数据结构化)面向全组织的数据结构化。n在数据库中,数据不再像文件系统那样从属于特定的应用,而是按照某种数据模型组织成为一个结构化的整体。它不仅描述了数据本身的特性,而且也描述了数据与数据之间的种种联系,这使数据库具备复杂的结构。n数据结构化有利于实现数据共享。比如,一个学校,可以把学校所有的各个应用(人事、学籍、科研、财务、后勤等)的数据组织到一个数据库中,并且结构化。数据实现集中统一的存储与管理,各种应用存取各自相关的数据于集,满足各种应用要求,实现数据共享。3 3)数据独立性)数据独立性n文件系统管理中,应用程序严重依赖于数据文件,如果把应用程序使用的磁带顺序文件改成为磁盘索引文件,则必须对应用程序进行修改。而数据库技术的重要特征就是数据独立于应用程序而存在,数据与程序相互独立,互不依赖,不因一方的改变而改变另一方,这大大简化了应用程序的设计与维护的工作量。4 4)可控数据冗余度)可控数据冗余度n数据共享、结构化和数据独立性的优点可使数据存储不必重复,不仅可以节省存储空间,而且从根本上保证了数据的一致性,这也是有别文件系统的重要特征。n从理论上讲,数据存储完全不必重复,即冗余度为零,但有时为了提高检索速度,常有意安排若干冗余,这种冗余由用户控制,称为可控冗余度。可控冗余要求任何一个冗余的改变都能自动地对其余冗余加以改变,这个过程叫做传播更新。5 5)统一数据控制功能)统一数据控制功能n数据库是系统中各用户的共享资源,因而计算机的共享一般是并发的,即多个用户同时使用数据库。因此,数据库管理系统必须提供以下四个方面的数据控制功能,保证整个系统的正常运转。n数据安全性控制。数据的安全性是指采取一定安全保密措施确保数据库中的数据不被非法用户存取而造成数据的泄密和破坏。n数据完整性控制。数据的完整性指数据的正确性、有效性与相容性。系统要提供必要的功能,保证数据库中的数据在输入、修改过程中始终符合原来的定义和规定。n并发控制。当多个用户并发进程同时存取,修改数据库中数据时,可能会发生互相干扰而得到错误结果,并使数据库完整性遭到破坏,因此必须对多用户的并发操作加以控制和协调。n数据恢复。当系统发生故障造成数据或当对数据库数据的操作发生错误时,系统能进行应急处理,把数据库恢复到正确状态。二、数据结构的关系模型与关系数据库n数据库是用数据模型对现实世界进行抽象和描述的。三个世界的关系n在上图中,我们给出了数据处理的抽象和转换过程。从图示中可以看出,在数据处理中,数据加工经历了现实世界(Real World)、信息世界(Information World)和计算机世界(Computer World)三个不同的世界,经历了两级抽象和转换。所以说,数据模型是现实世界的两极抽象和转换的结果。n“三个世界”即现实世界、信息世界和计算机世界。存在于人们头脑之外的客观世界称为现实世界;信息世界是现实世界在人们头脑中的反映,人们把它用文字和符号记载下来;信息世界中的信息在计算机世界是以数据形式存储的。n 在现实世界中,各种事物或事件千差万别且都是彼此关联的,任何事物或事件都不是独立存在的。数据库是模拟现实世界中某应用环境(一个企业、单位或部门)所涉及的信息(各种图、表、单据等)集合,是一个统一的、集中的数据管理机构。这个集合或者包含了信息的一部分,或者包含了信息的全部。这种模拟是通过数据模型来进行的。一个好的数据模型必须能够反映现实世界中各种事物及其复杂的联系。现实世界中各种事物及其复杂的联系是不能直接输入到计算机的数据库中的,因此,在实际的数据处理中,我们首先将现实世界的事物及其联系抽象为信息世界的信息模型,然后再将信息模型抽象转换为计算机世界的数据模型。2.1数据模型n数据库领域过去和现在最常见的数据结构模型有三种:n层次模型(Hierarchical Model)n网状模型(Network Model)n关系模型(Relational Model)。n自2O世纪80年代以来,计算机厂商推出的数据库管理系统的产品几乎都是基于关系模型的,下面将着重介绍关系模型。2.2关系模型及其相关概念n1)关系模型的表达n用二维表结构来表示实体及实体间联系的模型称为关系模型(Relational Model)。n关系关系 关系是笛卡尔积的一个有意义的子集,即满关系是笛卡尔积的一个有意义的子集,即满足一定规范要求的二维表。每个关系都有一个关系名。足一定规范要求的二维表。每个关系都有一个关系名。n元组元组(Tuple)二维表格中的一行,也称为记录。二维表格中的一行,也称为记录。n属性属性(Attribute)二维表格中的一列,也称为字段二维表格中的一列,也称为字段或数据项,属性包括属性名、属性值和属性值类型三或数据项,属性包括属性名、属性值和属性值类型三部分内容。部分内容。n属性名属性名 属性的名称(给属性起的名)。属性的名称(给属性起的名)。n属性的值域属性的值域 属性的取值范围称为值域属性的取值范围称为值域(Domain)。n分量分量 元组中的一个属性值。元组中的一个属性值。n主关系键主关系键 关系中的某个属性组(由一个或多个属关系中的某个属性组(由一个或多个属性组成),它的值能够唯一地标识一个元组。主关系性组成),它的值能够唯一地标识一个元组。主关系键也称为主码、主键。键也称为主码、主键。n属性和值域属性和值域 在二维表中的列在二维表中的列(字段、数字段、数据项据项)称为属性称为属性(Attribute);列值称为列值称为属性值;属性值的取值范围称为值域属性值;属性值的取值范围称为值域(Domain)。n元组、关系和关系模式元组、关系和关系模式 在二维表中,在二维表中,行行(记录的值记录的值)称为元组称为元组(Tuple);元组元组的集合称为关系;而行定义的集合称为关系;而行定义(记录的型记录的型)称为关系模式。关系模式和关系也常常称为关系模式。关系模式和关系也常常通称为关系。通称为关系。2)关键字n关键字关键字(Key)在关系的诸属性中,能够用来唯一在关系的诸属性中,能够用来唯一标识元组的属性标识元组的属性(或属性组合或属性组合)称为关键字。关系中称为关键字。关系中的元组由关键字的值来唯一确定。的元组由关键字的值来唯一确定。n关键字是一个语义概念。对图关键字是一个语义概念。对图4-钻遇地层关系和钻遇地层关系和表钻孔关系,关键字分别是钻孔编号层号表钻孔关系,关键字分别是钻孔编号层号和钻孔编号。和钻孔编号。n在一个关系中,关键字的值不能为空,即关键字的值为在一个关系中,关键字的值不能为空,即关键字的值为空的元组在关系中是不允许存在的。空的元组在关系中是不允许存在的。n有些关系的关键字是由单个属性组成的,还有一些关系有些关系的关键字是由单个属性组成的,还有一些关系的关键字常常是由若干个属性的组合而构成的,即这种的关键字常常是由若干个属性的组合而构成的,即这种关系中的元组不能由任何一个属性唯一标识,必须由多关系中的元组不能由任何一个属性唯一标识,必须由多个属性的组合才能唯一标识。个属性的组合才能唯一标识。钻孔基本信息钻孔基本信息 n候选关键宇(Candidate Key)如果在一个关系中,存在多个属性或属性组合都能用来唯一标识该关系的元组,这些属性或属性组合都称为该关系的候选关键字。n主关键字(Primary Key)在一个关系的若干个候选关键字中,经指定具有唯一标识作用的属性或属性组合,称为该关系的主关键字。例如,在钻遇地层关系中,当风化带类型字段的值在每层中都是唯一的话,则“(钻孔编号,层号)”和“(钻孔编号,风化带类型)”是该关系的两个候选关键字,根据唯一标识作用的条件,可选择“(钻孔编号,层号)”作为该关系的主关键字。n非主属性(Non Primary Attribute)关系中不组成关键字的属性均为非主属性。n外部关键字(Foreign Key)当关系中的某个属性或属性组合虽不是该关系的关键字或只是关键字的一部分,但却是另一个关系的关键字时,称该属性或属性组合为这个关系的外部关键字。例如,对表4-1中的钻孔关系,钻机编号不是关键字,但钻机编号是钻机关系的关键字,所以钻机编号是钻孔关系的外部关键字。1)关系操作关系操作n(1)传统的集合操作 n并并(Union)关系R与关系S的并,它是属于R或属于S的元组组成的集合,结果为n列属性的关系。n交交(Intersection)关系 R与关系 S的交,它是既属于 R又属于 S的元组组成的集合,结果为n列属性的关系。n差差(Difference)关系R与关系S的差,它是属于R而不属于S的元组组成的集合,结果为n列属性的关系。n广义笛卡尔积广义笛卡尔积(Extended Cartesian product)关系 R(假设为 n列)和关系 S(假设为m列)的广义笛卡尔积是一个(n十m)列元组的集合,每一个元组的前n列是来自关系R的一个元组,后m列是来自关系S的一个元组。若R有k1个元组,S有k2个元组,则关系R和关系S的广义笛卡尔积有k1k2个元组。(2)专门的关系操作专门的关系操作n选择选择(Selection)选择操作是指在关系中选择满足某些条件的元组。例如,要找出年龄为21岁的所有学生的数据,可以用21岁为条件,对学生基本信息表做选择操作。n投影投影(Projection)投影操作是在关系中选择某些属性列。例如,要找出所有教师的姓名、电话,则可以对教师基本信息表做投影操作,将表数据投影到教师名和电话列。n连接连接(Join)连接操作是从两个关系的笛卡尔积中,选取属性间满足一定条件的元组。n(1)实体完整性规则实体完整性规则n实体完整性(Entity Integrity Rule)是指关系的主属性,即主码的组成不能为空,也就是关系的主属性不能是空值(null)。n(2)参照完整性规则参照完整性规则n如果在基本关系 R1的属性中,包含与另一基本关系R2的主属性K相对应的属性组F,则称F为基本关系 R1的外主属性。参照完整性(Reference Integrity Rule)就是指在含有外主属性F的关系R1中,外主属性值(F值)只能在空值和另一个关系R2的对应主属性值(K值)之间进行选择的特性。n(3)用户定义的完整性规则用户定义的完整性规则n用户定义的一般完整性规则,是针对某一应用环境的完整性约束条件,它反映了某一具体应用所涉及的数据应满足的要求。2)关系模型的完整性关系模型的完整性 2.3关系数据库n采用关系型数据结构模型来组织数据的数据库称为关系数据库。n关系数据库的概念简单清晰、语言高度非过程化,用户不需了解复杂的存取路径,不需说明“怎么干”,而只需指出“干什么”就能方便地操作数据库。经过近30年的发展,目前已经涌现出许多性能优良的商品化管理系统(RDBMS),例如著名的 DBZ、ORACLE、INGRES、SYBASE、INFORMIX等。关系数据库产品至今也从单一的集中式系统,发展成为可在网络环境中运行的分布式系统;从封闭式系统逐步发展成为开放式系统,从联机事务处理发展到支持信息管理、辅助决策。三、数据库的结构与工作原理三、数据库的结构与工作原理n三层模式,两级变换三层模式,两级变换14数据模式数据模式n模型模型 人们对实体或对象的抽象描述,人们对实体或对象的抽象描述,可以用文字或图形来描述可以用文字或图形来描述n模式模式 用计算机语言来描述或定义的模用计算机语言来描述或定义的模型或对象型或对象n模式为数据库管理系统各部件所定义模式为数据库管理系统各部件所定义的各种数据库视图。一种模式将数据的各种数据库视图。一种模式将数据存储的物理外表与逻辑表示分开。存储的物理外表与逻辑表示分开。n内部模式:定义数据在物理数据存储区中如内部模式:定义数据在物理数据存储区中如何组织以及放在何处;何组织以及放在何处;n概念模式:按照适当的数据库数据模型概念模式:按照适当的数据库数据模型(如如关系模型或对象模型关系模型或对象模型)定义所存储数据的结定义所存储数据的结构;构;n外部模式:为特定用户外部模式:为特定用户(们们)所定义的数据库所定义的数据库的一个或多个视图。的一个或多个视图。n一个数据模型是数据库的一种抽象定义,它一个数据模型是数据库的一种抽象定义,它提供一种描述数据的表示法。提供一种描述数据的表示法。外部模式外部模式1外部模式外部模式2外部模式外部模式n全局概念模式全局概念模式内部模式内部模式物理数据库物理数据库数据库模式的概念数据库模式的概念n在数据库系统中,用户看到的数据与计算机中存放的数据是两回事。用户只能看到外层,而其他两层是看不到的。它们之间实际上经过两次抽象和转换:n一次是把所有用户的数据综合抽象成一个统一的全局数据共同视图,即中间层,以实现数据共享和减少数据冗余;n第二次是把全局数据的共同视图抽象为计算机的数据实际存储,即把全局数据按照存储的最优组织形式进行物理存放,以提高性能和存放效率。当计算机向用户提供数据时则做相反的变换。n因此,对于一个数据库系统而言,实际上只有物理数据库是存在的,概念层数据库只是物理数据库的一种抽象描述,用户层数据库则是用户与数据库的接口。关系模式n关系模式就是关系的框架,也称表框架,相当于记录格式。它是对关系结构的描述。一个关系模式实际上确定了这个关系的二维表的形式(二维表的框架)。n当一个关系模型被确定之后,就可以用DBMS提供的关系数据定义语言来描述和定义关系模型和组成模型的每一个关系,其中每一个被定义的关系模式包括关系名、属性名、属性的数据类型、属性宽度、属性值的约束等,最后指出每个关系的主键。关系模式n用关系DBMS提供的关系数据定义语言来描述关系二维表的框架(相当于记录格式),这有点像我们做表填写数据时,首先要画出表框(每栏的栏名对应属性名,宽度对应属性的长度等)的情形。为了便于在书面上讨论和描述关系模式,将关系模式用下面最简单的式子表示出来:nR(A1,A2,An)学生(学号,姓名,年龄)n其中,R为关系名,A1,A2,An为属性名。n关系数据库模式是关系数据库结构的语言描述(即程序化),是一组关系模式的集合。n学生(学号,姓名,年龄,性别,籍贯,电话)学生(学号,姓名,年龄,性别,籍贯,电话)学号学号姓名姓名年龄年龄性别性别籍贯籍贯电话电话02100101 王靖19男湖北888888802100102 丁蓉18女湖北99999992.数据库管理系统的功能及数据库管理系统的功能及操作过程操作过程n数据库管理系统(DBMS)执行对数据的操作,它通常具备以下几种功能。n数据库定义功能数据库定义功能n数据操纵功能数据操纵功能n数据库运行和控制功能数据库运行和控制功能n数据的安全性保护数据的安全性保护n并发控制并发控制n数据库恢复数据库恢复n数据库的建立和维护功能数据库的建立和维护功能n数据字典功能数据字典功能n数据通信功能数据通信功能n数据库定义功能数据库定义功能 DBMS 提供数据定义语言(DDL:data definition language),用户通过它可以方便地对数据库中的相关内容(如数据库结构、基本表、视图和索引)进行定义。用DDL编写的概念模式、外模式和内模式分别称为源概念模式、源外模式和源内模式。各种源模式通过相应的模式编译程序转换为机器内部代码表示形式,分别称为目标概念模式、目标外模式和目标内模式。这些目标模式是对数据库结构的描述,并被保存在数据字典中。n数据操纵功能数据操纵功能 DBMS向用户提供数据操纵语言(DML:data manipulation language),利用DML来书写命令,可以实现对数据库的各种基本操作,例如,对数据库中数据的查询、插入、删除和修改;也可以补充实现对数据库的各种特殊操作,例如,对数据进行各种统计、分析、处理和可视化输入输出的操作。n在现行的数据库产品中,DBMS一般同时拥有自主型(如XBASE)与宿主型(如COBOL,FORTRAN,PASCAL,VB或C等高级语言)两种类型。n数据库运行和控制功能数据库运行和控制功能 这是DBMS功能的核心部分,包括通过数据安全性、完整性、并发性和数据恢复等的控制,来对数据库进行有效的管理,以便确保数据库数据正确有效和数据库系统的正常运行。n数据的安全性保护数据的安全性保护 是指为防止不合法的使用造成数据泄密和破坏,使每个用户只能按规定对某些数据以某些方式进行使用和处理。例如,划分不同的用户权限,有的用户只能查询而不能修改数据,而有的用户却有修改权等。数据的完整性约束是对数据的正确性、有效性和相容性要求,即将数据有效性控制在一定范围内,或要求数据间满足一定的关系。n并发控制并发控制 是对多个用户同时存取、修改数据库的协调和控制。当多个用户同时存取、修改数据库时,可能造成相互干扰而得到错误结果,甚至使数据库的完整性遭到破坏。DBMS提供了对多用户的并发操作加以控制和协调的功能。n数据库恢复数据库恢复 计算机的硬件故障、操作员的失误以及人为的破坏,都会影响数据库中数据的正确性,甚至造成数据库部分或全部数据的丢失。DBMS具有将数据库从错误状态恢复到某一已知的正确状态(亦称为完整状态或一致状态)的功能。n数据库的建立和维护功能数据库的建立和维护功能 包括数据库初始数据的安装,数据库的转储、恢复、重组织,数据库的性能监视、分析功能,等等。这些功能是数据安全性、完整性的重要保证,通常由一些应用程序来完成的,但仍属于数据库管理系统的重要组成部分。n数据字典功能数据字典功能 数据字典(DD:data dictionary)也称为数据目录或系统目录,它以表格的形式存放着数据库的各种有关信息(数据库三级模式、数据类型、用户名表、用户权限、程序与其用户联系等有关数据库系统的信息),能帮助用户、数据库管理员和数据库管理系统本身使用和管理数据库。对其作适当的开发,可用于提高自学水平并解决数据库软件复用与自动编程方面的难题。在大型系统中,DD也可单独成为一个系统。n数据通信功能数据通信功能 用于实现用户程序与DBMS之间的通信的功能,包括与OS的联机处理、分时处理和远程作业传输的相应接口等。这些功能对分布式数据库系统尤为重要,通常与操作系统协调完成。在当前的各种DBMS中,数据通信功能都被列为重点开发内容。2)数据操作过程数据操作过程 应用程序A程序工作区返回状态DB的系统缓冲区数 据库应用程序A 对应的外模式全局模式内模式数据字典运行日志DBMSOS图图4-7 4-7 用户访问数据库的主要步骤用户访问数据库的主要步骤用户访问数据库的主要步骤用户访问数据库的主要步骤n应用程序A向DBMS发出读取数据请求,并给出记录名及其关键字;nDBMS接到请求后,利用应用程序A所使用的外模式来分析这一请求;nDBMS调用全局模式,进一步分析请求,根据外模式与模式之间变换的定义,决定应读入哪些模式记录;nDBMS通过内模式,将数据的逻辑记录转换为实际的物理记录;nDBMS向操作系统发出读所需物理记录的请求;n操作系统对实际的物理存储设备启动读操作;n读出的记录从保存数据的物理设备送到系统缓冲区;nDBMS根据模式和外模式的规定,将记录转换为应用程序所需的形式;nDBMS把数据从系统缓冲区传送到应用程序A的程序工作区;nDBMS向应用程序A发出请求执行情况的信息。1.6数据库技术的发展趋势n数据库技术的未来n分布式数据库n面向对象数据库n多媒体数据库n嵌入式数据库n实时数据库等nXML数据库n演绎数据库n数据仓库等等The endTHANKS
展开阅读全文