没有合适的资源?快使用搜索试试~ 我知道了~
数据库系统全面概述.doc
1.该资源内容由用户上传,如若侵权请联系客服进行举报
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
版权申诉
0 下载量 6 浏览量
2022-07-13
10:01:38
上传
评论
收藏 243KB DOC 举报
温馨提示
试读
32页
数据库系统全面概述.doc
资源推荐
资源详情
资源评论
1 / 32
数据库系统概论
本章目的在于使读者对数据库系统的基本知识能有一个较为全面的了解,为今后的学习和工
作打下基础。本章重点介绍了有关数据库结构和数据库系统组织的基本知识和基本概念,以
与常见的三种类型的数据库系统的特点。重点介绍关系数据库的有关知识。
1.1 数据管理技术发展史
随着生产力的不断发展,社会的不断进步,人类对信息的依赖程度也在不断地增加。数据作
为表达信息的一种量化符号,正在成为人们处理信息时重要的操作对象。所谓数据处理就是
对数据的收集、整理、存储、分类、排序、检索、维护、加工、统计和传输等一系列工作全
部过程的概述。数据处理的目的就是使我们能够从浩瀚的信息数据海洋中,提取出有用的数
据信息,作为我们工作、生活等各方面的决策依据。数据管理则是指对数据的组织、编码、
分类、存储、检索和维护,它是数据处理的一个重要容中心。数据处理工作由来以久,早在
1880年美国进行人口普查统计时,就已采用穿孔卡片来存储人口普查数据,并采用机械设备
来完成对这些普查数据所进行的处理工作。电子计算机的出现以与其后其硬件、软件的迅速
发展,加之数据库理论和技术的发展,为数据管理进入一个革命性阶段提供有力的支持。根
据数据和应用程序相互依赖关系、数据共享以与数据的操作方式,数据管理的发展可以分为
三个具有代表性的阶段,即人工管理阶段、文件管理阶段和数据库管理阶段。
[1]人工管理阶段
这一阶段发生于六十年代以前,由于当时计算机硬件和软件发展才刚刚起步,数据管理中全
部工作,都必须要由应用程序员自己设计程序完成去完成。由于需要与计算机硬件以与各外
部存储设备和输入输出设备直接打交道,程序员们常常需要编制大量重复的数据管理基本程
序。数据的逻辑组织与它的物理组织基本上是一样的,因此当数据的逻辑组织、物理组织或
存储设备发生变化时,进行数据管理工作的许多应用程序就必须要进行重新编制。这样就给
数据管理的维护工作带来许多困难。并且由于一组数据常常只对应于一种应用程序,因此很
难实现多个不同应用程序间的数据资源共享。存在着大量重复数据,信息资源浪费严重。
[2]文件管理阶段
这一阶段发生于六十年代,由于当时计算机硬件的发展,以与系统软件尤其是文件系统的出
现和发展,人们开始利用文件系统来帮助完成数据管理工作,具体讲就是:数据以多种组织
结构(如顺序文件组织、索引文件文件组织和直接存取文件组织等)的文件形式保存在外部
存储设备上,用户通过文件系统而无需直接与外部设备打交道,以此来完成数据的修改、插
入、删除、检索等管理操作;使用这种管理方式,不仅减轻进行数据管理的应用程序工作量,
更重要地是,当数据的物理组织或存储设备发生变化时,数据的逻辑组织可以不受任何影响,
从而保证了基于数据逻辑组织所编制的应用程序也可以不受硬件设备变化的影响。这样就使
得程序和数据之间具有了一定的相互独立性。
但由于数据文件的逻辑结构完全是根据应用程序的具体要求而设计,它的管理与维护完全是
由应用程序本身来完成,因此数据文件的逻辑结构与应用程序密切相关,当数据的逻辑结构
2 / 32
需要修改时,应用程序也就不可避免地需要进行修改;同样当应用程序需要进行变动时,常
常又会要求数据的逻辑结构进行相应的变动。在这种情况下,数据管理中的维护工作量也是
较大的。更主要的是由于采用文件的形式来进行数据管理工作,常常需要将一个完整的、相
互关联的数据集合,人为地分割成若干相互独立的文件,以便通过基于文件系统的编程来实
现来对它们的管理操作。这样做同样会导致数据的过多冗余和增加数据维护工作的复杂性。
例如人事部门、教务部门和医务部门对学生数据信息的管理,这三个部门中有许多数据是一
样的,如、年龄、性别等,由于是各部门均是根据自己的要求,建立各自的数据文件和应用
程序,这样不仅造成了大量的一样数据重复存储,而且在修改时,常常需要同时修改三个文
件中的数据项,如修改学生年龄,此外若需要增加一个描述学生的数据项,如通讯地址,那
么所有的应用程序就必须都要进行相应的修改。除此之外,采用文件系统来帮助进行数据管
理工作,在数据的安全和等方面,也难以采取有效的措施加以控制。
[3]数据库管理阶段
1在不断改进和完善文件系统的过程中,从六十年代后期开始,人们逐步研究和发展了
以数据的统一管理和数据共享为主要特征的数据库系统。即在数据在统一控制之下,为尽可
能多的应用和用户服务,数据库中的数据组织结构与数据库的应用程序相互间有较大的相对
独立性等。与以往前数据管理方法和技术相比,利用数据库系统来进行数据管理工作具有以
下三个显著特点:
(1)从整体角度组织数据
数据库系统与文件系统的最大差别就在于前者在描述数据时,不仅仅是对数据本身进行描述,
而且对数据之间的相互联系也进行了描述。因此在组织数据时是从一个相对较高的整体角度
进行的,而不是仅仅局限于个别的数据管理应用场合。如前面提到的人事部门、教务部门和
医务部门对学生数据的管理工作,在利用数据库系统来进行管理时,若从整体考虑,其数据
的组织结构如图1.1所示。
图1.1 学生信息数据组织结构
采用这种数据组织不仅可以有效地解决了文件系统的数据组织中所存在的数据冗余以与数
据一致性维护的问题。更主要的是它可以使人们从更高的全局角度出发,合理地组织数据,
从而有利于更大围的数据资源的共享,提高信息的使用效率。
(2)数据可为多个应用服务
正因为数据库中的数据是从整体角度进行组织的,因此,数据库中所存储的数据往往就不仅
局限于只为一二个应用提供服务,而是在更大围为仅可能多的应用提供服务,如图1.1所示
的一个数据库中所存储的数据,就至少可以为三个部门的应用提供服务。而实际上如图1.1
所示的数据组织结构仅仅只是一个学校数据管理数据库中的一小部分。与此同时由于数据库
系统是以多级(层)组织模式对数据进行组织的,各级(层)模式之间的映射是由数据库系
统自己完成的,这就使得数据与程序之间可以具有较高的物理和逻辑相对独立性。正是这一
点,给数据库中的数据为多个应用提供服务奠定了基础。事实上数据库的规模越大,所能够
提供的应用服务就可以越多,也就越能体现出数据库在数据管理中的优势。当然这只是相对
而言,随着数据库中数据规模的扩大,数据库应用系统的制作和维护的工作也在迅速增加。
(3)有一个数据库系统的管理软件
学生信息数据公用部分
人事部门学生数据专用部分
教务部门学生数据专用部分
医务部门学生数据专用部分
3 / 32
任何数据库系统都包含一个管理软件,即数据库系统的管理软件,通常又称为数据库管理系
统,它负责统一管理数据库系统中所有数据资源,是数据库系统与用户应用之间的接口,通
过它,用户可以不必要了解过多的计算机硬件、软件和数据库本身许多专业知识,更不用去
了解数据库系统是如何完成数据管理工作的具体细节,如文件如何打开、关闭、读、写等等,
就可以通过编写一些较为简单数据库应用程序,很方便地完成在较高级别逻辑组织基础上的
数据管理工作。除此之外,数据库管理系统还负责完成在对数据库进行并发访问时,保证数
据一致性的并发控制工作;保证数据安全性的访问控制工作;以与在数据库系统出现故障时,
提供保证数据一致性和完整性的恢复机制等诸多数据库系统本身的各种管理控制工作。因此
这里也可以看出,数据库管理系统功能的强弱与其各项性能指标的好坏,是衡量数据库系统
质量的一个极其重要的因素。
利用数据库系统进行数据管理工作,不仅可以保证数据的物理组织结构和存储设备与数据库
应用程序之间保持相互独立性;同时也可以保证数据的逻辑组织结构与数据库应用程序之间
保持最大可能的相互独立性,即当数据的逻辑组织结构发生变化时,数据库应用程序的变动
被限制在最小的围。由此可大减少数据库应用程序的开发与维护的工作量。
在数据库管理阶段,根据数据库系统本身所支持的数据模型的特点与所采用的相应数据库系
统技术,可以认为数据库管理到目前为止已发展经历了三代,即层次网状模型代、关系模型
代和面向对象模型代。
(1)层次网状模型代:流行于六十至七十年代,在这一代中的数据库系统所支持的数据模型
均是层次模型或网状模型。世界上第一个数据库系统是于1964年由美国通用电气公司开发成
功的IDS(Integrated Data Store),它就是基于网状模型的数据库系统。IBM公司于六十年
代末推出了第一个商品化的层次数据库系统IMS(Information Management Sytem),它们的
出现与应用为数据库技术的发展奠定了基础。
(2)关系模型代:流行于七十至八十年代,在这一代中的数据库系统所支持的数据的数据模
型均是关系模型。以关系(表)形式组织数据。1970年Codd提出了关系数据模型,由于其具
有严格的数学基础,抽象级别较高,且简单清晰,便于理解应用。到了七十年代末,出现了
不少关系数据库系统,其中具有代表性应首推IBM公司推出的SQL/DS和DB2两个商品化关系数
据库系统。进行八十年代以后,关系数据库系统已成为数据库系统发展的主流,几乎所有新
推出的数据库系统产品都是关系型的,它们中不仅有用于大型机和小型机数据库产品,而且
有可用于微机的数据库产品。市场上开始出现关系数据库的系列产品,这其中发行量较大且
在我国用得较多的有Oracle、Sybase、Sysbase、Informix、FoxPro等。随着微机和计算机
网络的广泛普与和应用,分布式数据库系统在八十年代后期,开始得到很大发展。其理论和
技术日趋成熟。目前几乎所有分布式数据库系统均是关系型的,而且几乎所有主要关系数据
库系统均已被扩充为分布式数据库系统。
(3)面向对象代:开始九十年代,在这一代中的数据库系统支持面向对象的数据模型。它是
数据库技术与面向对象程序设计方法相结合的产物。作为新一代数据库系统,现在已有了一
些商品化系统。但其具体应用尚不多。
1.2 数据库系统
4 / 32
本节主要介绍有关数据库结构和数据库系统组织的一些基本知识和概念,使读者对数据库系
统的涵有一个较为清楚的认识。
1.2.1 数据库系统概念
由于数据库系统是一个由许多基本概念、技术方法和其应用对象所组成的复杂的有机整体。
很难用一两句话将其描述清楚。但为了使读者对它有一个总体的了解,首先这里我们试着给
出一个关于数据库系统的定义,即数据库系统中的数据库是一个已被规格化和结构化且相互
关联的数据集合,这些数据中不存在有害的或无意义的冗余;数据的组织与存储结构与使用
这些数据的程序相互独立;数据库中的数据可同时为多个应用服务;数据库中的数据定义、
输入、修改和检索等所有操作均是按一种公用的且可控的方式进行。根据这一数据库定义以
与实际应用的具体数据库系统的情况,我们可以认为一个数据库系统实际上是由三部分容组
成,它们是数据库、多种应用和数据库管理系统。这三部分之间的相互关系如图1.2所示。
(1)数据库:相互关联的且具有最小冗余的数据在其中按照一定物理组织结构存放,并且从
用户和数据库管理系统角度来看,这些数据又是按一定逻辑结构组织的。这种物理组织结构
和逻辑组织结构在最大程度上与用户所编制的应用程序相互独立。
(2)多种应用:数据库中的数据,在数据库管理系统的控制与管理之下,可以同时为多种不
同容的应用提供服务,即可以为多个不同目的用户服务,各用户所操作使用的数据可以是相
互交叉的。用户的操作方式既可以按以数据输入/输出和数据维护为主的数据流量较大的批
处理方式进行;也可以按以查询为主的数据流量较小的联机处理方式进行,必要时还可以通
过编程来完成对数据库中数据的各种操作。
(3)数据库管理系统:它一方面负责对数据库中的数据进行管理和维护;一方面为用户操作
数据库中的数据提供一种公用的操作方法,接收用户的操作命令,帮助完成有关的对数据库
的操作并保障数据库的安全。
根据对数据库的定义以与数据库系统基本组成与作用的描述,我们认为一个的数据库系统应
该具有的以下五个基本特点:
[1]由于数据库系统是从整体角度考虑数据的组织,因此它必须有能力描述能够反映客观事
物与其相互联系的复杂数据模型,使用它能够对数据本身与相互间的各种关系进行充分描述,
这也是人们为什么要采用数据库系统来进行数据管理的主要原因之一。目前数据库系统共提
供了四种数据模型,它们是层次数据模型、网状数据模型、关系数据模型和对象数据模型,
一种类型数据库系统通常只提供上述其中一种数据模型描述方法,即只支持其中一种数据模
型的数据逻辑组织结构。
图1.2 数据库系统组成
[2]数据库中数据的独立性。为了说明这一点,首先我们介绍两个概念,(1)数据在物理存
储设备上的组织结构被称为数据的物理组织;(2)数据在用户或应用程序面前所表现出的组
织结构被称为数据的逻辑组织;一种数据的逻辑组织,可以采用不同的物理组织来实现,物
用户1
用户2
....
用户n
数据库管理系统
数据库
5 / 32
理组织的好坏影响着系统的性能和效率。在运行阶段中,由于性能的要求或存储设备的改变,
从而引起数据物理组织的改变,这种改变称为数据的再组织。用户在编制应用程序时,则是
根据数据的逻辑组织对数据进行操作的。因此数据物理组织的变化,不会影响数据的逻辑组
织,因而也就不会影响已有的应用程序,这种情况就被称为数据的物理独立性;而数据的逻
辑独立性是指当数据的逻辑组织发生变化时,如数据模型中增加了新的记录类型,某一记录
类型中增加了新的数据项等,原有应用程序的执行不受影响或影响最小。数据的独立性,包
括物理和逻辑的独立性,都是由数据库管理系统进行维护的。
[3]数据共享,由于数据库是从整体的角度对数据进行组织的,并在保证数据一致性的情形
之下,使数据库中的数据为尽可能多的用户提供应用服务。这些用户所使用的数据可以是交
叉的,即数据可以共享。如果数据不能共享,数据库中则必然会出现大量的冗余数据,这样
不仅造成存储空间的浪费,更主要的是由此可能带来数据不一致的隐患。
[4]数据库系统的安全可靠与完整,一个数据库系统的可靠性体现在它的软件系统运行故障
率很小以与在数据库系统由于各种意外而出现故障时,数据库中的数据的损失最小;安全性
是指数据库系统对其所存储的数据的保护能力,能够有效地防止数据有意无意地泄露或篡改,
控制数据的授权访问等。而数据库系统的完整性则是指在多用户操作数据情况下,数据能够
保持一致性。这些特性可以从以下几个方面进行说明:
〈1〉安全性控制
安全性控制主要指的是数据库的性。并不是每个用户都能够存取数据库中所有数据的,负责
人和全体工作人员允许掌握的数据围显然是有区别的,数据库系统把各用户存取数据的权利
分成若干等级,如教学人员作为一个用户可以登录学生的成绩,而学生作为一个用户则仅可
以查阅成绩而无法对它进行修改或删除。通过对各个用户授于不同的使用权限,以确保数据
库免遭损害和被非法使用,通常是通过采用口令密码以与数据库中数据访问授权等方法对使
用者操作数据的合法权进行检验,以实现对数据库中数据安全性的保护控制。
〈2〉完整性控制
所谓完整性包括数据的正确性、有效性和相容性。正确的数据不一定是有效的。如若用两位
阿拉伯数字来表示月份,在输入14来代表月份时显然是无效的。数据库系统应提供尽可能多
的检验措施,以确保数据库中的数据满足用户所要求的各种约束要求。
〈3〉并发控制
在多用户操作使用数据库系统的情况下,不同用户并行地操作数据库就可能引起对数据库的
干扰,从而使得数据库中的数据发生不一致的问题。如当甲用户从数据库中预定了仅剩的一
机票之后,若在数据库尚来不与将剩余的机票数改为零时,乙用户又请求订票时怎么办?显
然对这种并发的操作要采取某种控制措施,最常用的方法是封锁技术,以排除和避免这种错
误的发生,保证数据库中数据的操作能够正确完成执行。
〈4〉故障的发现与恢复
由于数据库系统在运行过程中很难保证不产生故障、出现意义或受到破坏,而且往往这些情
况的发生的时间都是随机的,如断电、用户误操作等,而重建一个数据库往往要花费很大的
精力和代价,有时甚至是不可能的,因此数据库系统应提供应急保护设施,一旦系统的软硬
件发生故障或用户误操作导致系统异常时,系统应能够以尽量小的代价,尽快地恢复数据库
的容和系统的正常运行。
[5]良好的人机接口与性能,任何数据库系统最终都是要和用户打交道,系统所具有的各种
功能最终都需要由用户来进行操作使用。简单易学、操作简便和用户界面友好是任何一个数
据库系统所必须的。此外系统的响应速度,单位时间数据的吞吐量也是衡量数据库性能重要
指标。
剩余31页未读,继续阅读
资源评论
智慧安全方案
- 粉丝: 3674
- 资源: 59万+
下载权益
C知道特权
VIP文章
课程特权
开通VIP
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功