2
第 一 章
数据库系统基础知识
目录
上一页
下一页
退出
3
本 章 目 录
?第一节 数据管理技术的发展
?第二节 数据库系统
?第三节 数据模型
?第四节 关系数据库
目录
上一页
下一页
退出
4
第一节 数据管理技术的发展
一, 数据与数据处理
数据是指存储在某一种媒体上能够被识别的物理
符号 。 数据有数字, 文字, 图形, 图象, 声音等多
种表现形式 。
信息是一种已经被加工为特定形式的数据, 信息
是以某种数据形式表现的 。
在计算机中, 通过计算机软件来管理数据, 通过
应用程序来对数据进行加工处理 。 用外存储器来存
储数据 。
数据处理是指将数据转换成信息的过程 。 数据处
理的内容主要包括:数据的收集, 整理, 存储, 加
工, 分类, 维护, 排序, 检索和传输等一系列活动
的总和 。 数据处理的目的是从大量的数据中, 根据
数据自身的规律和及其相互联系, 通过分析, 归纳,
目录
上一页
下一页
退出
5
推理等科学方法,利用计算机技术、数据库管理等
技术手段,提取有效的信息资源,为进一步分析、
管理、决策提供依据。数据处理也称信息处理。
二、计算机数据处理技术的发展
计算机对数据的管理是指对数据的组织, 分类,
编码, 存储, 检索和维护提供操作手段 。
计算机数据管理经历了,人工管理, 文件系统,
数据库系统, 分布式数据库系统和面向对象数据库
系统等几个阶段 。
目录
上一页
下一页
退出
6
1.人工管理阶段
早期的计算机主要用于科学计算, 计算处理的数
据量很小, 基本上不存在数据管理的问题 。 从 50年代
初开始, 开始将计算机应用于数据处理 。 当时的计算
机没有专门管理数据的软件, 也没有像磁盘这样可随
机存取的外部存储设备, 对数据的管理没有一定的格
式, 数据依附于处理它的应用程序, 使数据和应用程
序一一对应, 互为依赖 。
由于数据与应用程序的对应、依赖关系,应用程
序中的数据无法被其他程序利用,程序与程序之间存
在着大量重复数据,称为 数据冗余 ;同时,由于数据
是对应某一应用程序的,使得数据的 独立性很差, 如
果数据的类型、结构、存取方式或输入输出方式发生
变化,处理它的程序必须相应改变,数据结构性差,
而且数据不能长期保存 。
目录
上一页
下一页
退出
7
在人工管理阶段, 应用程序与数据之间的关系如
图 1-1所示 。
应用程序 1
应用程序 2
应用程序 n
数据组 1
数据组 2
数据组 n
… …
图 1-1
目录
上一页
下一页
退出
8
2.文件管理阶段
从 50年代后期开始至 60年代末为文件管理阶
段, 应用程序通过专门管理数据的软件即 文件系
统管理 来使用数据 。 由于计算机存储技术的发展
和操作系统的出现, 同时计算机硬件也已经具有
可直接存取的磁盘, 磁带及磁鼓等外部存储设备,
软件则出现了高级语言和操作系统, 而操作系统
的一项主要功能是文件管理, 因此, 数据处理应
用程序利用操作系统的文件管理功能, 将相关数
据按一定的规则构成文件, 通过 文件系统对文件
中的数据进行存取, 管理, 实现数据的文件管理
方式 。
目录
上一页
下一页
退出
9
文件管理阶段中,文件系统为程序与数
据之间提供了一个公共接口,使应用程序采
用统一的存取方法来存取、操作数据,程序
与数据之间不再是直接的对应关系,因而程
序和数据有了一定的独立性 。程序和数据分
开存储,有了程序文件和数据文件的区别。
数据文件可以长期保存在外存储器上被多次
存取。
数据和程序相互依赖。同一数据项可能
重复出现在同一个文件中,这就导致了数据
冗余度大。造成数据的不一致性。
目录
上一页
下一页
退出
10
在文件管理阶段, 应用程序与
数据之间的关系如图 1-2所示 。
操作系统
应用程序 n
应用程序 2 数据组 2
数据组 n
应用程序 1 数据组 1
图 1-2
目录
上一页
下一页
退出
11
3,数据库系统
数据库管理阶段是 20世纪 60年代后期开始在文
件管理基础上发展起来的 。 为了实现计算机对数据
的统一管理, 达到数据共享的目的, 发展了数据库
技术 。
数据库技术的主要目的是有效地管理和存取大
量的数据资源 。
数 据 库 管 理 系 统 ( DataBase Management
System,DBMS) 数据库管理系统利用了操作系统
提供的输入 /输出控制和文件访问功能 。 Vf就是一种
在操作系统上运行的数据库管理系统软件 。 数据
库技术使数据有了统一的结构, 对所有的数据实行
统一, 集中, 独立的管理, 以实现数据的共享, 保
证数据的完整性和安全性, 提高了数据管理效率 。
数据库也是以文件方式存储数据的, 但它是数据的
一种高级组织形式 。 在应用程序和数据库之间, 由
目录
上一页
下一页
退出
12
数据库管理软件 DBMS把所有应用程序中使用的相
关数据汇集起来,按统一的数据模型,以记录为单
位存储在数据库中,为各个应用程序提供方便、快
捷的查询、使用。
在数据库管理阶段,应用程序与数据之间的关
系如图 1-3所示。
┆ 数据库管理系统 数据库
应用程序 2
应用程序 1
应用程序 n
图 1-3
目录
上一页
下一页
退出
13
1) 分布式数据库
分 布 式 数 据 库 系 统 ( Distributed DataBase
System,DDBS) 是在集中式数据库基础上发展起来的,
是数据库技术与计算机网络技术, 分布处理技术相结
合的产物 。 分布式数据库系统是地理上分布在计算机
网络不同结点, 逻辑上属于同一系统的数据库系统,
能支持全局应用, 同时存取两个或两个以上结点的数
据 。
分布式数据库系统的主要特点是:
( 1) 数据是分布的 。 数据库中的数据分布在计算
机网络的不同结点上, 而不是集中在一个结点, 区别
于数据存放在服务器上由各用户共享的网络数据库系
统 。
( 2) 数据是逻辑相关的 。 分布在不同结点的数据,
逻辑上属于同一个数据库系统, 数据间存在相互关联,
区别于由计算机网络连接的多个独立数据库系统 。
目录
上一页
下一页
退出
14
( 3) 结点的自治性 。 每个结点都有自己的计算机软,
硬件资源, 数据库, 数据库管理系统 ( 即 Local
DataBase Management System,LDBMS局部数据库管
理系统 ), 因而能够独立地管理局部数据库 。
目录
上一页
下一页
退出
15
2) 面向对象数据库
面向对象数据库系统( Object-Oriented DataBase
System,OODBS)是将面向对象的模型、方法和机制,
与先进的数据库技术有机地结合而形成的新型数据库系
统。它从关系模型中脱离出来,强调在数据库框架中发
展类型、数据抽象、继承和持久性;它的基本设计思想
是,一方面把面向对象语言向数据库方向扩展,使应用
程序能够存取并处理对象,另一方面扩展数据库系统,
使其具有面向对象的特征,提供一种综合的语义数据建
模概念集,以便对现实世界中复杂应用的实体和联系建
模。因此,面向对象数据库系统首先 是一个数据库系统,
具备数据库系统的基本功能,其次是一个面向对象的系
统, 针对面向对象的程序设计语言的永久性对象存储管
理而设计的,充分支持完整的面向对象概念和机制。
目录
上一页
下一页
退出
16
数据库新技术
数据库技术发展之快、应用之广是计算机科学其
他领域技术无可比拟的。随着数据库应用领域的不断
扩大和信息量的急剧增长,占主导地位的关系数据库
系统已不能满足新的应用领域的需求,如,CAD(计算
机辅助设计 )/CAM(计算机辅助制造 ),CIMS(计算机集
成制造系统 ),CASE(计算机辅助软件工程 ),OA(办公
自动化 ),GIS(地理信息系统 ),MIS(管理信息系统 )、
KBS(知识库系统 )等,都需要数据库新技术的支持。
这些新应用领域的特点是:存储和处理的对象复杂,
对象间的联系具有复杂的语义信息;需要复杂的数据
类型支持,包括抽象数据类型、无结构的超长数据、
时间和版本数据等;需要常驻内存的对象管理以及支
持对大量对象的存取和计算;支持长事务和嵌套事务
的处理。这些需求是传统关系数据库系统难以满足的。
目录
上一页
下一页
退出
17
一, 几个概念
1,数据库
数据库 (DataBase,DB )是指存储在计算机存储
设备上 结构化的相关数据 集合 。 它不仅包括描述事物
的数据本身, 而且还包括相关事物之间的联系 。 可以
被多个用户共享的, 与应用程序相互独立 。 数据库中
的数据也是以文件的形式存储在存储介质上的, 它是
数据库系统操作的对象和结果 。 数据库中的数据具有
集中性和共享性 。 所谓 集中性 是指把数据库看成性质
不同的数据文件的集合, 其中的数据冗余很小 。 所谓
共享性 是指多个不同用户使用不同语言, 为了不同应
用目的可同时存取数据库中的数据 。 数据库中数据由
第二节 数据库系统
目录
上一页
下一页
退出
18
DBMS进行统一管理和控制, 用户对数据库进行各
种数据操作都是通过 DBMS实现的 。
2,数据库管理系统
数 据 库 管 理 系 统 ( DataBase Management
System,DBMS) 是指负责数据库存取, 维护, 管
理的系统软件 。 DBMS提供对数据库中数据资源进
行统一管理和控制的功能, 将用户应用程序与数据
库数据相互隔离 。 它是数据库系统的核心, 其功能
的强弱是衡量数据库系统性能优劣的主要指标 。
DBMS必须运行在相应的系统平台上, 在操作
系统和相关的系统软件支持下, 才能有效地运行 。
较 流行 的 微 机中 小 型 数据 库 管 理系 统 有
Foxbase,FoxPro,Visual FoxPro,Access等 。
目录
上一页
下一页
退出
19
3,数据库系统的组成
数据库应用系统简称为数据库系统
( DataBase System,DBS), 是一个计算机应
用系统 。 它由计算机硬件, 数据库管理系统,
数据库, 应用程序和用户等部分组成 。
应用程序
硬件
语言编译 DBMS
OS
最终
用户
开发人员 数据库管 理人员
目录
上一页
下一页
退出
20
数据库系统的组成
数据库系统是五部分组成:
硬件系统;
数据库集合 ;
数据库管理系统及相关软件 ;
数据库管理员 ;
用户 ;
目录
上一页
下一页
退出
21
二、数据库的三级模式
数据库的三级模式结构图
目录
上一页
下一页
退出
22
1,模式
模式又称概念模式或逻辑模式,对应概念级。
是所有用户的公共数据视图,由数据库管理系统
提供的数据模式描述语言( DDL)来描述、定义
的,体现、反映了数据库系统的整体观。
2,外模式
外模式又称子模式,对应于用户级。它是某
个或某几个用户所看到的数据库的数据视图 。 外
模式是从模式导出的一个子集,外模式反映了数
据的用户观。
目录
上一页
下一页
退出
23
3,内模式
内模式又称存储模式,对应于物理级。它是数
据库中全体数据的内部表示或底层描述,是数据库
最低一级的逻辑描述。内模式由内模式描述语言来
描述、定义,它是数据库的存储观。
4,三级模式间的映射
通过外模式 ---模式映射,定义和建立某个外
模式与模式间的对应关系,将外模式与模式联系起
来 。
通过模式 ---内模式映射,定义建立数据的逻辑
结构(模式)与存储结构(内模式)间的对应关系 。
目录
上一页
下一页
退出
24
三、据库系统的特点
数据库系统的出现是计算机数据处理技术的
重大进步,它具有以下特点。
1,数据模型表示复杂的数据
数据库中数据的结构通过数据模型描述,不
仅描述数据本身的特点,而且描述数据之间的联
系。
2,实现数据共享, 减少数据冗余
数据的最小单位是字段,即可以按字段的名
称存取库中某一个或某一组字段,也可以存取一
条记录或一组记录。 数据冗余就是数据重复。
目录
上一页
下一页
退出
25
3,具有较高的数据独立性
所谓 数据独立是指数据与应用程序之间的彼此独
立, 它们之间不存在相互依赖的关系 。 应用程序不必随
数据存储结构的改变而变动 。
在数据库系统中, 数据库管理系统通过映像, 实现
应用程序对数据的逻辑结构与物理存储结构之间较高的
独立性 。 数据库的数据独立包括两个方面:
( 1) 物理数据独立:数据的存储格式和组织方法改变
时, 不影响数据库的逻辑结构, 从而不影响应用程序 。
( 2) 逻辑数据独立:数据库逻辑结构的变化 ( 如数据
定义的修改, 数据间联系的变更等 ) 不影响用户的应用
程序 。
数据独立提高了数据处理系统的稳定性, 从而提高
了程序维护的效益 。
目录
上一页
下一页
退出
26
4.有统一的数据控制功能
数据的存取是并发的, 既多个用户同时使用
一个数据库 。 所以, 数据库管理系统必须要提供必
要的保护措施, ( 并发访问控制, 数据安全控制
和数据的完整性控制 ),
目录
上一页
下一页
退出
27
第三节 数据模型
一、数据的描述
1,现实世界
现实世界是存在于人脑之外的客观世界。
2,信息世界
信息世界是现实世界在人们头脑中的反映。
(1) 实体
客观事物在信息世界中称为实体 ( Entity), 它
是现实世界中任何可区分, 识别的事物 。 实体可
以是具体的人或物, 也可以是抽象概念 。
目录
上一页
下一页
退出
28
( 2) 属性
实体具有许多特性, 实体所具有的特性称为属性
( Attribute) 。 一个实体可用若干属性来刻画 。 每个
属性都有特定的取值范围即值域 ( Domain), 值域的类
型可以是整数型, 实数型, 字符型等 。
( 3) 实体型和实体集
属性值的集合表示一个实体, 而属性的集合表示一
种实体的类型, 称为实体型 。 同类型的试题的集合称为
实体集 。
性质相同的同类实体的集合称实体集 。 如:一个班
的学生 。
(4) 键 (key)
唯一标识实体集中每个实体的属性或属性集称为实
体的键 。 如:学生的学号 。
目录
上一页
下一页
退出
29
3,机器世界
机器世界以数据形式存储信息世界中的信息。
(1) 字段 (Field)
标识实体属性的符号集称为字段或数据项。
(2) 记录 (Record)
字段的有序集合称为记录,用以描述一个实体。
(3) 文件 (File)
同一类记录的汇集称为文件,用来描述实体集。
(4) 键 (key)
唯一标识文件中每个字段或字段集称为文件的键。
目录
上一页
下一页
退出
30
二, 数据关系的描述
( 1) 一对一联系 ( 1:1)
若两个不同型实体集中, 任一方的一个实体只与
另一方的一个实体相对应, 称这种联系为一对一联系 。
如班长与班级的联系 。
( 2) 一对多联系 ( 1:n)
若两个不同型实体集中, 一方的一个实体对应另一
方若干个实体, 而另一方的一个实只对应本方一个实
体, 称这种联系为一对多联系 。 如班长与学生的联系 。
( 3) 多对多联系 ( m:n)
若两个不同型实体集中,两实体集中任一实体均
与另一实体集中若干个实体对应,称这种联系为多对
多联系。如教师与学生的联系,一位教师为多个学生
授课,每个学生也有多位任课教师。
目录
上一页
下一页
退出
31
实体联系示意
建立实体模型的一个主要任务就是要确定实体
之间的联系 。 常见的实体联系有 3种:一对一联系,
一对多联系和多对多联系 。 如图 1-4所示 。
班长
班长 -班级
班级
1
1
班长
班长 -学生
学生
1
n
教师
教师 -学生
学生
m
n
( a) ( b) ( c)
图 1-4
目录
上一页
下一页
退出
32
三, 数据模型
数据模型是指数据库中数据与数据之间的关系 。
数据模型是数据库系统中一个关键概念, 数据
模型不同, 相应的数据库系统就完全不同, 任
何一个数据库管理系统都是基于某种数据模型
的 。 数据库管理系统常用的数据模型有下列三
种:
层次模型
网状模型
关系模型
目录
上一页
下一页
退出
33
1,层次数据模型 ( Hierarchical Model)
层次模型是用树型结构来表示实体类型以及
实体间联系的模型 。 他只能表示 1,n的联系, 不
能表示多种以上的实体类型之间的复杂联系和实
体类型之间的多对多的联系 。
层次模型示意图如图 1-5所示 。
图 1-5
目录
上一页
下一页
退出
34
2,网状数据模型 ( Network Model)
网状模型是用网状结构来表示实体类型以
及实体间联系的模型 。 网中的每一个结点表示
一个实体类型 。 它能够表示实体间的多种复杂
联系和实体类型之间的对对多的联系 。
支持网状模型的 DBMS称为网状数据库管理
系统, 这种系统中建立的数据库是网状数据库 。
网络结构可以直接表示多对多联系, 这也是网
状模型的主要优点 。
目录
上一页
下一页
退出
35
3,关系模型 ( Relational Model)
关系模型是用二维表格结构来表示实体以
及实体联系间模型 。 关系是由若干个二维表
组成的集合 。 每个二维表又称为关系 。
Visual FoxPro是一种典型的关系型数据库管
理系统 。
目录
上一页
下一页
退出
36
表 1-1关系模型 -读者表
目录
上一页
下一页
退出
37
第四节 关系数据库
一, 常用 关系术语
1,关系
一个关系就是一张二维表, 每个关系有一个关
系名 。 每个关系 ( 数据库表 ) 用一个文件来存储,
扩展名为,DBF。
如表 1-1读者表就是一个关系 。
2.关系模式
对关系结构的描述称为关系模式,一个关系模
式对应一个关系的结构。
目录
上一页
下一页
退出
38
对关系的描述称为关系模式,其格式为:
关系名 ( 属性名 1,属性名 2,…,属性名 n)
关系既可以用二维表格描述, 也可以用数学
形式的关系模式来描述 。 一个关系模式对应一
个关系的数据结构, 也就是表的数据结构 。
如表 1-1对应的关系, 其关系模式可以表示为:
读者 ( 读者编号, 姓名, 性别, 出生日期, 少
数民族否, 籍贯, 联系电话, 照片 )
其中,,读者, 为关系名,括号中各项为
该关系所有的属性名。
目录
上一页
下一页
退出
39
3,元组
二维表的每一行在关系中称为元组 。
在 Visual FoxPro中, 一个元组对应表中一个
记录 。
4.属性
二维表的每一列在关系中称为属性, 每
个属性都有一个属性名 。 每个属性包括属性
名, 数据类型, 长度 。
在 Visual FoxPro中, 一个属性对应表中一
个字段, 属性名对应字段名 。
5.域
属性的取值范围称为域。
目录
上一页
下一页
退出
40
6.关键字
关系中能唯一区分, 确定不同元组 ( 记录 )
的属性或属性组合, 称为该关系的一个关键字 。
单个属性组成的关键字称为单关键字, 多个属
性组合的关键字称为组合关键字 。 需要强调的
是, 关键字的属性值不能取, 空值,, 所谓空
值就是, 不知道, 或, 不确定, 的值, 否则导
致无法唯一地区分, 确定元组 。
表 1-1中, 读者编号, 及, 联系电话, 属性
可以作为单关键字, 因为读者编号和联系电话
不允许相同 。 而, 姓名, 及, 出生日期, 则不
能作为关键字, 因为考生中可能出现重名或相
同出生日期 。 如果所有同名考生的出生日期不
同, 则可将, 姓名, 和, 出生日期, 组合成为
组合关键字 。
目录
上一页
下一页
退出
41
7.候选关键字
关系中能够成为关键字的属性或属性组合可能
不是惟一的 。 凡在关系中能够唯一区分, 确定不同
元组的属性或属性组合, 称为候选关键字 。 如表 1-
1中, 读者编号, 和, 联系电话, 属性都是候选关
键字 。
8.主关键字
在候选关键字中选定一个作为关键字, 称为该
关系的主关键字 。 关系中主关键字是唯一的 。
9.外部关键字
关系中某个属性或属性组合并非关键字, 但却
是另一个关系的主关键字, 称此属性或属性组合为
本关系的外部关键字 。 关系之间的联系是通过外部
关键字实现的 。
目录
上一页
下一页
退出
42
二, 关系的基本特点
在关系模型中, 关系具有以下基本特点:
( 1) 关系必须规范化, 字段不可再分割 。
规范化是指关系模型中每个关系模式都必须满足
一定的要求, 最基本的要求是关系必须是一张二维表,
每个属性值必须是不可分割的最小数据单元, 即表中
不能再包含表 。
( 2) 在同一关系中不允许出现相同的属性名 。
( 3) 关系中不允许有完全相同的元组 (记录 )。
( 4) 在同一关系中元组及属性的顺序可以任意 。
以上是关系的基本性质, 也是衡量一个二维表格是否
构成关系的基本要素 。 在这些基本要素中, 有一点是
关键, 即属性不可再分割, 也即表中不能套表 。
目录
上一页
下一页
退出
43
关系模型实例
学
生
表
学
分
表
成
绩
表
外部关键字 外部关键字
主关键字
主关键字
目录
上一页
下一页
退出
44
三、关系运算
1.传统的集合运算(并、差、交等)
2.专门的关系运算(选择、投影、联接)
1,传统的集合运算
进行并、差、交集合运算的两个关系必须是具有相
同的关系模式,既结构相同。
1) 并
两个相同结构关系的并是由属于这两个关系的元组
(记录)组成的集合。
2) 差 (R-S)
关系 R和关系 S,是有属于 R而不属于 S的元组组成的
集合,从 R中去掉 S中也有的元组。
3) 交
关系 R和关系 S,既属于 R又属于 S的元组组成的集合。
目录
上一页
下一页
退出
45
2.专门的关系运算
在关系数据库中查询用户所需数据时, 需要对关
系进行一定的关系运算 。 关系运算主要有选择, 投影
和联接三种 。
选择 ( Selection) 运算是从关系中查找符合指定条件
元组的操作 。 (对记录 )
投影 ( Projection) 运算是从关系中选取若干个属性的
操作 。 ( 对字段 )
联接 ( Join) 运算是将两个关系模式的若干属性拼接
成一个新的关系模式的操作, 对应的新关系中, 包含
满足联接条件的所有元组 。 ( 对字段 )
自然联接,按照字段值对应相等为条件进行的联接操
作称为等值联接。自然连接就是去掉重复属性(字段)
的等值联接。
目录
上一页
下一页
退出
46
3.举例:
设有如下 考生考试成绩表:
准考证号 姓名 性别 出生日期 笔试成绩 上机成绩 总分
250199990001 赵 娜 女 12/01/ 70 85 92 177
250199990002 李 小军 男 04/15/ 73 73 80 153
250199990003 张晓云 女 05/05/ 69 64 75 139
250199990004 刘志学 男 11/06/ 70 95 90 185
250199990005 孙 亮 男 08/23/ 71 67 74 141
250299990006 李建国 男 09/28/ 72 53 57 110
出生日期 笔试成绩 上机成绩
赵 娜 女
李 小军 男
张晓云 女
刘志学 男
孙 亮 男
李建国 男
出生日期出生日期 笔试成绩笔试成绩 上机成绩上机成绩
赵 娜赵 娜 女女
李 小军李 小军 男男
张晓云张晓云 女女
刘志学刘志学 男男
孙 亮孙 亮 男男
李建国李建国 男男
目录
上一页
下一页
退出
47
1)对表按照, 性别 =,女,” 的条件进行选择
运算,可得到如下结果。
选择运算结果
准考证号 姓名 性别 出生日期 笔试成绩 上机成绩 总分
250199990001 赵 娜 女 12/01/70 85 92 177
250199990003 张晓云 女 05/05/69 64 75 139
目录
上一页
下一页
退出
48
2) 选取表姓名, 笔试成绩, 上机成绩三列的
投影操作, 可得到如表 1-5所示结果 。
投影运算结果
姓名 笔试成绩 上机成绩
赵 娜 85 92
李 小军 73 80
张晓云 64 75
刘志学 95 90
孙 亮 67 74
李建国 53 57
49