序言
计算机始于数值计算,却在非数值计
算中得到了广泛的用,显示了它强大的生
命力。在现代计算机应用领域中,数据处
理占约 70~80%。数据库技术是数据处理的
最新成果。它的出现,使得计算机应用更
加广泛地渗透到工业、农业、商业、文教、
卫生及军事等各个领域 。
数据库系统是一门综合性的软件
技术,它是 编译原理、数据结构、操
作系统、程序设计 等许多软件知识的
综合应用,其理论性和实践性都很强,
是使用计算机进行各种信息管理的必
备知识 。
数据库技产生于本世纪 60年代末 70年代初。
它的出现使得计算机应用进入了数据处理最精
华的思想,是管理信息最先进的工具。而与人
工智能技术的结合又使它获了新的血液。 80年
代中期数据库技术进入了一个新的层次,智能
数据库、演绎数据库、专家数据库、面向对象
的数据库、工程数据库、多介质数据库、并行
数据库、实时数据库等就是当代数据库技术的
研究前沿。
第九章 数据库系统
绪 论
DBS的功能特性
数据库管理系统什么是数据库
数据模型
数据库系统结构


一、实体,信息,数据
人类生存的世界是一个物质的世界,同
时也是一个信息的世界。信息伴随物质而存
在,并随物质的变化而变化。物质是信息的
基础,信息是物质的反映。表示信息最准确
的工具是数据 。
数据表示信息,信息反映事物的客观状态。数据、
信息、物质三者之间互为联系,自成一体。而从事物
的状态到表示该状态的数据,经历了三个不同的世界,
1、现实世界 2、信息世界
3、计算机世界
?实体( Entity)
客观存在并可相互区别的物体叫实体。
?实体集 (Entity Set)
性质相同的同类实体的集合叫实体集 。
?属性 (Attribute)
实体所具有的某一特性叫属性。
?实体标识符
现实世界中的实体是千差万别的,即使是同类实体也各
不相同,因而不可能有两个实体在所有属性上都是相同的。通
常人们将 能够区分同类实体中的各个实体的属性集称为实体
标识符。
?联系 ( Relationship)
在实体集之间存在的对应关系称为实体之间的联系。
1.现实世界
联系有三类,1,1联系,1,M联系 和 M,M联系,
如图 1— 3所示
X
Y
Z
A
B
C
A
X
Y
Z
X
Y
Z
A
B
C
1,1 联系,1,M 联系 M,M 联系
图 1— 3 实体联系图
出生日期
入学成绩
课 名
学时数
选 课
学生
课程
学 号
教 师
成 绩
姓 名 性 别
图 1 —2 学生与课程的选课联系的 E —R 图
实体
属性
关键字
联系
2、计算机世界
?字段( Field)
标记实体属性的符号集叫数据项,或字段,它是可以命名的最小信
息单位,又叫数据元素或初等项。字段的命名往往和属性相同。
?记录( Record)
字段的有序集叫记录。记录是描述实体的,所以它又可定义为完
整地描述一个实体的符号集。
?文件( File)
同类记录的集合叫文件。文件是描述实体集的,所以它又可定义为
描述一实 体集的所有符号集。
?关键字( Key),能唯一标识一个记录的字段集叫关键字。
以各术语的对应关系为:
现实世界 --------计算机世界 属 性 -------字段
实 体 --------记 录 实体集 -------文件
实体标识符 ---记录关键字
二、数据库发展简史
(1)手工管理阶段
(2)文件管理阶段
(3)数据库系统阶段
1、文件系统阶段
特点:
1) 顺序文件组织与随机文件组织并用;
2) 批量处理和实时处理并存;
3) 物理结构和逻辑结构间有了简单
的变换;
4) 软件提供存取方法;
5) 对单个应用较优;
6) 数据冗余较多;
7) 数据无集中管理。
缺陷:
1)文件或数据是面向单个用户;
2) 冗余量大,数据不能共享;
3) 数据独立性差;
4) 数据无集中管理。
2 数据库系统阶段
初等数据库系统阶段 (三个事件,)
1)1968年美国IBM公司研制了世界上第一个数据库管
理系统IMS( Information Management Systems) ;
2)1969年美国C ODASYL(Conference on data Systems
Languages)组织的数据库工作小组发表了DBTG( Data
Base Task Group)报告;
3)1970年美国IBM公司的研究员E,F.Codd发表了关
系数据库理论的论文。
这三个事件是数据处理史上划时代的标志,是从文件系
统进入数据库系统的里程碑。
高等数据库的典型代表有:
演 绎 数 据 库, 知 识 数 据 库,
智 能 数 据 库, 专 家 数 据 库,
工 程 数 据 库, 分 布 式 数 据 库,
多 介 质 数 据 库, 面 向 对 象 数 据 库 等 。
高等数据库系统阶段
三、研究数据库技术的方法
数据库,系统作为软件的一个分支,与其他软件技
术及其他学科领域有着密切的关系。它几乎涉及到计算机
领域的所有知识,是各种知识和技术的综合应用。
首先数据库,系统是在操作系统O S( Operating
System)支持下工作的,它和OS关系密切,界线不清,
有些工作OS可以做,DBNS也可以做。
其次数据结构,它是软件专业的一门专业基础课编译
系统、操作系统都要用到它,而数据库系统用得更多。
再次是编译技术,在数据库中的许多语言,例如数
据定义语言,数据操纵语言,查询语言等,这些语言的编
绎都是数据库系统的任务。
另外离散数学、数理逻辑是关系数据库的理论基础,关
系数据库中的许多概念、思想以至名词、术语都来自离散
数学和数理逻辑。
此外,算法分析、软件工程、程序设计等诸门课程都是
数据库系统中不可缺少的技术和知识。
最后人工智能、图像识别、逻辑程序、管理信息等技术
是新一代数据库必不可少的技术。
三、研究数据库技术的方法
什么是数据库
由于文件系统存在许多缺陷, 数据库系统必须解决下
列问题:
怎样使数据与程序进一步地真正地分离?
怎样使数据不是面向某个具体应用, 而是面向整体,
面向全局所有的应用?
怎样尽可能地共享数据, 控制冗余?
怎样才能既反映数据本身又反映这些数据之间的联系?
怎样集中管理所有的文件?
一、实例,教师信息管理系统文件处理方式:序号 姓名 性别 年龄 职称 单位 工龄 工资
序号 姓名 职称 年龄 单位 科研名称 经费
序号 姓名 职称 年龄 单位 课程名 学时
序号 姓名 单位 工资 工龄补贴 房租 水电
人事处
教务处
科研处
财务处
文件系统存在的问题:
( 1)文件的逻辑结构等于物理结构,因而程序
与物理结构互相依赖;
( 2)文件是独立的、分散的,只反映文件本身
的结构,即实体信息,而未反映文件之间的联系,
因而不能进行交叉文件访问;
( 3)数据大量重复;
( 4)数据无集中管理,安全、保密得不到保证。
自然状态文件
序号 姓名 性别 年龄 职称 单位
项目文件 工资文件 教学文件
序号 项目 经费 序号 工龄 工资 房租 水电 序号 课名 学时
基本文件
序号 姓名 性别 年龄 职称 单位 工龄 工资 科研 经费 课名 学时 房租 水电
数据库处理方式:
人事登记表 科研登记表
序号 姓名 性别 年龄 职称 单位 工龄 工资 序号 姓名 职称 年龄 单位 项目 经费
教学登记表 工资卡片
序号 姓名 职称 年龄 单位 课程 学时 序号 姓名 单位 工资 工龄 房租 水电
面向具体用户
面向物理存贮
面向系统整体
二、数据库技术的本质是变换
三级模型两层变换,
外模型面向具体用户,概念模型面向整体,内模型面向
物理存贮。它们之间的联系是由数据库系统的核心软件
DBMS通过两级变换来实现的。




理 变
物 换
外模
型 外模 型
外模

外模

逻辑
变换
逻辑
变换
逻辑
变换
逻辑
变换
概 模


概念模型又称数据模型,它不仅描述了数据,还
描述了数据间的联系,模型是用图形来表示的,为了
让计算机能认识它,DBMS设计了一种数据描述语言
DDL( Data Description Language),通常称用 DDL精
确定义数据模型的程序为模式( Scheme)。
对应上述三种模型有下三种模式:
1、外模式
2、概念模式
3、内模式
三级模式二级变换
子模式是模式的逻辑子集,它可以从模式推导出来,概念模式
是各子模式的逻辑汇总和综合,物理模式是概念模式具体表现 。
用户集 A 用户集 C用户集 B
子模式 A 子模式 B 子模式 C
概念模式
物理模式
数 据 库
逻辑变换
物理变换
这两级变换,为数据库带来了众多优越性:
首先将数据与程序真正分离了,
其次有了两级变换,实现 了数据共享,
减少了大量了数据冗余。
子模式、模式和物理模式分别对应着三
层数据库:
用户数据库、概念数据库和物理数据
库 。其中只有物理数据库才真正存在,其
他两层只由 DBMS从物理数据库构造出来的。
用户数据库是概念数据库的部分抽取:概
念数据库是用户数据库的汇集和综合,又是物
理数据库的抽象;物理数据库是概念数据库的
具体实现。
在设计数据库时,主要考虑的是数据库的骨
架,而使用数据时用户最关心的是数据库的内容。
数据库的框架是相对稳定的,而数据库的内容是
随时变化的。
?数据独立性
?数据安全性
?数据完整性
?数据一致性
?数据共享性
?并发控制
?故障恢复
?数据字典
?控制冗余
?集中管理
一、数据独立性
在数据库系统中,通过三级模式两级变换将用户数据与
物理数据彻底分开了。
第一次变换是子模式与模式的变换。使子模式与模式相
互独立,从而与子模式密切有关的应用程序也就独立于模式
了。通常把这一级独立性称为逻辑独立性。
第二级变换是模式与物理模式之间的变换,它使得物理
存贮发生变化时,模式结构都无需修改。人们称这一独立性
为物理独立性。
逻辑独立性与物理独立性合称数据独立性。独立性的实现
是数据库管理系统通过改变映射关系而完成的。
在 文 件 系 统 环 境 下, 数 据 的 安 全 性 是 由 用
户 自 己 负 责 的 。 在 数 据 库 系 统 环 境 下, 数 据 的
安 全 性 由 系 统 负 责 。 所 谓 安 全 性 是 指 防 止 无 关
人 员 获 取 他 不 该 知 道 的 数 据 。 在 数 据 库 系 统 中
采取下列一些措施和策略来保证数据的安全性,
二、数据安全性
?鉴别身份
?存取控制
?子模式
数据完整性就是数据的正确性、真实性、
客观性。分为逻辑完整性、运行完整性和物
理完整性。
所谓逻辑完整性是指数据库的任何变化
都要反映客观世界的真实的合理的状态。
所谓运行完整性破坏是指在多用户并行
操作的情况下,由于失控造成的对数据库的
修改而导致对数据的破坏。
而物理完整性是指物理数据的正确性 。
三、数据完整性
四、数据一致性
数据一致性是指表示客观世界同一事物状态
的数据,不管出现在何时都是一致的,正确的,
完整的。
数据不一致性是指数据的矛盾性、不相容性。
产生数据不一致的原因主要有三个:
一是数据冗余造成的;
二是并发控制不当造成的;
三是各种故障、错误造成的。
数据是一种十分宝贵的资源, 如何充分利用这些宝贵的资
源成为数据处理一项很重要的任务 。 数据系统有了集中管理
文件的软件系统, 有了子模式的概念, 多个用户共享数据是
非常自然的 。
数据共享是数据库系统的主要功能特色之一 。 它体现在:
?.多个应用可以使用同一数据文件, 记录, 数据项值;
?.在同一时刻多个用户可存取同一数据;
?.可以开发新的应用而不用增加新在存贮空间;
?.可以为社会开放, 成为社会的一种信息资源 。
五、数据共享
六,并发控制
由于数据库系统实现了多个用户共享数
据,所以就可能在同一时刻多个用户要求
存取同一数据。如果其中有修改操作,则
就可能破坏数据的完整性或一致性。我们
把这些同时发生的操作称并发操作。而把
对并发操作施行的控制策略称为并发控制,
数据库系统进行并发控制的基本方法是将被操作
的数据进行 封 锁
七.故障恢复
在数据库系统运进中,很难做到不出故障。这些
故障是多利多样的,硬件的,软件的,系统的,用
户的,都可能发生意外而导致破坏数据库 。
数据库系统通常采用下列策略进行恢复,
(1)建立副本(转贮或倒库)
(2)日志
对 数 据 库 进 行 更 新 的 事 务 的 标 识 符
保存被改变的旧值
保存被改变的旧值
记录事物处理中各个关键时刻
(3)检查点
通常采用下列方法,
当事务正常运行时,系统按一定时间间隔设
立检查点。在检查点前运行完的事务都是正常运
行完毕的。每个倒库的时间就选择在检查点 。
(4)差分文件
为了防止事务的错误操作对数据库的破坏,系
统不是把每次对数据库的更新都立即写回到数据库
中,而是把它们记录在一个别临时文件上。只有当
系统正常运行时,选择适当的时机再将该临时文件
存贮到数据库中。我们把这种临时文件叫差分文件,
数据库系统除了数据库本身外,还有很多非数据的
信息。例如模式和子模式的内容,文件间的联系,数据项
的长度、类型,用户标识符,口令,索引等等。把这些信
息集中保存在一个专门的地方,这就是数据字典。
数据字典的作用是:
1) 管理数据资源
2) 数据标准化
3) 作为设计和分析的工具
4) 供 DBMS进行存取控制和管理用
5) 供数据库管理员( DBA)进行各种查询
八、数 据 字 典
数据库中的数据从整体上来看是有结构的,即
所谓数据的结构化。按照实现结构化所采取的
不同联系方式,数据库的整体结构常见的有三
类数据模型:
1、层次模型
2、网络模型
3、关系模型
数据 模型
层次模型 ( Hierarchical Model)实际上就是图论中
的树的定义。满足下面两个条件的数据结构,称作层次
模型:
①有且仅有一个结点无双亲,这个结点即树的 根 ;
②其它结点有且仅有一个双亲。
有双亲的结点中,如果同时又是别的结点的双亲,则此
结点又称 中间结点 ;如果不是任何结点的双亲,则此结
点称作 叶结点 。例如,一个单位的各级行政组织机构就
是一个层次模型,如图 1-4所示。
1、层次模型
图 1-4 层次模型
中间结点
根结点
叶结点
热农大
农学院经贸学院设备科
农经系 财会系计科系
网络模型 (Network Model)是指除树以外的一个连通图,即
网状结构(见图 1— 5)。 因此满足下面两个条件之一的数
据结构,称作网络模型:
①可以有一个以上的结点无双亲;
②至少有一个结点有多于一个的双亲。
要表示一个网络模型的整体结构,就必须指出这个网
络模型的各种联系。
网络模型 与 层次模型 的 主要区别,在于层次模型中从
子结点到双亲结点的联系是唯一的,而网络模型中从子结
点到双亲结点的联系不是唯一的。层次模型和网络模型又
统称为格式化模型
2、网络模型
R1 R2
R3 R4 R5
图 1— 5 网络模型
关系模型 ( Relational Model)是一种以严格的数学理论
为基础构造的数据模型,它以一个二维表来描述各类数
据及其关系,这个表称为关系表。关系模型具有以下性
质:
①每一列中的数据属于同一类型;
②各列须具有不同名称;
③不允许有两行完全相同;
④行与行、列与列的顺序可以任意交换;
⑤表中的数据项是不可再分的,即不能有“表中
表”。
关系模型具有广泛的适用性;又由于关系模型是以
二维表格的形式来存储数据的,因此它具有结构简单、
易学易用等优点。
3、关系模型
表 1- 2 术语对照表
表格 关系 数据库
二维表 关系 数据库文件
列 属性 字段
行 元组 (值) 记录
姓 名 性别 出生日期 婚否 职 称 工 资
石永和 男 03/12/67,T,讲师 765.00
李济深 男 11/25/62,T,副教授 985.00
宋 敏 女 12/03/75,F,助教 610.00
陈晓思 男 01/17/75,F,助教 610.00
李秀英 女 11/05/56,T,教授 1305.50
数据库管理系统 DBMS是数据库系统的核心软件,
它的最基本的功能是允许用户逻辑地、抽象地处理
数据而不必过问这些数据在计算机中是如何存放处
理的细节 。 一般的 DBMS由以下三部分组成:
定义数据库结构的语言,即数据定义语言 ;
操纵数据库的语言,即数据操纵语言;
数据库系统的各种实用程序,包括:
A.装配程序
B.控制程序
C.维护程序
D.故障恢复程序
E.其他实用程序
数据库管理系统
数据库系统将数据与程序分离,导致了
定义数据结构语言的独立。数据描述语言
DDL( Data Description Language)分三种,
1.模式 DDL
DBA用模式 DDL来定义数据库的整体逻
辑结构。通常包括定义记录类、文件名、种
类、长度,文件间的联系,完整性、安全性
的约束等。
一,数据描述语言
3.物理 DDL
DBA用物理 DDL来描述物理模式。它
包括存贮介质的一些参数描述,数据在存贮
介质上的组织、安排 。
2.子模式 DDL
子模式 DDL是用户用来定义他需要的局部逻
辑数据结构。这包括他用的文件名,记录类数据项
名及其来源于何种文件记录、何种数据项。同一子
模式可为多个应用程序共用。
二.数据操纵语言
数据操纵语言 DML( Data Manipulation Language)
是 DBMS提供给应用程序员进行数据装配、检索、修
改、删除等操作的语言工具,也称为数据库子语言。
>>数据操纵语言有两种使用方式,
一种是与高级语言接口 ;
另一种是独立的自含的语言 。
我们简介几种常用的微机关系型数据库管理系统。
1,dBASE,FoxBASE与 FoxPRO
dBASE 是一个微机上广泛使用的关系式数据库管理系
统,由美国 Ashton-Tate公司开发,人称“大众数据库”。
dBASE在中国推广使用经历了 dBASEⅡ, dBASEⅢ,
dBASEⅢ PLUS以及 dBASEⅣ 四个发展阶段。
FoxBASE 是美国 Fox Software公司八十年代推出的
微机关系数据库管理系统。 FoxBASE+2.10与著名的“大众数
据库” dBASEⅢ 完全兼容,但运行速度比 dBASEⅢ 快、功能
上有许多扩充,显示出强大的生命力。因此受到普遍欢迎。
三、微型计算机数据库管理系统简介
FoxPRO 是美国 Microsoft公司九十年代推出的关系式数
据库管理系统,能跨所有主要的 PC操作系统平台,主要特点:
①将 Windows操作系统的优越性带给数据库用户与开发
者。 允许在应用系统中加入位图、声音、图像、字模等多媒
体数据;允许与其它 Windows 应用程序进行数据的动态交换
( DDL);具有对象链接与嵌入( OLE)的功能。
②基于如 DOS,WINDOWS,UNIX跨平台性能,即程
序编写一次,即可为多个平台所用;
③能直接运行并增强 dBASE,FoxBASE应用程序;
④通过系统提供的应用程序生成器、屏幕生成器、报表
生成器、菜单生成器而提高软件开发者的效率。
2,ORACLE
ORACLE关系数据库管理系统是目前世界上比较流
行的关系型数据库管理系统。它之所以倍受广大用户的
喜爱,是因为它有许多突出的优点。
①兼容性 (Compatibility)。 ORACLE采用标准的数
据语言 SQL,它与 IBM的 SQL/ DS 和 DB2完全兼容。
②可移植性 (Portability)。 ORACLE 数据库是目前
世界上唯一具有很宽范围的硬件和操作系统适应性的
DBMS,它可以在不同的机型下运行;也可以在不同的
操作系统如 UNIX,MS-DOS,XENIX等下运行。
③ 可联结性 (Connectability)。 ORACLE由于在各种
机型上使用相同的软件,使得联网更加容易的实现分布
式处理功能。
④高的生产率 (High Productivity)。 ORACLE除了为
程序员提供两种类型的程序接口:预编译程序接口
Pro*ORACLE和子程序调用接口 Pro*SQL外,还为应用
开发人员提供了应用生成器、菜单管理、报表生成、电
子表接口等一批第四代语言工具
3,UNIFY
UNIFY 是当前较流行的多用户操作系统 UNIX环境
中运行的深受欢迎的关系型数据库管理系统。 UNIFY的
主要特点为:
①由于这套系统采用菜单驱动,即使没有编程经验
的用户,也能靠菜单的帮助来建立自己的应用系统,并
且该菜单可以修改。
②由于采用了原始的 I/O(Input/Output)的磁盘管理,
大大改进了一般 UNIX 文件处理的效率,处理速度极快。
③功能强、工具多。 UNIFY提供了许多功能很强的
开发工具,主要包括:屏幕格式建立工具、报表处理器、
数据字典报表工具、输入与查询工具 ENTER、注册
ENTER所使用的屏幕格式,ENTER 与字段的高级特性、
用 ENTER进行格式查询,ENTER报表选择屏幕、
ENTER和 RPT。
数据库系统结构
数据库系统是一个复杂的系统,除了数据库管理系统
DBMS外,它还包括它的支持系统及工作环境。通常数据库系
统由五部分组成,
1.硬件资源;
2.操作系统;
3.数据库管理系统;
4.数据库 ;
5.数据库管理员。 硬 件
OS
DBMS
应用软件
DBMS
系统缓
冲区
子模式 A 子模式 B
模式
物理模式
DBA
数据库系统的体系结构
用户程序 A1
工作区
用户程序 A2
工作区
用户程序 B1
工作区
用户程序 B2
工作区
OS
数 据 库