数据库原理

1
数据库原理
第三章数据库系统结构
PDF 文件使用 "pdfFactory Pro" 试用版本创建 www.fineprint.com.cn
2
数据库系统结构
们可以从不同的角度考察数据库体系
结构:
0从数据库管理系统的抽象层次看,数据库系
统通常采用三级模式结构.
0从最终用户角度来看,数据库系统分为集中
式数据库结构,网络环境下的客户/服务器
结构,分布式数据库系统结构及并行数据库
系统结构.
PDF 文件使用 "pdfFactory Pro" 试用版本创建 www.fineprint.com.cn
3
第三章数据库系统结构
1.数据库系统的分级结构
2.数据库系统的组成
3.数据库管理系统的功能
4.DBMS的系统结构
5.DBMS的语言翻译处理层
6.DBMS的数据存取层
7.C/S结构的DBMS
8.基于Web的数据库系统的体系结构
PDF 文件使用 "pdfFactory Pro" 试用版本创建 www.fineprint.com.cn
4
3.1 数据库系统的分级结构
1.数据库系统的三级模式结构
2.数据库模式间的映象与数据独立性
3.数据库的抽象层次
4.数据库的数据模式与数据模型的关系
PDF 文件使用 "pdfFactory Pro" 试用版本创建 www.fineprint.com.cn
5
3.1.1 数据库系统的三级模式结构
数据模式(Data Schema):数据模型中有
关数据结构及其相互间关系的描述.
数据库的三级模式结构是美国国家标准局
(ANSI)计算机和信息处理委员会(代号X3)
和标准规划和要求委员会(SPARC)联合成立
的DBMS研究组在1975年发表的中期报告
(Interim Report)中提出的:分别是外模
式,概念模式,内部模式
DBMS研究组正式报告在1978年提出,简称
SPARC报告
PDF 文件使用 "pdfFactory Pro" 试用版本创建 www.fineprint.com.cn
6
数据库系统的三级模式结构
PDF 文件使用 "pdfFactory Pro" 试用版本创建 www.fineprint.com.cn
7
模式的形成过程
合合
转转换换
转转换换
应用要求应用要求应用要求应用要求
概念模型概念模型
逻辑模式逻辑模式
存储模式
应用要求应用要求
外模式外模式
外模式外模式
外模式外模式
应用1
应用2
应用3
映映
象象
应用1应用2应用3
机器世界模型
信息世界模型
现实世界
PDF 文件使用 "pdfFactory Pro" 试用版本创建 www.fineprint.com.cn
8
数据库系统的三级模式结构――外模式
外模式(External Schema):也叫子模式
或用户模式,
1.是数据库用户看见和使用的局部数据的逻辑
结构和特性的描述
2.是数据库用户的数据视图
3.描述数据的局部逻辑结构
4.是概念模式的逻辑子集
5.有多个外模式(不同的用户有不同的外模式)
6.用户通过外模式访问数据库
7.与用户看待数据库方式有关的层
PDF 文件使用 "pdfFactory Pro" 试用版本创建 www.fineprint.com.cn
9
数据库系统的三级模式结构――模式
概念模式(Conceptual Schema):逻辑模
式或简称模式
1. 是数据库中全体数据的逻辑结构和特性的描

2. 是所有用户的公共数据视图
3. 所有个别用户视图综合起来的用户共同视图
4. 描述数据的全局逻辑结构
5. 只有一个概念模式,它是数据系统三级模式
结构的中间层
PDF 文件使用 "pdfFactory Pro" 试用版本创建 www.fineprint.com.cn
10
数据库系统的三级模式结构――模式
数据库中全体数据的逻辑结构和特征的
描述
涉及到数据类型的描述,不涉及到具体
的数值(实例)
模式是稳定的,实例是相对变动的
模式反映数据的结构和关系,实例反映
数据库某时刻的状态
PDF 文件使用 "pdfFactory Pro" 试用版本创建 www.fineprint.com.cn
11
数据库系统的三级模式结构――内模式
内模式(Internal Schema):存储模

1. 与实际存储数据方式有关的层
2. 数据的物理结构和存储结构的描述
3. 数据在数据库内部的表示方式
4. 描述数据的物理存储结构
5. 存储方式,索引,压缩加密
6. 只有一个内模式
PDF 文件使用 "pdfFactory Pro" 试用版本创建 www.fineprint.com.cn
12
模式对照表
视图程序说明

外部模

子模式应用程
序观点
基表集逻辑数据
库描述
概念模

模式全局逻
辑观点
存储文

物理数据
库描述
内部模

存储模

物理观

SYSTE
MR
IMS/IB
M
ANSI/X
3/SPA
RC
CODAS
YL
系统名称
观察角度
PDF 文件使用 "pdfFactory Pro" 试用版本创建 www.fineprint.com.cn
13
3.1.2 数据库模式间的映象与数据独
立性
正是这两层映像保证了数据库系统中的
数据具有较高的数据逻辑独立性与数据
物理独立性
PDF 文件使用 "pdfFactory Pro" 试用版本创建 www.fineprint.com.cn
14
外模式/概念模式的映象
1. 定义外模式与概念模式的对应关系
2. 概念模式改变→改变映象→外模式不
变→应用程序不变
3. 保证数据的逻辑独立性
PDF 文件使用 "pdfFactory Pro" 试用版本创建 www.fineprint.com.cn
15
概念模式/内模式的映象
1. 定义数据的全局逻辑结构与存储结构
的对应关系
2. 存储结构改变→映象改变→概念模式
不变→
3. 保证数据的物理独立性
PDF 文件使用 "pdfFactory Pro" 试用版本创建 www.fineprint.com.cn
16
三级结构带来的优点
保证数据的独立性
简化了用户的使用
减少冗余,利于共享
有利于数据的安全操作
PDF 文件使用 "pdfFactory Pro" 试用版本创建 www.fineprint.com.cn
17
3.1.3 数据库的抽象层次
数据库系统的三级模式结构定义了数据
库的三个抽象层次,三种模式提供处理
数据的框架,填入这些框架中的数据才
是数据库的内容
0物理数据库,概念数据库,逻辑数据库
PDF 文件使用 "pdfFactory Pro" 试用版本创建 www.fineprint.com.cn
18
物理数据库
以内模式为框架的数据库
是数据库中最里面的一个层次,是物理
存储设备上实际存储着的数据集合.从
系统程序员角度看,他们是用文件法观
念是组织的一个个物理文件(存储文
件).系统程序员编制专门的存取程序,
实现对文件中数据的存取.故也称为系
统程序员视图,或数据的存储结构
PDF 文件使用 "pdfFactory Pro" 试用版本创建 www.fineprint.com.cn
19
概念数据库
以概念模式为框架的数据库
是数据库结构中的中间层次,是数据库的整体
逻辑表示,它描述了每一个数据的逻辑定义及
数据间的逻辑关系.为减少冗余,把所有用户
的数据进行综合,构成统一的有机逻辑整体.
概念数据库描述了数据库系统所有对象的逻辑
关系,不涉及他们物理存储情况.是实际存在
的物理数据库的一种逻辑描述,是数据库管理
员(DBA)概念下的数据库
PDF 文件使用 "pdfFactory Pro" 试用版本创建 www.fineprint.com.cn
20
逻辑数据库
以外模式为框架的数据库
是数据库结构的最外一层,是用户所看
到和使用的数据库,因而也称为用户数
据库或用户视图.
是某个或某些用户使用的数据的集合.
用户根据系统提供的外模式查询语言或
应用程序对数据库的数据进行所需的操
作.
PDF 文件使用 "pdfFactory Pro" 试用版本创建 www.fineprint.com.cn
21
View of Data 数据层次
An architecture for a database system 数据库系统的体系结构
PDF 文件使用 "pdfFactory Pro" 试用版本创建 www.fineprint.com.cn
22
三级模式结构图例
学号
姓名
性别
年龄
学生
系别
学生(学号,姓名,性别,年龄,系别)
学生(学号,姓名)学生(姓名,系别)
应用要求(学籍管理)
概念模型
视图(外模式)
数据在
磁盘上
存贮
内模式
PDF 文件使用 "pdfFactory Pro" 试用版本创建 www.fineprint.com.cn
23
数据库的分级结构与抽象层次对应图
用户数据库
用户视图
概念数据库
DBA视图
物理数据库
系统程序员
视图
DBMS
OS
PDF 文件使用 "pdfFactory Pro" 试用版本创建 www.fineprint.com.cn
24
第三章数据库系统结构
1.数据库系统的分级结构
2.数据库系统的组成
3.数据库管理系统的功能
4.DBMS的系统结构
5.DBMS的语言翻译处理层
6.DBMS的数据存取层
7.C/S结构的DBMS
8.基于Web的数据库系统的体系结构
PDF 文件使用 "pdfFactory Pro" 试用版本创建 www.fineprint.com.cn
25
3.
2








DatabaseDatabase
OSOS
DBMSDBMS
应用开发工具应用开发工具
应用程序应用程序
DBA
用户用户用户
应用程序员
PDF 文件使用 "pdfFactory Pro" 试用版本创建 www.fineprint.com.cn
26
数据库系统的组成――硬件支撑环境
硬件是存储数据库和运行数据库管理系
统的物质基础,数据库系统对其要求:
0足够大的内存:以放OS,DBMS例行程序,
应用程序,数据库表等
0大容量直接存取外存储器,存放数据和系统
副本
0数据通道能力:提高数据处理速度
PDF 文件使用 "pdfFactory Pro" 试用版本创建 www.fineprint.com.cn
27
数据库系统的组成――软件系统
DBMS &OS
具有数据库接口的高级语言及其编译系

以DBMS为核心的应用开发工具软件
为某种应用环境开发的数据库应用程序
PDF 文件使用 "pdfFactory Pro" 试用版本创建 www.fineprint.com.cn
28
数据库系统的组成――数据库
是一个单位,组织需要管理的全部相关
数据的集合,并以一定的组织形式存与
存储介质上,通常包括:
0按一定的数据模型组织并实际存储的所有应
用需要的工作数据,存放于物理数据库中;
0存放在各级数据字典中的描述信息,包括所
有数据的结构名,意义,描述定义,存储格
式,完整性约束,使用权限等信息,又称
"描述信息库"
PDF 文件使用 "pdfFactory Pro" 试用版本创建 www.fineprint.com.cn
29
数据库系统的组成――数据字典
数据字典也是一个数据库,常称数据字
典中数据是元数据(Meta-Data)组成
数据字典文件的属性称为元属性.
数据字典是DBMS存取和管理数据的基
本依据,主要由系统管理和使用.
PDF 文件使用 "pdfFactory Pro" 试用版本创建 www.fineprint.com.cn
30
数据字典包含的文件
表示数据库的文件
表示数据库中属性的文件
视图定义文件
同义词文件
授权关系文件
索引关系文件
PDF 文件使用 "pdfFactory Pro" 试用版本创建 www.fineprint.com.cn
31
与数据库系统有关的四种人员
DBA职责:
0参与数据库系统的设计和建立
0对系统的运行实行监控
0定义数据安全性要求和完整性约束条件
0负责数据库性能的改善和数据库的重组及重
构工作:监视系统空间利用率,处理效率等;
对数据库进行重组,提高性能;随用户需求
变化,对模式进行必要修改;负责数据库恢
复.
PDF 文件使用 "pdfFactory Pro" 试用版本创建 www.fineprint.com.cn
32
与数据库系统有关的四种人员
系统分析员
0应用系统的需求分析和规范说明,与DBA一
起确定数据库系统的硬件平台和软件配置,
参与数据库的设计
程序员
0负责设计和编制应用系统的程序模块,并进
行调试和安装
用户
0通过应用系统接口使用数据库
PDF 文件使用 "pdfFactory Pro" 试用版本创建 www.fineprint.com.cn
33
第三章数据库系统结构
1.数据库系统的分级结构
2.数据库系统的组成
3.数据库管理系统的功能
4.DBMS的系统结构
5.DBMS的语言翻译处理层
6.DBMS的数据存取层
7.C/S结构的DBMS
8.基于Web的数据库系统的体系结构
PDF 文件使用 "pdfFactory Pro" 试用版本创建 www.fineprint.com.cn
34
数据库管理系统的功能
DBMS负责数据库定义,建立,操作,
管理和维护的软件系统.
用户
DBMS
OS
DB
物理数据库
PDF 文件使用 "pdfFactory Pro" 试用版本创建 www.fineprint.com.cn
35
数据库定义
外模式,概念模式,内模式间映象定义,
数据库完整性定义,安全性定义,存取
路径定义等
存储在数据字典中,是DBMS运行基本
依据
PDF 文件使用 "pdfFactory Pro" 试用版本创建 www.fineprint.com.cn
36
数据库管理功能
实现数据库的控制功能:主要指DBMS
执行对访问数据库的安全性,完整性检
查和对数据共享的并发控制,保证数据
库的可靠性和可用性
控制数据库的操作:DBMS接收,分析
和执行用户对数据库提出的各种操作请
求,完成对数据库的查询,插入,删除
和修改.
PDF 文件使用 "pdfFactory Pro" 试用版本创建 www.fineprint.com.cn
37
数据库的建立和维护功能
建立功能:DBMS根据数据库的定义,把实际
的数据库数据存储到物理存储设备上,完成目
标数据库的建库工作.
维护功能:
0数据库运行时记录工作日志,监视数据库的性能;
0DBMS提供重组程序用来重新整理零乱的数据库,
以便回收已删除数据所占用的空间.
0提供重构程序改善数据库的性能
数据库的恢复功能
数据组织,存储和管理功能
通信功能
PDF 文件使用 "pdfFactory Pro" 试用版本创建 www.fineprint.com.cn
38
3.4 DBMS的系统结构
DBMS是建立在OS之上的软件系统,
DBMS对共享数据的组织,管理和存取
离不开OS的支持.不同的操作系统提
供了不同的服务方式,导致了DBMS在
实现技术和方法上的差异.
1.DBMS的进程结构和多线索结构
2.程序功能的角度分析DBMS模块组成
3.层次结构的观点介绍DBMS的层次结构
PDF 文件使用 "pdfFactory Pro" 试用版本创建 www.fineprint.com.cn
39
3.4.1 DBMS的进程结构和多线索结构
一个应用进程对应一个DBMS核心进程
0进程的创建,撤销,通信和切换的开销较大
0随着并发执行事务的增加,进程数目增加,当需求
的内存等资源受到限制时,其性能会下降.
0不利于事务共享内存空间
多线索单进程DBMS结构
0系统只创建一个DBMS进程,其中有常驻的公共服
务线索和根据用户需求创建的非常驻用户线索.
0占用资源少,线索调度灵活,切换开销小,线索间
通信简单
PDF 文件使用 "pdfFactory Pro" 试用版本创建 www.fineprint.com.cn
40
3.4.2 DBMS组成
系统运行程序组
语言处理程序组
公用程序组
PDF 文件使用 "pdfFactory Pro" 试用版本创建 www.fineprint.com.cn
41
系统运行程序组
系统总控程序
授权检查程序
并发控制程序
数据存取控制程序
数据存储管理程序
数据完整性检查程序
通信控制程序
PDF 文件使用 "pdfFactory Pro" 试用版本创建 www.fineprint.com.cn
42
语言处理程序组
数据库各级模式的语言处理程序
数据操纵语言处理程序(Data
Manipulation Language,简称DML)
终端查询语言解释程序(Data Control
Language,简称DCL)
数据库控制语言解释程序
PDF 文件使用 "pdfFactory Pro" 试用版本创建 www.fineprint.com.cn
43
公用程序组(服务性程序组)
公用程序组由一组定义公用程序和维护
公用程序组成,负责数据库进行日常管
理,包括
0定义公用程序组(DDL)
0维护公用程序组:数据装入程序,数据库恢
复程序,数据重构程序,统计分析程序,工
作日志程序,转储程序,数据编辑打印公用
程序
PDF 文件使用 "pdfFactory Pro" 试用版本创建 www.fineprint.com.cn
44
DBMS程序模块组成图
系统控制程序
授权检查程序
并发控制程序
数据存取控制程序
数据存储管理程序
完整性控制程序
通信控制程序
系统运行
控制程序
模式定义公用程序
子模式定义公用程序
保密定义公用程序
信息格式定义公用程序
装入程序
DB重构公用程序
DB恢复公用程序
统计分析DB公用程序
信息格式维护公用程序
工作日志公用程序
转储,编辑,打印公用程序
定义公用程序
维护公用程序
公用程序
DML翻译程序
DML处理程序
终端查询语言解释程序
DB控制语言解释程序
语言翻译
处理程序







PDF 文件使用 "pdfFactory Pro" 试用版本创建 www.fineprint.com.cn
45
3.4.3 DBMS的层次结构(1)
在讨论了DBMS的层
次功能基础上,进一
步分析DBMS的结构
特性,按照处理对象
的不同,将DBMS划
分为4个层次
应用层
语言翻译处理层
数据存取层
数据存储层
操作系统
DB
DBMS
PDF 文件使用 "pdfFactory Pro" 试用版本创建 www.fineprint.com.cn
46
3.4.3 DBMS的层次结构(2)
应用层
0位于DBMS的最外层,是应用程序于DBMS
之间的界面层,包括各种数据库应用程序
语言翻译处理层
0负责对数据库语言的各类语句进行语法分析,
视图转换,授权检查,完整性检查,查询优
化,通过对下层(数据存取层)基本模块的
调用,生成可执行代码.这些代码的运行可
以完成数据库各类语句预定义的功能
PDF 文件使用 "pdfFactory Pro" 试用版本创建 www.fineprint.com.cn
47
3.4.3 DBMS的层次结构(3)
数据存取层
0负责将上层的集合操作转化为单元组操作.如元组
的查询,更新和封锁等操作,完成数据记录的存取,
存取路径维护,并发控制和事务管理等任务.
数据存储层
0负责对数据页和系统缓冲区执行文件的逻辑打开,
关闭,读写页,读写缓冲,页面淘汰等操作,并完
成缓冲区管理,内外存交换和外存管理等任务
PDF 文件使用 "pdfFactory Pro" 试用版本创建 www.fineprint.com.cn
48
第三章数据库系统结构
1.数据库系统的分级结构
2.数据库系统的组成
3.数据库管理系统的功能
4.DBMS的系统结构
5.DBMS的语言翻译处理层
6.DBMS的数据存取层
7.C/S结构的DBMS
8.基于Web的数据库系统的体系结构
PDF 文件使用 "pdfFactory Pro" 试用版本创建 www.fineprint.com.cn
49
3.5 DBMS的语言翻译处理层
DBMS一般向用户提供多种形式的数据
库语言,如交互式命令语言(如
ORACLE中的SQL PLUS),嵌入示语
言(嵌入式SQL),过程式语言(如
ORACLE中的PL/SQL)
本层功能:转换为DBMS内层可执行的
基本存取模块的调用序列
三类数据库语言:DDL,DCL,DML
PDF 文件使用 "pdfFactory Pro" 试用版本创建 www.fineprint.com.cn
50
3.5.1 DDL,DCL,DML
数据描述语言DDL(Data Description
Language):用于描述数据库的各级模
式和数据间的联系.
根据定义的模式级别不同DDL划分为
0模式DDL(Schema DDL)
0子模式DDL(Sub-Schema DDL,简称
SDDL)
0存储模式DDL(DSDL――Data Storage
Description Language)
PDF 文件使用 "pdfFactory Pro" 试用版本创建 www.fineprint.com.cn
51
模式DDL(1)
是对数据库全局逻辑结构的描述,包括
0命名模式:为模式命名,模式名是数据库的标识符
0定义数据项:为数据项命名,指明数据项的编码形
式(如数值型,字符串型等)和数据项长度
0定义记录类型:模式DDL对记录类型加以说明,为
记录命名并说明数据项在记录中的划分及排列次序,
规定用哪个数据项或哪些数据项的组合作为记录的

0描述记录间的联系:用模式DDL指明哪些记录间有
联系,是何种类型的联系.如层次模型中从属关系,
网状模型为联系命名
PDF 文件使用 "pdfFactory Pro" 试用版本创建 www.fineprint.com.cn
52
模式DDL(2)
0规定安全性控制要求:模式DDL规定数据库
的安全密码,用户使用权限.使非法用户不
能从数据库中取用任何数据,合法用户页只
能在规定的权限内进行规定的操作
0描述数据完整性约束条件:指明各数据项的
取值范围,各数据项之间的完整性约束条件
0规定检验错误的方法:指示DBMS在出错情
况下如何处置
PDF 文件使用 "pdfFactory Pro" 试用版本创建 www.fineprint.com.cn
53
模式DDL
体现用户的数据观点,是模式的子集.
SDDL供用户描述其所用部分数据的局部
逻辑结构.
定义子模式时应同时应同时说明子模式
与模式间的映象关系.
PDF 文件使用 "pdfFactory Pro" 试用版本创建 www.fineprint.com.cn
54
存储模式DDL
用DSDL描述,说明数据库的存储结构,
数据在存储介质上的存储方式及逻辑数
据到物理数据的映象等,其主要功能有:
0指明寻址方法和数据检索方式
0在存储模式描述中指明记录间"联系"的方法
0规定数据的物理表示方式
0为适应数据记录的增删,在存储模式中应对
基本数据区,溢出区以及存储器的区分,分
块,分页予以说明
PDF 文件使用 "pdfFactory Pro" 试用版本创建 www.fineprint.com.cn
55
数据控制语言DCL
数据控制语言Data Control Language
提供的典型功能是监控数据库操作,重
构下层的物理存取,重新设置数据项的
约束值,重命名关系,创建其他索引,
数据归档以及授权或更改授权决定等.
DCL通常由DBA使用
PDF 文件使用 "pdfFactory Pro" 试用版本创建 www.fineprint.com.cn
56
数据操纵语言DML
数据操纵语言Data Manipulation
Language是应用程序语言与DBMS之
间的一个接口性语言,供用户所需的数
据库进行操作使用.
0查询操作
0更新操作
PDF 文件使用 "pdfFactory Pro" 试用版本创建 www.fineprint.com.cn
57
数据操纵语言DML
数据操纵语言功能
0从数据库中检索出满足给定条件的记录,并
将记录交给用户
0将新的记录或记录间的联系加入到数据库中
0修改数据库中的记录或记录间的联系
0删除数据库中的记录或记录间的联系
PDF 文件使用 "pdfFactory Pro" 试用版本创建 www.fineprint.com.cn
58
数据操纵语言DML
DML语句组成
0操作:如选择操作,插入操作,修改或删除
操作
0操作对象:如记录名或字段名等
0限定条件:可以由多个条件通过布尔运算符
连接而成,而条件可为简单关系表达式.关
系表达式可由数据库名,条件操作符和数据
值组成.
PDF 文件使用 "pdfFactory Pro" 试用版本创建 www.fineprint.com.cn
59
实现选择数据操作的方法
内容定址法:根据操作限定条件中给出
的某个或某些字段的值来选择数据.例
如查询选修数据库课的学生姓名,内容
定址法可采用主关键字索引,倒排文件
和HASH算法等方法实现.
数据关联法:根据数据之间的联系来选
择数据.在网状数据结构中一般通过链
或邻接方法实现,关系方法中通过几个
关系中的连接属性实现
PDF 文件使用 "pdfFactory Pro" 试用版本创建 www.fineprint.com.cn
60
3.5.2 语言翻译处理层工作过程
查询分析阶段
0首先对DML语句进行词法分析,语法分析,
语义分析,并借助数据字典完成符号名转换
工作.所谓符号名转换是把DML语句涉及到
的外部关系名和属性名转换为整齐规则的内
部名.查询分析阶段执行后生成语法分析树
PDF 文件使用 "pdfFactory Pro" 试用版本创建 www.fineprint.com.cn
61
查询检查阶段
语言处理层首先根据数据字典中内容对用户的
操作进行合法性检查和完整性检查,然后完成
视图转换.
0合法性检查:如果存取权限树用存取谓词表示的,
他们可能与数据的值有关,则此时不能确定该语句
能否执行,于是还要生成相应的动作,以便运行时
检查其合法性.
0完整性检查:包括根据数据字典中的完整性约束规
则,对语句进行静态约束检查,实体完整性在执行
数据插入时检查.
0视图转换:指当DML语句涉及视图的操作时,则从
数据字典中取出视图定义,把对视图的操作转换为
基本表的操作
PDF 文件使用 "pdfFactory Pro" 试用版本创建 www.fineprint.com.cn
62
查询优化阶段
代数优化
0利用代数等价变换规则和关系代数表达式的
优化算法,把语法树转换成优化形式.
存取路径优化
0根据数据字典中的信息选择低层的操作算法.
对于语法树中的每一个操作根据存取路径,
数据的存储分布等信息选择具体的执行算法,
从而生成由一系列内部操作组成的查询计划
或查询执行方案.
PDF 文件使用 "pdfFactory Pro" 试用版本创建 www.fineprint.com.cn
63
第三章数据库系统结构
1.数据库系统的分级结构
2.数据库系统的组成
3.数据库管理系统的功能
4.DBMS的系统结构
5.DBMS的语言翻译处理层
6.DBMS的数据存取层
7.C/S结构的DBMS
8.基于Web的数据库系统的体系结构
PDF 文件使用 "pdfFactory Pro" 试用版本创建 www.fineprint.com.cn
64
3.6 DBMS的数据存取层
数据存取层主要任务
0将语言翻译处理层的集合操作转换为一次一
个元组的查询和更新操作
0提供元组查询所需的存取路径以及对存取路
径的维护功能
0提供对记录和存取路径的封锁和解锁功能
0执行日志文件的登记和读取操作
0对关系,有序表,索引等进行扫描,合并,
排序等辅助操作
PDF 文件使用 "pdfFactory Pro" 试用版本创建 www.fineprint.com.cn
65
3.6.2 数据库存取层的功能子系统
记录存取,事务管理子系统
0记录存取子系统提供某个属性值存取/更新一个元
组和顺序存取/更新一个元组的存取原语.
0事务管理子系统提供定义和控制事务的操作
日志登记系统
控制信息管理子系统
排序/合并子系统
存取路径维护子系统
封锁子系统
PDF 文件使用 "pdfFactory Pro" 试用版本创建 www.fineprint.com.cn
66
第三章数据库系统结构
1.数据库系统的分级结构
2.数据库系统的组成
3.数据库管理系统的功能
4.DBMS的系统结构
5.DBMS的语言翻译处理层
6.DBMS的数据存取层
7.C/S结构的DBMS
8.基于Web的数据库系统的体系结构
PDF 文件使用 "pdfFactory Pro" 试用版本创建 www.fineprint.com.cn
67
3.7 C/S结构的DBMS
1.C/S结构的DBMS的功能划分
2.在C/S结构中数据存取的工作过程
3.C/S结构DBMS中数据库服务器的优点
4.三层C/S结构
PDF 文件使用 "pdfFactory Pro" 试用版本创建 www.fineprint.com.cn
68
一,集中式系统与分布式系统
根据信息系统的硬件,软件,数据等信
息资源在空间的分布情况,系统的结构
又可分为集中式和分布式两大类型.
信息资源在空间上集中配置的系统称为
集中式系统.
PDF 文件使用 "pdfFactory Pro" 试用版本创建 www.fineprint.com.cn
69
集中式系统
--由配有相应外围设备的单台计算机为
基础的系统,通常称为单机系统,就是
典型的集中式系统.
--面向终端的多用户系统也是将系统的
硬件,软件,数据和主要外围设备集中
于一套计算机系统之中,分布在不同地
点的多个用户通过设在当地的分时终端
享用这些资源.距离较远的用户可通过
调制解调器和通信线路实现与主机通信.
PDF 文件使用 "pdfFactory Pro" 试用版本创建 www.fineprint.com.cn
70
多用户系统
远程通信
调制解调器
终端
终端
磁盘处理盘打印
超级微机/小型机;
数据库管理系统; 计
算机语言;
多用户应用程序...
PDF 文件使用 "pdfFactory Pro" 试用版本创建 www.fineprint.com.cn
71
分布式系统
分布式系统:利用计算机网络把分布在不同地
点的计算机分布式系统硬件,软件,数据等信
息资源联系在一起服务于一个共同的目标而实
现相互通信和资源共享,就形成了信息系统的
分布式结构.具有分布结构的系统称为分布式
系统.
分布式系统特征:
0实现不同地点的硬件,软件和数据等信息资源共享
0各地与计算机网络系统相联的计算机系统既可以在
计算机网络系统的统一管理下工作,又可脱离网络
环境利用本地信息资源独立开展工作.
PDF 文件使用 "pdfFactory Pro" 试用版本创建 www.fineprint.com.cn
72
分布式系统
基于计算机网络技术的分布式系统在信
息处理上出现了不同的计算模式……
分布式系统的传统计算模式称为资源共
享式.在这种计算模式中,网络系统中
的服务器向各工作站提供数据和软件资
源的文件服务,各工作站可以根据规定
的权限存取服务器上的数据文件和程序
文件.这种计算模式又称为文件服务模
式.
PDF 文件使用 "pdfFactory Pro" 试用版本创建 www.fineprint.com.cn
73
分布式结构
中继器
中继器
网络服务器外设小型机
图形工作站外设小型机微机
微机
PDF 文件使用 "pdfFactory Pro" 试用版本创建 www.fineprint.com.cn
74
客户机/服务器(C/S)计算模式
分布式系统后期发展起来的一种计算模
式称为客户机/服务器(Client/Server,
简记为C/S)模式,网络系统上的计算
机系统分成客户机与服务器两类.
服务器可能包括文件服务器,数据库服
务器,打印服务器,专用服务器等.网
络系统结点上的其他计算机系统称为客
户机.
PDF 文件使用 "pdfFactory Pro" 试用版本创建 www.fineprint.com.cn
75
图1-10 客户机/服务器(Client/Server)计算模式
客户机
服务器1服务器2服务器3
图形工作站小型机微机1微机n
PDF 文件使用 "pdfFactory Pro" 试用版本创建 www.fineprint.com.cn
76
C/S结构
用户通过客户机在网络系统上向服务器
提出服务请求,服务器根据请求向有关
方面提供经过加工的信息.客户机本身
也承担本地信息管理工作.
客户机/服务器将信息处理工作分解为两
部分,一部分由服务器来实现,另一部
分由客户机本身来完成.
PDF 文件使用 "pdfFactory Pro" 试用版本创建 www.fineprint.com.cn
77
客户机/服务器(C/S)计算模式
常用的C/S模式有两层结构,三层结构两种.
0两层C/S结构中,数据库服务器对客户机的请求直
接作出应答.
0对于某些需要进行较为复杂处理的服务请求,往往
另设具有专门应用软件的应用服务器进行这种信息
处理.应用服务器根据客户机的服务请求,访问数
据库服务器以获取必要的数据,进行相应的信息处
理并给客户机作出应答,这就形成了如图所示的三
层结构.
PDF 文件使用 "pdfFactory Pro" 试用版本创建 www.fineprint.com.cn
78
客户机/服务器(C/S)计算模式的两种结构
数据库服务器
客户机
数据库服务器
应用服务器
客户机
两层结构三层结构
(a)(b)
PDF 文件使用 "pdfFactory Pro" 试用版本创建 www.fineprint.com.cn
79
客户机/服务器(C/S)计算模式
在C/S结构中,应用程序或应用逻辑可
以根据需要划分到客户端或服务器端.
完成特定任务时,客户或服务器端上的
程序可以协同工作.
根据客户机与服务器在系统中所承担的
数据处理任务的分工情况,C/S 结构可
分为以下五种类型:
PDF 文件使用 "pdfFactory Pro" 试用版本创建 www.fineprint.com.cn
80
C/S结构的DBMS的功能划分
多种体系方案
1.分布式显示型
2.远程显示型
3.分布式应用处理型
4.远程数据管理型
5.分布式数据管理型
PDF 文件使用 "pdfFactory Pro" 试用版本创建 www.fineprint.com.cn
81
客户机/服务器计算模式的类型
数据管理
应用处理
数据管理数据管理数据管理数据管理
应用处理应用处理
应用处理应用处理
人机界面
数据管理
人机界面人机界面人机界面人机界面人机界面
应用处理






分布式
显示
远程显示
分布式应
用处理
远程数
据管理
分布式数
据管理
PDF 文件使用 "pdfFactory Pro" 试用版本创建 www.fineprint.com.cn
82
C/S结构
从分布式显示型到分布式数据管理型,
客户机的任务由轻到重,而服务器的任
务由重到轻.在一个实际系统中,可能
对不同的任务采用不同类型的C/S计算模
式.
PDF 文件使用 "pdfFactory Pro" 试用版本创建 www.fineprint.com.cn
83
在C/S结构中数据存取的工作过程
Client端
0应用处理逻辑,显示
贺数据表示及用户交
互界面等在客户端,
用户利用客户应用中
的SQL语句访问数据
库,SQL语句经应用
编程接口(API),
连接软件,网络协议
传送到网络上相连的
服务器一端
用户
客户应用
API
连接软件
网络协议
客户机
网络
PDF 文件使用 "pdfFactory Pro" 试用版本创建 www.fineprint.com.cn
84
在C/S结构中数据存取的工作过程
Server端
0数据存取管理,完整
性控制及并发控制等
部分在Server端
0提供查询,更新,事
务管理,索引,高速
缓存,查询优化,安
全及多用户存取控制
等服务
网络协议
连接软件
数据库服务器软件
操作系统



网络
DB
PDF 文件使用 "pdfFactory Pro" 试用版本创建 www.fineprint.com.cn
85
C/S结构DBMS中数据库服务器的优点
提高应用开发生产率
数据库服务器提供可靠的数据安全性
数据库服务器提供有效的数据可靠性
数据库服务器提供查询优化机制和并发
控制功能
数据库服务器把分布处理和集中控制机
结合在一起,便于系统扩充
PDF 文件使用 "pdfFactory Pro" 试用版本创建 www.fineprint.com.cn
86
第三章数据库系统结构
1.数据库系统的分级结构
2.数据库系统的组成
3.数据库管理系统的功能
4.DBMS的系统结构
5.DBMS的语言翻译处理层
6.DBMS的数据存取层
7.C/S结构的DBMS
8.基于Web的数据库系统的体系结构
PDF 文件使用 "pdfFactory Pro" 试用版本创建 www.fineprint.com.cn
87
浏览器/WEB 服务器(B/S)计算模式
基于互联网技术的信
息系统的网络环境称
为INTRANET(内联网).
INTRANET上一个典型
的分布式计算模式就
是浏览器/WEB服务器
(Browser/Web Server)
计算模式,简记为B/S.
B/S计算模式的简化原
理.
WEB服务器
浏览器
两层结构
网络
数据库服务器
应用服务器
浏览器
WEB服务器
四层结构
网络
PDF 文件使用 "pdfFactory Pro" 试用版本创建 www.fineprint.com.cn
88
浏览器/WEB 服务器(B/S)计算模式
B/S计算模式具有以下优点:
01.由于采用基于超文本协议(HTTP)的WEB服务器
和可以对WEB服务器上超文本文件进行操作的浏览
器.使得信息系统在信息处理技术上实现了集格式
化文本,图形,声音,视频信息为一体的高度交互
式环境,使信息处理的广度和深度大为增加.
02.由于互联网技术采用统一的与平台无关的跨平台
通信协议,浏览器和WEB服务器及相关的接口软件
应用程序也独立于计算机的硬,软件平台,整个系
统的开放性和可移植性好.
PDF 文件使用 "pdfFactory Pro" 试用版本创建 www.fineprint.com.cn
89
浏览器/WEB 服务器(B/S)计算模式
03.由于浏览器,WEB服务器及有关接口软件都有商
品软件可供选择,并且在服务器端以及必要时在客
户端进行应用系统开发所用的工具如HTML语言,
JAVA语言,C++语言等,使用方便,界面友好,可大
大节省应用系统开发的成本,缩短开发周期.
从客户端看,整个系统有两层服务器,因而
B/S计算模式是一种基于互联网技术的三层客
户机/服务器结构.这是一种特定的C/S结构.
以后称不采用互联网技术的C/S计算模式为传
统C/S计算模式.
PDF 文件使用 "pdfFactory Pro" 试用版本创建 www.fineprint.com.cn
90
下载到客户端的应用:
使用Java Applet过程:Internet/Intranet用
户使用Web浏览器运行Java Applet可以直接语
数据库服务器连接,并直接把带有结果的HTML
页面返回客户浏览器.另外还可以把对数据库访
问转交给专用服务器完成,而Java Applet通过
语专用服务器的通信来传递数据库操作的请求和
结果.
ActiveX:包括控件,文档,脚本以及与集成数
据库有关的ASP和嵌入ASP的ADO组件
PDF 文件使用 "pdfFactory Pro" 试用版本创建 www.fineprint.com.cn
91
中间件技术:公共网关接口CGI
CGI(Common Gateway Interface)是外
部应用程序(CGI)程序与Web服务器之间的
接口标准和信息传递规范,利用CGI可以从数
据库中检索数据,实时产生动态HTML文件,
并根据用户需求输出动态信息
优点:简单和语言无关性
缺点:Web服务器瓶颈,CGI不能由多个用户
同时请求共享,CGI缺乏持久性
PDF 文件使用 "pdfFactory Pro" 试用版本创建 www.fineprint.com.cn
92
应用程序编程接口API
API是驻留在Web服务器中的程序代码,
每次调用时在内存中运行相应的程序段.
主要API
0微软ISAPI(Internet Server API)
0网景NSAPI (Netscape Server API)
0Reilly and Associates的Web Server
API
PDF 文件使用 "pdfFactory Pro" 试用版本创建 www.fineprint.com.cn
93
微软ISAPI(Internet Server API)
ISAPI能实现CGI提供的全部功能,并
进行了功能扩展.同时微软提供
IDC(Internet Database Connector)
实现对数据库的查询贺更新,它实际是
一个包含于IIS(Internet Information
Server)中的ISAPI应用程序,是一个基
于API的编程接口
PDF 文件使用 "pdfFactory Pro" 试用版本创建 www.fineprint.com.cn
94
微软ISAPI(Internet Server API)
DBDBSQL
Server
Other
DBMSOther
Driver
SQL Server
Driver
ODBC
Httpodbc.dll
Web服务器IIS
Web浏览器
IDC
模块
PDF 文件使用 "pdfFactory Pro" 试用版本创建 www.fineprint.com.cn
95
传统C/S计算模式与B/S计算模式的综合应用
网络
服务器
WEB
服务器1
通信
服务器
防火
墙1
调制
解调器
数据库
服务器
应用
服务器
WEB
服务器2
防火
墙2
E-mail
服务器
域名
服务器
C/S 客
户机1
C/S 客
户机n
浏览
器1
浏览
器m
非WEB用户WEB用户
外部
Internet用户
基于INTRANET的分布式系统结构示意图
PDF 文件使用 "pdfFactory Pro" 试用版本创建 www.fineprint.com.cn
96
混合结构
数据库服务器
应用服务器
浏览器
WEB服务器
C/S客户机
传统C/S 与B/S 计算模式的综合
PDF 文件使用 "pdfFactory Pro" 试用版本创建 www.fineprint.com.cn
1
据库原理
第六章关系数据理论
PDF 文件使用 "pdfFactory Pro" 试用版本创建 www.fineprint.com.cn
2
第六章关系数据理论
6.1问题的提出
6.2规范化
6.3数据依赖的公理系统
6.4函数依赖集的等价和覆盖
6.5关系模式的分解
PDF 文件使用 "pdfFactory Pro" 试用版本创建 www.fineprint.com.cn
3
6.1 问题的提出
回顾:关系模式的所有属性必须是不可
再分的原子项
一个已经满足属性是不可再分的原子项
的关系模式,还存在一些什么问题
PDF 文件使用 "pdfFactory Pro" 试用版本创建 www.fineprint.com.cn
4
例:描述学校的数据库包括
学生的学号(Sno),所在系(Sdept),
系主任姓名(Mname),课程名
(Cname),成绩(Grade)
如果把关系模式设计为:
School (Sno, Sdept,Mname,Cname,
Grade)
则会出现很多问题.
PDF 文件使用 "pdfFactory Pro" 试用版本创建 www.fineprint.com.cn
5
四类设计问题
数据冗余太大
更新代价过大
插入异常
删除异常
PDF 文件使用 "pdfFactory Pro" 试用版本创建 www.fineprint.com.cn
6
问题何在
现实生活中属性间的互相联系,制约应
该体现在数据库模式设计
属性间内在语义联系体现为三种依赖关
系:
0函数依赖
0多值依赖
0连接依赖
PDF 文件使用 "pdfFactory Pro" 试用版本创建 www.fineprint.com.cn
7
结论
关系数据库设计方案可能有多个,但彼
此之间有"好","坏"之分;
所谓关系模式的"好","坏"是指每个关
系中的属性一定要满足某种语义联系;
属性间内在的依赖关系形成关系数据库
设计理论
PDF 文件使用 "pdfFactory Pro" 试用版本创建 www.fineprint.com.cn
8
6.2规范化
关系模式中属性间最常见的一种依赖关系,
也是最重要的一种约束.
例:在关系模式S(Sno, sname, sdept,
sage)中, Sno→sname
对于Sno的一个确定值,sname有且只有
一个确定值与其对应,类似数学中的单值
函数
PDF 文件使用 "pdfFactory Pro" 试用版本创建 www.fineprint.com.cn
9
6.2.1 函数依赖数学定义
定义6.1设R(U)是一个属性集U上的关
系模式,X和Y是U的子集.若对于R(U)
的任意一个可能的关系r,r中不可能存
在两个元组在X上的属性值相等,而在Y
上的属性值不等,则称"X函数确定Y"
或"Y函数依赖于X",记作X→Y.
X称为这个函数依赖的决定因素,Y为依
赖因素
PDF 文件使用 "pdfFactory Pro" 试用版本创建 www.fineprint.com.cn
10
说明:
1. 函数依赖不是指关系模式R的某个或某
些关系实例满足的约束条件,而是指R的
所有关系实例均要满足的约束条件.
2. 函数依赖是语义范畴的概念.只能根据
数据的语义来确定函数依赖.
3. 数据库设计者可以对现实世界作强制的
规定.
PDF 文件使用 "pdfFactory Pro" 试用版本创建 www.fineprint.com.cn
11
函数依赖(例)
Student(Sno, Sname, Ssex, Sage, Sdept)
假设不允许重名,则有:
Sno→Ssex,Sno→Sage , Sno→Sdept,
Sno←→Sname,Sname→Ssex,Sname→
Sage
Sname→Sdept 但Ssex Sage
若X→Y,并且Y→X, 则记为X←→Y.
若Y不函数依赖于X, 则记为X Y.
PDF 文件使用 "pdfFactory Pro" 试用版本创建 www.fineprint.com.cn
12
平凡函数依赖与非平凡函数依赖
在关系模式R(U)中,对于U的子集X和Y,
如果X→Y,但Y X,则称X→Y是非平
凡的函数依赖
若X→Y,但Y X, 则称X→Y是平凡的
函数依赖
PDF 文件使用 "pdfFactory Pro" 试用版本创建 www.fineprint.com.cn
13
平凡函数依赖与非平凡函数依赖(续)
例:在关系SC(Sno,Cno, Grade)中,
非平凡函数依赖:(Sno,Cno) →Grade
平凡函数依赖:(Sno,Cno) →Sno
(Sno,Cno) →Cno
于任一关系模式,平凡函数依赖都是必然成立
的,它不反映新的语义,因此若不特别声明,
我们总是讨论非平凡函数依赖.
PDF 文件使用 "pdfFactory Pro" 试用版本创建 www.fineprint.com.cn
14
完全函数依赖与部分函数依赖
定义6.2在关系模式R(U)中,如果
X→Y,并且对于X的任何一个真子集X',
都有
X' Y, 则称Y完全函数依赖于X,
记作X Y.
若X→Y,但Y不完全函数依赖于X,则
称Y部分函数依赖于X,记作X Y.
PDF 文件使用 "pdfFactory Pro" 试用版本创建 www.fineprint.com.cn
15
完全函数依赖与部分函数依赖(续)
例: 在关系SC(Sno, Cno, Grade)中,
由于:Sno Grade,Cno Grade,
因此:(Sno, Cno) Grade
PDF 文件使用 "pdfFactory Pro" 试用版本创建 www.fineprint.com.cn
16
传递函数依赖
定义6.3在关系模式R(U)中,如果X→Y,
Y→Z,且Y X,Y X,则称Z传递函数依赖
于X.
注: 如果Y→X,即X←→Y,则Z直接依赖于X.
例: 在关系Std(Sno, Sdept, Mname)中,有:
Sno→Sdept,Sdept→Mname
Mname传递函数依赖于Sno
PDF 文件使用 "pdfFactory Pro" 试用版本创建 www.fineprint.com.cn
17
6.2.2 码
定义6.4设K为关系模式R中的
属性或属性组合.若K U,则K称为R
的一个侯选码(Candidate Key).若
关系模式R有多个候选码,则选定其中的
一个做为主码(Primary key).
主属性与非主属性
ALL KEY
PDF 文件使用 "pdfFactory Pro" 试用版本创建 www.fineprint.com.cn
18
外部码
定义6.5 关系模式R 中属性或属性组X
并非R的码,但X 是另一个关系模式的
码,则称X 是R 的外部码(Foreign
key)也称外码
主码又和外部码一起提供了表示关系间
联系的手段.
PDF 文件使用 "pdfFactory Pro" 试用版本创建 www.fineprint.com.cn
19
6.2.3 范式
范式是符合某一种级别的关系模式的集合.
关系数据库中的关系必须满足一定的要求.满
足不同程度要求的为不同范式.
范式的种类:
第一范式(1NF)
第二范式(2NF)
第三范式(3NF)
BC范式(BCNF)
第四范式(4NF)
第五范式(5NF)
PDF 文件使用 "pdfFactory Pro" 试用版本创建 www.fineprint.com.cn
20
6.2.3 范式
各种范式之间存在联系:
某一关系模式R为第n范式,可简记
为R∈nNF.
NF5NF4BCNFNF3NF2NF1
PDF 文件使用 "pdfFactory Pro" 试用版本创建 www.fineprint.com.cn
21
6.2.4 1NF定义
如果一个关系模式R的所有属性都是不可
分的基本数据项,则R∈1NF.
第一范式是对关系模式的最起码的要求.
不满足第一范式的数据库模式不能称为
关系数据库.
但是满足第一范式的关系模式并不一定
是一个好的关系模式.
PDF 文件使用 "pdfFactory Pro" 试用版本创建 www.fineprint.com.cn
22
2NF
例: 关系模式SLC(Sno, Sdept, Sloc, Cno,
Grade) Sloc为学生住处,假设每个系的学
生住在同一个地方.
函数依赖包括:
(Sno, Cno) Grade
Sno→Sdept
(Sno, Cno) Sdept
Sno→Sloc
(Sno, Cno) Sloc
Sdept→Sloc
PDF 文件使用 "pdfFactory Pro" 试用版本创建 www.fineprint.com.cn
23
2NF
SLC的码为(Sno, Cno)
SLC满足第一范式.
非主属性Sdept和Sloc部分函数依赖于码(Sno, Cno)
Sno
Cno
Grade
Sdept
Sloc
SLC
PDF 文件使用 "pdfFactory Pro" 试用版本创建 www.fineprint.com.cn
24
SLC不是一个好的关系模式
(1) 插入异常
假设Sno=95102,Sdept=IS,Sloc=N的学生
还未选课,因课程号是主属性,因此该学生的信息
无法插入SLC.
(2) 删除异常
假定某个学生本来只选修了3号课程这一门课.现
在因身体不适,他连3号课程也不选修了.因课程
号是主属性,此操作将导致该学生信息的整个元组
都要删除.
PDF 文件使用 "pdfFactory Pro" 试用版本创建 www.fineprint.com.cn
25
SLC不是一个好的关系模式
(3) 数据冗余度大
如果一个学生选修了10门课程,那么他的Sdept和
Sloc值就要重复存储了10次.
(4) 修改复杂
例如学生转系,在修改此学生元组的Sdept值的同
时,还可能需要修改住处(Sloc).如果这个学生
选修了K门课,则必须无遗漏地修改K个元组中全
部Sdept,Sloc信息.
PDF 文件使用 "pdfFactory Pro" 试用版本创建 www.fineprint.com.cn
26
2NF
原因:Sdept,Sloc部分函数依赖于码.
解决方法
0SLC分解为两个关系模式,以消除这些部分
函数依赖
SC(Sno,Cno,Grade)
SL(Sno,Sdept,Sloc)
PDF 文件使用 "pdfFactory Pro" 试用版本创建 www.fineprint.com.cn
27
2NF
SLC的码为(Sno, Cno)
SLC满足第一范式.
非主属性Sdept和Sloc部分函数依赖于码(Sno, Cno)
Sno
Cno
Grade
Sdept
Sloc
SLC
PDF 文件使用 "pdfFactory Pro" 试用版本创建 www.fineprint.com.cn
28
修改后的函数依赖图:
Sno
Cno
Grade
SC
SL
Sno
Sdept
Sloc
PDF 文件使用 "pdfFactory Pro" 试用版本创建 www.fineprint.com.cn
29
2NF定义
定义6.6若关系模式R∈1NF,并且每一个非
主属性都完全函数依赖于R的码,则R∈2NF.
例:SLC(Sno, Sdept, Sloc, Cno, Grade)
∈1NF
SLC(Sno, Sdept, Sloc, Cno, Grade) 2NF
SC(Sno,Cno,Grade)∈2NF
SL(Sno,Sdept,Sloc)∈2NF
PDF 文件使用 "pdfFactory Pro" 试用版本创建 www.fineprint.com.cn
30
2NF结束语
采用投影分解法将一个1NF的关系分解
为多个2NF的关系,可以在一定程度上
减轻原1NF关系中存在的插入异常,删
除异常,数据冗余度大,修改复杂等问
题.
将一个1NF关系分解为多个2NF的关系,
并不能完全消除关系模式中的各种异常
情况和数据冗余.
PDF 文件使用 "pdfFactory Pro" 试用版本创建 www.fineprint.com.cn
31
6.2.5 3NF
例:2NF关系模式SL(Sno, Sdept, Sloc)
中,函数依赖:
Sno→Sdept
Sdept→Sloc
Sno→Sloc
Sloc传递函数依赖于Sno,即SL中存在
非主属性对码的传递函数依赖.
PDF 文件使用 "pdfFactory Pro" 试用版本创建 www.fineprint.com.cn
32
关系模式SL存在的问题
数据冗余
更新代价巨大
插入异常
删除异常
SL
Sno
Sdept
Sloc
PDF 文件使用 "pdfFactory Pro" 试用版本创建 www.fineprint.com.cn
33
解决方法
采用投影分解法,把SL分解为两个关
系模式,以消除传递函数依赖:
SD(Sno,Sdept)
DL(Sdept,Sloc)
0SD的码为Sno,DL的码为Sdept.
PDF 文件使用 "pdfFactory Pro" 试用版本创建 www.fineprint.com.cn
34
分解后的函数依赖图
SD的码为Sno,DL的码为Sdept.
SnoSdept
SD
SdeptSloc
DL
PDF 文件使用 "pdfFactory Pro" 试用版本创建 www.fineprint.com.cn
35
3NF定义
定义6.8关系模式R 中若不存
在这样的码X,属性组Y及非主属性Z(Z
Y), 使得X→Y,Y X,Y→Z,成立,
则称R ∈3NF.
例,SL(Sno, Sdept, Sloc) ∈2NF
SL(Sno, Sdept, Sloc) 3NF
SD(Sno,Sdept)∈3NF
DL(Sdept,Sloc)∈3NF
PDF 文件使用 "pdfFactory Pro" 试用版本创建 www.fineprint.com.cn
36
3NF结束语
若R∈3NF,则R的每一个非主属性既不部分
函数依赖于候选码也不传递函数依赖于候选码.
如果R∈3NF,则R也是2NF.
采用投影分解法将一个2NF的关系分解为多个
3NF的关系,可以在一定程度上解决原2NF关
系中存在的插入异常,删除异常,数据冗余度
大,修改复杂等问题.
将一个2NF关系分解为多个3NF的关系后,并
不能完全消除关系模式中的各种异常情况和数
据冗余.
PDF 文件使用 "pdfFactory Pro" 试用版本创建 www.fineprint.com.cn
37
6.2.6 BC范式(BCNF)
定义6.9 设关系模式R∈1NF,如果
对于R的每个函数依赖X→Y,若Y不属于X,
则X必含有候选码,那么R∈BCNF.
若R∈BCNF ,每一个决定属性集(因素)都包
含(候选)码
R中的所有属性(主,非主属性)都完全函数
依赖于码,R∈3NF
若R∈3NF 则R不一定∈BCNF
PDF 文件使用 "pdfFactory Pro" 试用版本创建 www.fineprint.com.cn
38
BCNF
例:在关系模式STJ(S,T,J)中,S
表示学生,T表示教师,J表示课程.
每一教师只教一门课.每门课由若干教
师教,某一学生选定某门课,就确定了
一个固定的教师.某个学生选修某个教
师的课就确定了所选课的名称:
(S,J)→T,(S,T)→J,T→J
PDF 文件使用 "pdfFactory Pro" 试用版本创建 www.fineprint.com.cn
39
6.2.6 BCNF
S
J
T
S
T
J
STJ
PDF 文件使用 "pdfFactory Pro" 试用版本创建 www.fineprint.com.cn
40
BCNF
STJ∈3NF
(S,J)和(S,T)都可以作为候选码
S,T,J都是主属性
STJ BCNF
T→J,T是决定属性集,T不是候选码
PDF 文件使用 "pdfFactory Pro" 试用版本创建 www.fineprint.com.cn
41
BCNF
解决方法:将STJ分解为二个关系模式:
SJ(S,J) ∈BCNF,TJ(T,J)∈BCNF
没有任何属性对码的部分函数依赖和传递函数依赖
SJ
ST
TJ
TJ
PDF 文件使用 "pdfFactory Pro" 试用版本创建 www.fineprint.com.cn
42
3NF与BCNF的关系
如果关系模式R∈BCNF,
必定有R∈3NF
如果R∈3NF,且R只有一个候选码,
则R必属于BCNF.
PDF 文件使用 "pdfFactory Pro" 试用版本创建 www.fineprint.com.cn
43
BCNF的关系模式所具有的性质
⒈所有非主属性都完全函数依赖于每个候
选码
⒉所有主属性都完全函数依赖于每个不包
含它的候选码
⒊没有任何属性完全函数依赖于非码的任
何一组属性
BCNF同样存在冗余,更新代价大,插入
删除异常的问题.
PDF 文件使用 "pdfFactory Pro" 试用版本创建 www.fineprint.com.cn
44
6.2.5 多值依赖与第四范式(4NF)
例: 学校中某一门课程由多个教师讲授,
他们使用相同的一套参考书.
关系模式Teaching(C, T, B)
课程C,教师T 和参考书B
PDF 文件使用 "pdfFactory Pro" 试用版本创建 www.fineprint.com.cn
45
课程C教员T参考书B
物理
数学
计算数学
李勇
王军
李勇
张平
张平
周峰
普通物理学
光学原理
物理习题集
数学分析
微分方程
高等代数
数学分析
一个存在多值依赖的关系
PDF 文件使用 "pdfFactory Pro" 试用版本创建 www.fineprint.com.cn
46
普通物理学
光学原理
物理习题集
普通物理学
光学原理
物理习题集
数学分析
微分方程
高等代数
数学分析
微分方程
高等代数
李勇
李勇
李勇
王军
王军
王军
李勇
李勇
李勇
张平
张平
张平
物理
物理
物理
物理
物理
物理
数学
数学
数学
数学
数学
数学
参考书B教员T课程C
用二维表表示Teaching
PDF 文件使用 "pdfFactory Pro" 试用版本创建 www.fineprint.com.cn
47
Teaching分析
Teaching∈BCNF:
Teaching具有唯一候选码(C,T,B),
即全码
PDF 文件使用 "pdfFactory Pro" 试用版本创建 www.fineprint.com.cn
48
Teaching模式中存在的问题
(1)数据冗余度大
(2)插入操作复杂
(3) 删除操作复杂:
(4) 修改操作复杂:
产生原因:存在多值依赖
PDF 文件使用 "pdfFactory Pro" 试用版本创建 www.fineprint.com.cn
49
多值依赖定义
设R(U)是一个属性集U上的一个关系模
式,X,Y和Z是U的子集,并且Z=U-
X-Y,多值依赖X→→Y成立当且仅当
对R的任一关系r,r在(X,Z)上的每
个值对应一组Y的值,这组值仅仅决定于
X值而与Z值无关
例Teaching(C, T, B)对于C的每一
个值,T有一组值与之对应,而不论B取
何值
PDF 文件使用 "pdfFactory Pro" 试用版本创建 www.fineprint.com.cn
50
平凡多值依赖和非平凡的多值依赖
若X→→Y,而Z=φ,则称X→→Y为平
凡的多值依赖, 否则称X→→Y为非平凡
的多值依赖
试举例说明,平凡的多值依赖和非平凡
的多值依赖
PDF 文件使用 "pdfFactory Pro" 试用版本创建 www.fineprint.com.cn
51
多值依赖的性质――对称性
若X→→Y,则X→→Z,其中Z=U-X
-Y
Xi
Zi1 Zi2…Zim
Yi1Yi2…Yin
PDF 文件使用 "pdfFactory Pro" 试用版本创建 www.fineprint.com.cn
52
多值依赖的对称性


普通物理学光学原理物理习题集
李勇,王军……
PDF 文件使用 "pdfFactory Pro" 试用版本创建 www.fineprint.com.cn
53
多值依赖性质
(2)传递性:若X→→Y,Y→→Z,则
X→→Z -Y
(3)函数依赖是多值依赖的特殊情况,
若X→Y,则X→→Y.
(4)若X→→Y,X→→Z,则X→→Y∪Z
(5)若X→→Y,X→→Z,则X→→Y∩Z
(6)若X→→Y,X→→Z,则X→→Y-Z,
X→→Z -Y
PDF 文件使用 "pdfFactory Pro" 试用版本创建 www.fineprint.com.cn
54
多值依赖与函数依赖区别――有效性
依赖属性集以外的范围变化
0若X→→Y在U上成立,则在W(X Y W
U)上一定成立;反之则不然,即X→→Y在
W(W U)上成立,在U上并不一定成立
0只要在R(U)的任何一个关系r中,元组在
X和Y上的值满足定义6.l(函数依赖),
则函数依赖X→Y在任何属性集W(X Y
W U)上成立.
PDF 文件使用 "pdfFactory Pro" 试用版本创建 www.fineprint.com.cn
55
多值依赖与函数依赖区别――有效性
依赖属性集本身的范围变化
0若函数依赖X→Y在R(U)上成立,则对于
任何Y' Y均有X→Y' 成立
0多值依赖X→→Y若在R(U)上成立,不能断
言对于任何Y' Y有X→→Y' 成立
PDF 文件使用 "pdfFactory Pro" 试用版本创建 www.fineprint.com.cn
56
第四范式(4NF)
定义6.10关系模式R∈1NF,
如果对于R的每个非平凡多值依赖
X→→Y(Y X),X都含有候选码,则
R∈4NF.
如果R ∈4NF,则R ∈BCNF;
4NF不允许有非平凡且非函数依赖的多
值依赖,允许的是函数依赖(是非平凡多
值依赖)
PDF 文件使用 "pdfFactory Pro" 试用版本创建 www.fineprint.com.cn
57
第四范式(续)
例:Teach(C,T,B) 4NF
存在非平凡的多值依赖C→→T,且C不
是候选码, 用投影分解法把Teach分解为
如下两个关系模式:
CT(C, T) ∈4NF, CB(C, B) ∈4NF
C→→T,C→→B是平凡多值依赖
PDF 文件使用 "pdfFactory Pro" 试用版本创建 www.fineprint.com.cn
58
6.2规范化
6.2.1 第一范式(1NF)
6.2.2 第二范式(2NF)
6.2.3 第三范式(3NF)
6.2.4 BC范式(BCNF)
6.2.5 多值依赖与第四范式(4NF)
6.2.6 规范化
PDF 文件使用 "pdfFactory Pro" 试用版本创建 www.fineprint.com.cn
59
6.2.6 规范化
关系数据库的规范化理论是数据库逻辑
设计的工具.
一个关系只要其分量都是不可分的数据
项,它就是规范化的关系,但这只是最
基本的规范化.
规范化程度可以有多个不同的级别
PDF 文件使用 "pdfFactory Pro" 试用版本创建 www.fineprint.com.cn
60
规范化(续)
规范化程度过低的关系不一定能够很好
地描述现实世界,可能会存在插入异常,
删除异常,修改复杂,数据冗余等问题
一个低一级范式的关系模式,通过模式
分解可以转换为若干个高一级范式的关
系模式集合,这种过程就叫关系模式的
规范化
PDF 文件使用 "pdfFactory Pro" 试用版本创建 www.fineprint.com.cn
61
规范化(续)
关系模式规范化的基本步骤
1NF
↓消除非主属性对码的部分函数依赖
消除决定属性2NF
集非码的非平↓消除非主属性对码的传递函数依赖
凡函数依赖3NF
↓消除主属性对码的部分和传递函数依

BCNF
↓消除非平凡且非函数依赖的多值依赖
4NF
PDF 文件使用 "pdfFactory Pro" 试用版本创建 www.fineprint.com.cn
62
规范化程度越高的关系模式就越好吗
在设计数据库模式结构时,必须对现实
世界的实际情况和用户应用需求作进一
步分析,确定一个合适的,能够反映现
实世界的模式
90%以上的关系模式设计到3NF,就可
以达到性能最优
PDF 文件使用 "pdfFactory Pro" 试用版本创建 www.fineprint.com.cn
63
第五章关系数据理论
6.1数据依赖
6.2规范化
6.3 数据依赖的公理系统
6.4 模式的分解
PDF 文件使用 "pdfFactory Pro" 试用版本创建 www.fineprint.com.cn
64
6.3数据依赖的公理系统
逻辑蕴含
定义6.11对于满足一组函数依赖F的
关系模式R ,其任何一个关系r,
若函数依赖X→Y都成立, 则称F逻辑蕴含
X →Y
PDF 文件使用 "pdfFactory Pro" 试用版本创建 www.fineprint.com.cn
65
逻辑蕴含(例)
关系模式R(A,B,C),函数依赖集F=
{A→B,B→C}与F'={A→B,B→C,A→C}
之间相互逻辑蕴涵
PDF 文件使用 "pdfFactory Pro" 试用版本创建 www.fineprint.com.cn
66
闭包
定义6.l2 在关系模式R中为F
所逻辑蕴含的函数依赖的全体叫作F的
闭包,记为F+.
闭包既包含非平凡的函数依赖也包含平
凡的函数依赖;既包含完全的函数依赖
也包含部分的函数依赖.
如何由F计算F+
PDF 文件使用 "pdfFactory Pro" 试用版本创建 www.fineprint.com.cn
67
F的闭包
F={X→Y,Y→Z}, 求F+
F+={X→φ, Y→φ, Z→φ, XY→φ, XZ→φ, YZ→φ,
XYZ→φ, X→X, Y→Y, Z→Z, XY→X, XZ→X,
YZ→Y, XYZ→X, X→Y, Y→Z ,XY→Y, XZ→Y,
YZ→Z, XYZ→Y, X→Z, Y→YZ, XY→Z, XZ→Z,
YZ→YZ, XYZ→Z, X→XY, XY→XY, XZ→XY,
XYZ→XY, X→XZ, XY→YZ, XZ→XZ, XYZ→YZ
X→YZ, XY→XZ, XZ→XY, XYZ→XZ, X→ZYZ,
XY→XYZ, XZ→XYZ, XYZ→XYZ }
PDF 文件使用 "pdfFactory Pro" 试用版本创建 www.fineprint.com.cn
68
Armstrong公理系统(阿氏公理)
一套推理规则,是模式分解算法的理论
基础
用途
0求给定关系模式的码
0从一组函数依赖求得蕴含的函数依赖
PDF 文件使用 "pdfFactory Pro" 试用版本创建 www.fineprint.com.cn
69
1. Armstrong公理系统
关系模式R 来说有以下的推理
规则:
0Al.自反律(Reflexivity):
0若Y X U,则X →Y为F所蕴含.
0A2.增广律(Augmentation):若X→Y为
F所蕴含,且Z U,则XZ→YZ为F所蕴含.
0A3.传递律(Transitivity):若X→Y及
Y→Z为F所蕴含,则X→Z为F所蕴含.
PDF 文件使用 "pdfFactory Pro" 试用版本创建 www.fineprint.com.cn
70
2. 导出规则
根据A1,A2,A3这三条推理规则可以
得到下面三条推理规则:
0合并规则:由X→Y,X→Z,有X→YZ.
(A2,A3)
0伪传递规则:由X→Y,WY→Z,有
XW→Z.
(A2,A3)
0分解规则:由X→Y及Z Y,有X→Z.
(A1,A3)
PDF 文件使用 "pdfFactory Pro" 试用版本创建 www.fineprint.com.cn
71
导出规则
引理6.l X→(A1 A2…Ak)成立的充分必
要条件是X→Ai成立(i=l,2,…,k)
定义6.13 设F为属性集U上的一组函数
依赖,X U,XF
+={ A|X→A能由F
根据Armstrong公理导出},XF
+称为
属性集X关于函数依赖集F 的闭包
PDF 文件使用 "pdfFactory Pro" 试用版本创建 www.fineprint.com.cn
72
引理6.2
设F为属性集U上的一组函数依赖,X,Y
U,X→Y能由F 根据Armstrong公理
导出的充分必要条件是Y XF
+
用途
将判定X→Y是否能由F根据Armstrong
公理导出的问题,转化为求出XF
+,判
定Y是否为XF
+的子集的问题
PDF 文件使用 "pdfFactory Pro" 试用版本创建 www.fineprint.com.cn
73
求闭包的算法
算法6.l 求属性集X(X U)关于U上的函数依
赖集F 的闭包XF
+
输入:X,F
输出:XF
+
步骤:
(1)令X(0)=X,i=0
(2)求B,这里B= { A|( V)( W)(V→W∈F
∧V X(i)∧A∈W)};
(3)X(i+1)=B∪X(i)
PDF 文件使用 "pdfFactory Pro" 试用版本创建 www.fineprint.com.cn
74

引用地址:http://www.wenhei.com/document/1179926/

文件信息 »

发布时间:2008-04-29   文件大小:4949071   类型:pdf 文档
下载文档 数据库原理