




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、第五章第五章 数据库技术数据库技术1信息科学与工程学院信息科学与工程学院第五章第五章 数据库技术数据库技术2 目前,计算机的作用已不仅是进行数值近似,更多的是用于数据的加工和管理,如行政事务管理,图书资料管理及商店账目管理等 数据库技术正是为了满足这种应用的需要而发展起来的,它已经成为计算机应用中必须掌握的重要技术之一5.1 数据库基本概念 数据库是一个通用化的、综合性的数据集合,它可以为各种用户所共享,具有最小的冗余度和较高的数据与程序的独立性。而且能并发地为多个应用服务,同时具有安全性和完整性数据库系统是一个功能很强大的复杂系统,它在现实生活中的应用将会越来越广泛第五章第五章 数据库技术数
2、据库技术35.1.1 数据库技术与数据库系统 1. 数据库管理技术 数据库管理技术的发展是与计算机技术及其应用的发展联系在一起的,它大致经历了以下三个阶段:(1)人工管理(2)文件管理(3)数据库管理 人工管理阶段在这一阶段中,计算机的应用主要是科学计算,计算机中的数据与应用程序一一对应图图5.1 5.1 人工管理下程序与数据之间的关系人工管理下程序与数据之间的关系第五章第五章 数据库技术数据库技术4 文件管理阶段 在这一阶段中,借助操作系统中的文件系统,数据可以用统一的格式,以文件形式长期保存在计算机系统中,并且数据的各种转换以及存储位置的安排完全由文件系统来统一管理,从而使程序与数据之间具
3、有一定的独立性。在这种情况下,应用程序可以使用多个文件中的数据,不同的应用程序也可以使用同一个文件中的数据图图5.2 5.2 文件系统管理下程序与数据之间的关系文件系统管理下程序与数据之间的关系第五章第五章 数据库技术数据库技术5 随着计算机应用的不断发展,管理的数据规模越来越大,文件系统对数据的管理也越来越不适应 主要体现在以下3个方面: 数据冗余度比较大 由于数据时面向应用的,使程序与数据还是互相依赖 文件系统对数据的控制没有统一的方法,而是完全靠应用程 序自己对文件中的数据进行控制,因此,使应用程序的编制很麻烦,而且缺乏对数据的正确性、安全性、保密性等有效且统一的控制手段第五章第五章 数
4、据库技术数据库技术6 数据库管理阶段 在文件管理阶段,还不能满足将大量数据集中存储、统一控制以及数据为多个用户所共享的需要。数据库技术正是为克服文件系统中对数据管理的不足而产生的,它的根本目标是要解决数据的共享问题 数据库管理具有以下3个主要特点:(1)数据是结构化的,是面向系统的,数据的冗余度小(2)数据具有独立性(3)保证了数据的完整性、安全性和并发性第五章第五章 数据库技术数据库技术7在数据库管理下,程序与数据之间的关系如下图所示:图图5.3 5.3 数据库管理阶段程序与数据之间的关系数据库管理阶段程序与数据之间的关系第五章第五章 数据库技术数据库技术82. 数据库管理系统 数据库管理系
5、统最本质的特点是实现数据的共享,它是数据库系统中实现各种数据管理功能的核心软件 数据库管理系统具有较强的对数据进行集中控制的能力,它包含了各种类型的系统程序。一般来说,数据库管理系统具有以下功能:(1)定义数据库,包括总体逻辑数据结构的定义、局部逻辑数据结构的定义、存储结构定义、保密定义等(2)管理数据库,包括控制整个数据库系统的运行,数据存取、插入、删除、修改等操作,数据完整性和安全性控制以及并发控制等第五章第五章 数据库技术数据库技术9(3)建立和维护数据库,包括数据库的建立、数据更新、数据库再组织、数据库的维护、数据库恢复以及性能监视等(4)数据通信,具备与操作系统的联机处理、分时系统以
6、及远程作业输入的相应接口 上述几方面功能分别由数据库管理系统中的各个系统程序来完成,每个程序实现各自的功能。第五章第五章 数据库技术数据库技术10 主要程序模块(1)语言处理部分 数据描述语言解释程序,其中包括模式DDL、子模式DDL和物理DDL 模式DDL是数据库管理员用来定义数据库总体逻辑数据结构的。 子模式DDL是用户用来定义其所用的局部逻辑数据结构的 物理DDL又称为设备介质语言,主要用来定义数据的物理存储方式。 数据操纵语言(DML)处理程序,是数据库管理系统提供给用户进行存储、检索、修改和删除数据库中数据的攻击 终端询问解释程序,用于解释终端询问的意义,决定操作执行过程 数据库控制
7、命令解释程序,用于解释每个控制命令的定义第五章第五章 数据库技术数据库技术11(2)系统运行控制程序 系统总控程序。它是DBMS的神经中枢,其功能是控制和协调DBMS中各程序的活动,使系统有条不紊地运行 访问控制程序。其功能主要是核对用户标识符、口令,核对授权表,检验访问的合法性等 并发控制程序。其功能是在多个用户同时访问数据库时,协调各个用户的访问 保密控制程序。其功能是在执行操作之前核对保密规定 数据完整性控制程序。其功能是在执行操作前或操作后,核对数据库完整约束条件,从而决定是否允许操作执行或清除已经执行操作的影响第五章第五章 数据库技术数据库技术12 数据访问程序。其功能是根据用户的访
8、问请求,实施对数据的访问,从物理文件中查找数据,执行插入、删除、修改等操作 通行控制程序。实现用户程序与数据库管理系统之间的通信(3)系统建立与维护程序 数据装入程序。其功能是将数据装入数据库 工作日志程序。负责记录进入数据库系统的所有访问,包括用户名称、进入系统时间、进行何种操作、数据对象、数据改变情况等 性能监督程序。监督操作时间与存储空间占用情况,做出系统性能估算 系统恢复程序。其功能是,当软硬件遭到破坏时,负责将数据库第五章第五章 数据库技术数据库技术13系统恢复到可用状态 重新组织程序。其功能是,当数据库性能变坏时,对数据重新进行物理组织 以上列举的是数据库管理系统通常所包含的内容,
9、但对于一个具体的数据库管理系统所包括的内容可以根据具体条件和要求来确定。 例如,有的数据库管理系统没有物理DDL,而有的数据库管理系统则没有查询语言解释程序等第五章第五章 数据库技术数据库技术143. 数据库系统的构成 一个数据库系统是由操作系统、数据库管理系统和应用程序在一定的硬件支持下构成的 数据库系统的层次结构如下图所示图图5.4 5.4 数据库系统的层次结构数据库系统的层次结构第五章第五章 数据库技术数据库技术15从图中可以看出,在软件方面需要支持DBMS的操作系统和DBMS。为了使数据库的使用简单方便,一般还要配置应用软件包 数据库管理系统(DBMS)是整个数据库系统的核心,它对数据
10、库中的数据进行管理,还在用户的个别应用于整体数据库之间起接口作用 数据库管理员(DBA)负责整个数据库系统的建立、维护和协调工作。第五章第五章 数据库技术数据库技术16下面通过一个应用程序从数据库中读取一个数据记录的例子来说明用户访问数据库中数据的过程,同时也具体反映了各部分的作用以及它们之间的相互关系。如下图所示图图5.5 5.5 访问数据库中数据的过程访问数据库中数据的过程第五章第五章 数据库技术数据库技术17用户访问数据库中数据时的主要步骤(1)用户在应用程序中向DBMS发出读取记录的请求,同时给出记录名和要读取记录的关键字值(2)DBMS接到请求后,利用应用程序A所用的子模式来分析这一
11、请求(3)DBMS调用模式,进一步分析请求,根据子模式与模式之间变换的定义,决定读入哪些模式记录(4)DBMS通过物理模式将数据的逻辑记录转换为实际的物理记录(5)DBMS向操作系统发出读取所需物理记录的请求(6)操作系统对实际的物理存储设备启动读操作第五章第五章 数据库技术数据库技术18(7)读出的记录从保存数据的物理设备送到系统缓冲区(8)DBMS根据模式和子模式的规定,将记录转换为应用程序所需要的形式(9)DBMS将数据从系统缓冲区传送到应用程序A的工作区(10)DBMS向用户程序A发出本次请求执行情况的信息 以上步骤是用户从数据库中读取数据的一般过程。对于不同类型的DBMS有可能在具体
12、细节上稍有不同,但基本过程大体上是一致的第五章第五章 数据库技术数据库技术195.1.2 数据描述1. 信息的存在形态 根据信息的存在形态,可以将所有信息划分为3个阶段:现实(客观)世界、观念(信息)世界与数据世界(1)现实世界。在现实世界中所反映的是所有客观存在的事物及其相互之间的联系,它们只是处理对象最原始的表示形式(2)观念世界。又称信息世界。在观念世界中所存在的信息是现实世界的客观事物在人们头脑中的反映,并经过一定的选择、命名和分类。在观念世界中的主要对象是实体(entity)第五章第五章 数据库技术数据库技术20 观念世界中所涉及的几个基本概念 属性。所谓属性是指事物在某一方面的特性
13、。例如,教室的属性有姓名、年龄、性别、职称等。属性所取的具体指成为属性值 实体。若干属性的属性值的集合。例如,某一教师的姓名为李明,性别为男,年龄为45,职称为副教授,这是教师的一个实体 实体型。表征某一类实体的属性的集合。例如,姓名、年龄、性别、职称等属性是表征“教师”这一类实体的 实体集。同一类型实体的集合。例如,某一学校中的教师具有相同的属性,他们就构成了实体集“教师”第五章第五章 数据库技术数据库技术21(3)数据世界 信息经过加工、编码后即进入数据世界,可以利用计算机来处理它们。因此,数据世界中的对象是数据。现实世界中的客观事物及其联系在数据世界中是用数据模型来描述的 数据世界中的基
14、本概念 数据项(字段)(field) 相应于观念世界中的属性。例如,实体型“教师”中的各个属性:姓名、年龄、性别、职称等就是数据项 记录(record) 每一个实体所对应的数据。例如,对应某一教师的各属性值:李明、45、男、副教授等就是一个记录 记录型(record type) 相应于观念世界中的实体型第五章第五章 数据库技术数据库技术22 文件(file) 相应于观念世界中的实体集 关键字(key) 能够唯一标识一个记录的字段集图图5.6 5.6 “教师教师”记录型与记录型与“教师教师”文件的示意图文件的示意图第五章第五章 数据库技术数据库技术232. 实体间的联系 客观事物之间的联系包括两
15、个方面:一是实体内部的联系,它反映在数据模型中试记录内部的联系;二是实体与实体之间的联系,在数据模型中表现为记录与记录之间的联系 实体之间各种各样的联系可以归结为3类:一对一的联系,一对多的联系,多对多的联系 (1)一对一(1:1)的联系 设有两个实体集E1和E2,如果E1和E2中的每一个实体最多与另一个实体集中的一个实体有联系,则称实体集E1和E2的联系时一对一的联系,通常表示为“1:1联系”第五章第五章 数据库技术数据库技术24(2)一对多(1:n)的联系 设有两个实体集E1和E2,如果E2中的每一个实体与E1中的任意个实体(包括零个)有联系,而E1中的每一个实体最多与E2中的一个实体有联
16、系,则称这样的联系为“从E2到E1的一对多的联系”,通常表示为“1:n的联系”(3)多对多(m:n)的联系 设有两个实体集E1和E2,其中的每一个实体都与另一个实体集中的任意个(包括零个)实体有联系,则称这两个实体集之间的联系是“多对多的联系”,通常表示为“(m:n)的联系”第五章第五章 数据库技术数据库技术255.1.3 数据模型 数据模型是对客观事物及其联系的数据描述,它反映了实体内部以及实体与实体之间的联系,因此,数据模型是数据库设计的核心 在数据库中,数据模型可以分为3个层次:外层、概念和内层,分别为外模型、概念模型和内模型第五章第五章 数据库技术数据库技术26数据模型可以分为3个层次
17、:外模型、概念模型和内模型外模式外模式/ /模式模式映像映像B B用户用户A1A1主语言主语言+ + 数据数据子语言子语言用户用户A2A2主语言主语言+ + 数据数据子语言子语言用户用户B1B1主语言主语言+ + 数据数据子语言子语言用户用户B2B2主语言主语言+ + 数据数据子语言子语言用户用户B2B2主语言主语言+ + 数据数据子语言子语言外模式外模式A A外模式外模式B B模式模式内模式内模式DBDBDBMSDBMSOSOS模式模式/ /内模式映像内模式映像外模式外模式/ /模式模式映像映像A A由数据由数据库管理库管理者者DBADBA建建立和维立和维护护第五章第五章 数据库技术数据库技
18、术27目前常用的数据模型有3种:层次模型、网状模型和关系模型1. 层次模型 在层次模型中,实体之间的联系是用树结构来表示的,其中实体集(记录型)是树中的结点,而树中各结点之间的连线表示它们之间的关系 根据树结构的特点,建立数据的层次模型需要满足下列两个条件:(1)有一个数据记录没有“父亲”,这个记录即是根结点(2)其他数据记录有且只有一个“父亲” 在实际应用中,许多实体之间的联系本身就是自然的层次关系。例如,一个学校下属有若干个系、处和研究所;每个系下属有若干个教研组和办公室,每个研究所下属有若干个科研组和办公室,每个处下属有若干个科室等第五章第五章 数据库技术数据库技术28 如上所述的一个学
19、校的行政机构有明显的层次关系,可用下图所示的层次模型将其表示出来图图5.7 5.7 学校行政机构的层次模型学校行政机构的层次模型第五章第五章 数据库技术数据库技术29 层次模型最明显的特点是层次清楚、构造简单、易于实现,它可以很方便地表示出一对一和一对多的这两种实体之间的联系。 层次模型不能直接表示多对多的实体之间的联系,因此,对于复杂的数据关系,用层次模型表示是比较麻烦的,这也正是层次模型的局限性 以层次模型为数据模型所设计的数据库成为层次数据库2. 网状模型 网状数据模型是以记录型为结点的网状结构,它的特点如下:(1)可以有一个以上的结点无“父亲”(2)至少有一个结点有多于一个的“父亲”第
20、五章第五章 数据库技术数据库技术30 由以上两个特点可知,网状模型可以描述数据之间的复杂关系。例如,关于学校的教学情况可以用下图所示的网状模型来描述图图5.8 5.8 学校教学情况的网状模型学校教学情况的网状模型第五章第五章 数据库技术数据库技术31 网状模型和层次模型都属于格式化模型。所谓格式化模型,是指在建立数据模型时,根据应用的需要,事先将数据之间的逻辑关系固定下来,即先对数据逻辑结构进行设计使数据结构化 为了描述记录之间的联系,引进了“系(set)”的概念,每一种联系都用系来表示,并给以不同的名字,以便互相区别,如在上图中的“教师-课程系” 网状数据库是应用较为广泛的一种数据库,它不仅
21、具有层次模型数据库的一些特点,而且能方便地描述较为复杂的数据关系,可以直接表示实体之间多对多的联系第五章第五章 数据库技术数据库技术323. 关系模型 关系模型是与格式化模型完全不同的数据模型,它与层次模型、网状模型相比有着本质的区别,它是建立在数学理论基础上,用表格数据来表示实体本身及其相互之间的联系 在关系模型中,把数据看成一个二维表,每一个二维表称为一个关系第五章第五章 数据库技术数据库技术33 表中的每一列称为一个属性,相当于记录中的一个数据项,对属性的命名称为属性名,表中的一行称为一元组,相当于记录值 关系是关系模型中最基本的概念图图5.9 5.9 关系例关系例第五章第五章 数据库技术数据库技术34关系模型较之格式化模型有以下几方面的优点:(1)数据结构比较简单 在关系模型中,对实体的描述、实体之间联系的描述,都采用关系这个单一的结构来表示,因此,数据结构比较简单、清晰(2)具有很高的数据独立性 在关系模型中,用户完全不涉及数据的物理存储,只与数据本身的特性发生关系,因此数据独立性很高(3)可以直接处理多对多的联系 在关系模型中,由于使用表格数据来表示实体之间的联系,因此
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 数据仓库与在线分析试题及答案
- 2025届江苏省宿迁市沭阳广宇学校八下数学期末监测试题含解析
- 网络协议分析基础试题及答案
- 计算机操作技能试题及答案
- 网络管理系统平台wahl试题及答案
- 法学概论考试的时间管理策略与试题及答案
- 幼儿园日常生活中的教研活动计划
- 法学概论与国际法的关系试题及答案
- 项目进度跟踪的有效方法计划
- 2024年潍坊市寒亭区市场监督管理局招聘真题
- 农村电网改造项目实施方案
- 医疗纠纷防范及法律责任课件
- 公司招标书范本大全(三篇)
- 正念减压疗法详解课件
- 知识产权管理体系讲解课件
- 彩钢板除锈喷漆施工方案
- 国家开放大学(山东)《地域文化(本)》形考任务1-3+终结性考核参考答案
- 2022年高考数学试卷(上海)(秋考)(解析卷)
- 国家开放大学《数据库应用技术》形考任务1-4参考答案
- 2024年陕西省西安市中考道德与法治真题(含答案逐题解析)
- 工业锅炉的加热方式
评论
0/150
提交评论