计算机软件技术基础第8讲(第五章)_第1页
计算机软件技术基础第8讲(第五章)_第2页
计算机软件技术基础第8讲(第五章)_第3页
计算机软件技术基础第8讲(第五章)_第4页
计算机软件技术基础第8讲(第五章)_第5页
已阅读5页,还剩33页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1信息科学与工程学院计算机软件技术基础二O一O年十一月2目前,计算机的作用已不仅是进行数值近似,更多的是用于数据的加工和管理,如行政事务管理,图书资料管理及商店账目管理等数据库技术正是为了满足这种应用的需要而发展起来的,它已经成为计算机应用中必须掌握的重要技术之一5.1数据库基本概念

数据库是一个通用化的、综合性的数据集合,它可以为各种用户所共享,具有最小的冗余度和较高的数据与程序的独立性。而且能并发地为多个应用服务,同时具有安全性和完整性数据库系统是一个功能很强大的复杂系统,它在现实生活中的应用将会越来越广泛35.1.1数据库技术与数据库系统1.数据库管理技术

数据库管理技术的发展是与计算机技术及其应用的发展联系在一起的,它大致经历了以下三个阶段:(1)人工管理(2)文件管理(3)数据库管理人工管理阶段在这一阶段中,计算机的应用主要是科学计算,计算机中的数据与应用程序一一对应图5.1人工管理下程序与数据之间的关系4文件管理阶段在这一阶段中,借助操作系统中的文件系统,数据可以用统一的格式,以文件形式长期保存在计算机系统中,并且数据的各种转换以及存储位置的安排完全由文件系统来统一管理,从而使程序与数据之间具有一定的独立性。在这种情况下,应用程序可以使用多个文件中的数据,不同的应用程序也可以使用同一个文件中的数据图5.2文件系统管理下程序与数据之间的关系5随着计算机应用的不断发展,管理的数据规模越来越大,文件系统对数据的管理也越来越不适应

主要体现在以下3个方面:数据冗余度比较大由于数据时面向应用的,使程序与数据还是互相依赖文件系统对数据的控制没有统一的方法,而是完全靠应用程序自己对文件中的数据进行控制,因此,使应用程序的编制很麻烦,而且缺乏对数据的正确性、安全性、保密性等有效且统一的控制手段6

数据库管理阶段在文件管理阶段,还不能满足将大量数据集中存储、统一控制以及数据为多个用户所共享的需要。数据库技术正是为克服文件系统中对数据管理的不足而产生的,它的根本目标是要解决数据的共享问题

数据库管理具有以下3个主要特点:(1)数据是结构化的,是面向系统的,数据的冗余度小(2)数据具有独立性(3)保证了数据的完整性、安全性和并发性7在数据库管理下,程序与数据之间的关系如下图所示:图5.3数据库管理阶段程序与数据之间的关系82.数据库管理系统数据库管理系统最本质的特点是实现数据的共享,它是数据库系统中实现各种数据管理功能的核心软件数据库管理系统具有较强的对数据进行集中控制的能力,它包含了各种类型的系统程序。一般来说,数据库管理系统具有以下功能:(1)定义数据库,包括总体逻辑数据结构的定义、局部逻辑数据结构的定义、存储结构定义、保密定义等(2)管理数据库,包括控制整个数据库系统的运行,数据存取、插入、删除、修改等操作,数据完整性和安全性控制以及并发控制等9(3)建立和维护数据库,包括数据库的建立、数据更新、数据库再组织、数据库的维护、数据库恢复以及性能监视等(4)数据通信,具备与操作系统的联机处理、分时系统以及远程作业输入的相应接口

上述几方面功能分别由数据库管理系统中的各个系统程序来完成,每个程序实现各自的功能。10主要程序模块(1)语言处理部分

数据描述语言解释程序,其中包括模式DDL、子模式DDL和物理DDL

模式DDL是数据库管理员用来定义数据库总体逻辑数据结构的。

子模式DDL是用户用来定义其所用的局部逻辑数据结构的

物理DDL又称为设备介质语言,主要用来定义数据的物理存储方式。

数据操纵语言(DML)处理程序,是数据库管理系统提供给用户进行存储、检索、修改和删除数据库中数据的攻击

终端询问解释程序,用于解释终端询问的意义,决定操作执行过程

数据库控制命令解释程序,用于解释每个控制命令的定义11(2)系统运行控制程序系统总控程序。它是DBMS的神经中枢,其功能是控制和协调DBMS中各程序的活动,使系统有条不紊地运行访问控制程序。其功能主要是核对用户标识符、口令,核对授权表,检验访问的合法性等

并发控制程序。其功能是在多个用户同时访问数据库时,协调各个用户的访问

保密控制程序。其功能是在执行操作之前核对保密规定

数据完整性控制程序。其功能是在执行操作前或操作后,核对数据库完整约束条件,从而决定是否允许操作执行或清除已经执行操作的影响12

数据访问程序。其功能是根据用户的访问请求,实施对数据的访问,从物理文件中查找数据,执行插入、删除、修改等操作

通行控制程序。实现用户程序与数据库管理系统之间的通信(3)系统建立与维护程序数据装入程序。其功能是将数据装入数据库

工作日志程序。负责记录进入数据库系统的所有访问,包括用户名称、进入系统时间、进行何种操作、数据对象、数据改变情况等

性能监督程序。监督操作时间与存储空间占用情况,做出系统性能估算

系统恢复程序。其功能是,当软硬件遭到破坏时,负责将数据库13系统恢复到可用状态重新组织程序。其功能是,当数据库性能变坏时,对数据重新进行物理组织以上列举的是数据库管理系统通常所包含的内容,但对于一个具体的数据库管理系统所包括的内容可以根据具体条件和要求来确定。例如,有的数据库管理系统没有物理DDL,而有的数据库管理系统则没有查询语言解释程序等143.数据库系统的构成一个数据库系统是由操作系统、数据库管理系统和应用程序在一定的硬件支持下构成的数据库系统的层次结构如下图所示图5.4数据库系统的层次结构15从图中可以看出,在软件方面需要支持DBMS的操作系统和DBMS。为了使数据库的使用简单方便,一般还要配置应用软件包

数据库管理系统(DBMS)是整个数据库系统的核心,它对数据库中的数据进行管理,还在用户的个别应用于整体数据库之间起接口作用

数据库管理员(DBA)负责整个数据库系统的建立、维护和协调工作。16下面通过一个应用程序从数据库中读取一个数据记录的例子来说明用户访问数据库中数据的过程,同时也具体反映了各部分的作用以及它们之间的相互关系。如下图所示图5.5访问数据库中数据的过程17用户访问数据库中数据时的主要步骤(1)用户在应用程序中向DBMS发出读取记录的请求,同时给出记录名和要读取记录的关键字值(2)DBMS接到请求后,利用应用程序A所用的子模式来分析这一请求(3)DBMS调用模式,进一步分析请求,根据子模式与模式之间变换的定义,决定读入哪些模式记录(4)DBMS通过物理模式将数据的逻辑记录转换为实际的物理记录(5)DBMS向操作系统发出读取所需物理记录的请求(6)操作系统对实际的物理存储设备启动读操作18(7)读出的记录从保存数据的物理设备送到系统缓冲区(8)DBMS根据模式和子模式的规定,将记录转换为应用程序所需要的形式(9)DBMS将数据从系统缓冲区传送到应用程序A的工作区(10)DBMS向用户程序A发出本次请求执行情况的信息以上步骤是用户从数据库中读取数据的一般过程。对于不同类型的DBMS有可能在具体细节上稍有不同,但基本过程大体上是一致的195.1.2数据描述1.信息的存在形态根据信息的存在形态,可以将所有信息划分为3个阶段:现实(客观)世界、观念(信息)世界与数据世界(1)现实世界。在现实世界中所反映的是所有客观存在的事物及其相互之间的联系,它们只是处理对象最原始的表示形式(2)观念世界。又称信息世界。在观念世界中所存在的信息是现实世界的客观事物在人们头脑中的反映,并经过一定的选择、命名和分类。在观念世界中的主要对象是实体(entity)20

观念世界中所涉及的几个基本概念

属性。所谓属性是指事物在某一方面的特性。例如,教室的属性有姓名、年龄、性别、职称等。属性所取的具体指成为属性值

实体。若干属性的属性值的集合。例如,某一教师的姓名为李明,性别为男,年龄为45,职称为副教授,这是教师的一个实体

实体型。表征某一类实体的属性的集合。例如,姓名、年龄、性别、职称等属性是表征“教师”这一类实体的

实体集。同一类型实体的集合。例如,某一学校中的教师具有相同的属性,他们就构成了实体集“教师”21(3)数据世界信息经过加工、编码后即进入数据世界,可以利用计算机来处理它们。因此,数据世界中的对象是数据。现实世界中的客观事物及其联系在数据世界中是用数据模型来描述的数据世界中的基本概念

数据项(字段)(field)相应于观念世界中的属性。例如,实体型“教师”中的各个属性:姓名、年龄、性别、职称等就是数据项

记录(record)每一个实体所对应的数据。例如,对应某一教师的各属性值:李明、45、男、副教授等就是一个记录

记录型(recordtype)相应于观念世界中的实体型22

文件(file)相应于观念世界中的实体集

关键字(key)能够唯一标识一个记录的字段集图5.6“教师”记录型与“教师”文件的示意图232.实体间的联系客观事物之间的联系包括两个方面:一是实体内部的联系,它反映在数据模型中试记录内部的联系;二是实体与实体之间的联系,在数据模型中表现为记录与记录之间的联系实体之间各种各样的联系可以归结为3类:一对一的联系,一对多的联系,多对多的联系(1)一对一(1:1)的联系设有两个实体集E1和E2,如果E1和E2中的每一个实体最多与另一个实体集中的一个实体有联系,则称实体集E1和E2的联系时一对一的联系,通常表示为“1:1联系”24(2)一对多(1:n)的联系设有两个实体集E1和E2,如果E2中的每一个实体与E1中的任意个实体(包括零个)有联系,而E1中的每一个实体最多与E2中的一个实体有联系,则称这样的联系为“从E2到E1的一对多的联系”,通常表示为“1:n的联系”(3)多对多(m:n)的联系设有两个实体集E1和E2,其中的每一个实体都与另一个实体集中的任意个(包括零个)实体有联系,则称这两个实体集之间的联系是“多对多的联系”,通常表示为“(m:n)的联系”255.1.3数据模型数据模型是对客观事物及其联系的数据描述,它反映了实体内部以及实体与实体之间的联系,因此,数据模型是数据库设计的核心在数据库中,数据模型可以分为3个层次:外层、概念和内层,分别为外模型、概念模型和内模型26数据模型可以分为3个层次:外模型、概念模型和内模型外模式/模式映像B用户A1主语言+数据子语言用户A2主语言+数据子语言用户B1主语言+数据子语言用户B2主语言+数据子语言用户B2主语言+数据子语言外模式A外模式B模式内模式DBDBMSOS模式/内模式映像外模式/模式映像A由数据库管理者DBA建立和维护27目前常用的数据模型有3种:层次模型、网状模型和关系模型1.层次模型在层次模型中,实体之间的联系是用树结构来表示的,其中实体集(记录型)是树中的结点,而树中各结点之间的连线表示它们之间的关系根据树结构的特点,建立数据的层次模型需要满足下列两个条件:(1)有一个数据记录没有“父亲”,这个记录即是根结点(2)其他数据记录有且只有一个“父亲”在实际应用中,许多实体之间的联系本身就是自然的层次关系。例如,一个学校下属有若干个系、处和研究所;每个系下属有若干个教研组和办公室,每个研究所下属有若干个科研组和办公室,每个处下属有若干个科室等28如上所述的一个学校的行政机构有明显的层次关系,可用下图所示的层次模型将其表示出来图5.7学校行政机构的层次模型29层次模型最明显的特点是层次清楚、构造简单、易于实现,它可以很方便地表示出一对一和一对多的这两种实体之间的联系。层次模型不能直接表示多对多的实体之间的联系,因此,对于复杂的数据关系,用层次模型表示是比较麻烦的,这也正是层次模型的局限性以层次模型为数据模型所设计的数据库成为层次数据库2.网状模型网状数据模型是以记录型为结点的网状结构,它的特点如下:(1)可以有一个以上的结点无“父亲”(2)至少有一个结点有多于一个的“父亲”30由以上两个特点可知,网状模型可以描述数据之间的复杂关系。例如,关于学校的教学情况可以用下图所示的网状模型来描述图5.8学校教学情况的网状模型31网状模型和层次模型都属于格式化模型。所谓格式化模型,是指在建立数据模型时,根据应用的需要,事先将数据之间的逻辑关系固定下来,即先对数据逻辑结构进行设计使数据结构化为了描述记录之间的联系,引进了“系(set)”的概念,每一种联系都用系来表示,并给以不同的名字,以便互相区别,如在上图中的“教师-课程系”

网状数据库是应用较为广泛的一种数据库,它不仅具有层次模型数据库的一些特点,而且能方便地描述较为复杂的数据关系,可以直接表示实体之间多对多的联系323.关系模型关系模型是与格式化模型完全不同的数据模型,它与层次模型、网状模型相比有着本质的区别,它是建立在数学理论基础上,用表格数据来表示实体本身及其相互之间的联系在关系模型中,把数据看成一个二维表,每一个二维表称为一个关系33表中的每一列称为一个属性,相当于记录中的一个数据项,对属性的命名称为属性名,表中的一行称为一元组,相当于记录值关系是关系模型中最基本的概念图5.9关系例34关系模型较之格式化模型有以下几方面的优点:(1)数据结构比较简单在关系模型中,对实体的描述、实体之间联系的描述,都采用关系这个单一的结构来表示,因此,数据结构比较简单、清晰(2)具有很高的数据独立性在关系模型中,用户完全不涉及数据的物理存储,只与数据本身的特性发生关系,因此数据独立性很高(3)可以直接处理多对多的联系在关系模型中,由于使用表格数据来表示实体之间的联系,因此,可以直接描述多对多的实体联系。

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论