第一章 数据库系统简介
DESCRIPTION
第一章 数据库系统简介. 弁言. 信息与数据 信息与知识 数据库在信息系统中的地位. 什么是信息. 数学上 是确定性的度量,两次不定性之差,与随机对立. 猜猜 32 只球队谁是冠军? 折半查找,猜 5 次, log 2 32. 按夺冠概率高低划分组,可 以用更少次数找到谁是冠军. 什么是信息. 炒股第一金律:回避风险. 最大熵 对一个一无所知的骰子,其各面朝上的概率均为 1/6 ;如果一个面朝上的概率为 1/3 ,则其余五个面朝上的概率分别是 2/15 - PowerPoint PPT PresentationTRANSCRIPT
2
信息与数据 信息与知识 数据库在信息系统中的地位
弁言
什么是信息 数学上
是确定性的度量,两次不定性之差,与随机对立
ii pp log熵:
猜猜 32 只球队谁是冠军?折半查找,猜 5 次, log232
按夺冠概率高低划分组,可以用更少次数找到谁是冠军
什么是信息 最大熵
对一个一无所知的骰子,其各面朝上的概率均为1/6 ;如果一个面朝上的概率为 1/3 ,则其余五个面朝上的概率分别是 2/15
最大熵原理:当对一个随机事件的概率分布进行预测时,预测应当满足全部已知的条件,而对未知的情况不要做任何主观假设。这种情况下,概率分布最均匀,熵最大,预测的风险最小
不要把所有的鸡蛋放在一个篮子里,当遇到不确定性时,就要保留各种可能性,将风险降到最小
4
炒股第一金律:回避风险
什么是信息 物理上
信息是一种能量,与熵对立 热力学第一定律:热功转换
开啤酒瓶口有白气 热力学第二定律:熵增加
热寂说 最大熵:分子运动论
5
Maxiwell 精灵
小贴士 :1 比特信息操作最少增加 kBln2 的熵
两次 google 搜索的碳排放等于烧开 1 壶水
什么是信息 信息是不确定性的消除 信息是负熵 信息是有序性的度量 信息是系统组织程度的度量 信息是事物之间的差异 信息是使概率分布发生变动的东西 信息是被反映的物质属性 信息是通讯传输的内容 信息是人与外界相互作用的过程中所交换的内容
6
先锋地下实验室
7
什么是信息 信息特性
无限性、共享性、创造性、时效性、相对性 信息构成
信息源、内容、载体、传输、接受者 信息类型
战略信息、战术信息、作业信息
如是我闻 佛渡有缘人
8
信息与数据 数据
对现实世界中客观事物的符号表示 数字、文本、声音、图像
计算机中数据 能输入计算机,并能为其处理的符号序列
数据项,数据元素
9
信息与数据 信息与数据的联系
数据是信息的符号表示,或称载体 信息是数据的内涵,是数据的语义解释 数据是符号化的信息 信息是语义化的数据
例,一幅黑白图象 数据——黑白点阵 信息——脸谱
10
信息与知识 知识
“行动的能力”,“知识就是力量” “可以辅助我们作出决策或采取行动的有很高价值的一种信息形态”
可以很快地将信息从一个地方转移到另一个地方,但将知识从一个人转移给另一个人经常是很困难和很慢的
感知信息 学习知识
11
信息与知识 信息管理
通过收集、处理、浓缩信息以达到有效的管理 知识管理
学习型组织 知识共享 IBM Lotus 悖论:教会徒弟,饿死师傅
信息系统
1212信息系统:存储、处理、交换信息
13
数据库在信息系统中的地位
作业层
管理层
决策层
信息收集系统
数据库管理系统
决策支持系统
原始信息
数据
决策信息
形式化
归纳
信息系统
数据管理对数据的分类、组织、编码、存储、检索和维护
14
数据库在信息系统中的地位 新趋向
应用由计算转向信息处理 数据量激增,并呈多样性
数字图书馆 交互视频 人类基因组 电子商务 Web …...
15
数据库在信息系统中的地位 市场前景
四大支柱 操作系统、计算机语言、网络、数据库
两大热门 网络、数据库
无所不在的数据管理 All data in database All work over DBMS
16
Why? 数据管理艺术的必然
What? 数据模型
How? 数据库模式
tripleV ( veni, vidi, vici) 我来、我见、我征服
triple? : Why? What? How?
17
提纲 回溯——数据管理的发展阶段 数据模型 数据库模式 数据库系统的构成 数据库新方向
数据的认识层面 数据类型
具有相同数据结构的数据属同一类,同一类数据的全体称为一个数据类型
数据类型说明了数据在数据分类中的归属,它是数据的一种属性,用以限定该数据的变化范围
18
19
数据的认识层面 数据结构
按照逻辑关系组织起来的一批数据 , 按一定的存储方法把它存储在计算机中 , 并在这些数据上定义了一个运算的集合
逻辑结构 数据之间存在的逻辑关系 表、树、图、数组…
物理结构 数据在计算机内的存储方式 顺序方式、链接方式…
20
数据的认识层面 数据结构+算法=程序 数据独立性
当数据的结构发生变化时,通过系统提供的映象(转换)功能,使应用程序不必改变
数据的物理独立性 当数据的存储结构改变时,应用程序不必改变
数据的逻辑独立性 当数据的逻辑结构改变时,应用程序不必改变
21
数据的认识层面 数据语义
语言:形式 语义:内涵
1101081980010100x ?
庄子与惠子游于濠梁之上,庄子曰:“鲦鱼出游从容,是鱼之乐也。”惠子曰:“子非鱼,安知鱼之乐?”,庄子曰:“子非我,安知我不知鱼之乐?”惠子曰:“我非子,固不知子矣;子固非鱼也,子之不知鱼之乐,全矣。”庄子曰:“请循其本。子曰‘女安知鱼乐’云者,既已知吾知之而问我,我知之濠上也。”
22
数据管理的方方面面 数据定义
逻辑结构 物理结构
数据操纵 查询
事物自身的属性 事物之间的联系
数据更新 插入、删除、修改
数据约束 对客观事物的合理反映
数据独立性:将数据管理从应用程序中剥离出来
23
数据管理的发展阶段
考察要点 各阶段的技术及应用背景
计算机应用范围 外存储设备 数据管理软件
各个阶段的差别体现 谁管理数据 数据面向谁 数据与应用的独立性
24
数据管理的发展阶段
人工管理阶段( 50年代中期以前) 文件系统阶段( 50 年代后期 ---60 年代
中期) 数据库系统阶段( 60年代后期开始) 数据库系统 VS 文件系统 软件发展趋势 数据库系统的特点
25
人工管理阶段 背景
计算机主要用于科学计算 数据量小、结构简单,如高阶方程、曲线拟和等
外存为顺序存取设备 磁带、卡片、纸带,没有磁盘等直接存取设备
没有操作系统,没有数据管理软件 用户用机器指令编码,通过纸带机输入程序和数据,
程序运行完毕后,由用户取走纸带和运算结果,再让下一用户上机操作
26
人工管理阶段
访问
访问
访问
数据 1
数据 2
数据 n
程序 1
程序 2
程序 n
27
人工管理阶段 特点
用户完全负责数据管理工作 数据的组织、存储结构、存取方法、输入输出等
数据完全面向特定的应用程序 每个用户使用自己的数据,数据不保存,用完就撤走
数据与程序没有独立性 程序中存取数据的子程序随着存储结构的改变而改变
磁带的特点 优点:廉价地存放大容量数据 缺点:顺序访问; 1% 所需, 100%访问
28
文件系统阶段 背景
计算机不但用于科学计算,还用于管理 外存有了磁盘、磁鼓等直接存取设备 直接存取设备( DASD)
无须顺序存取 由地址直接访问所需记录
产生了操作系统
29
文件系统阶段 有了专门管理数据的软件,称为文件系统
文件存储空间的管理 目录管理 文件读写管理 文件保护 向用户提供操作接口
30
文件系统阶段
数据 1
数据 2
数据 n
存取方式
程序 1
程序 2
程序 n
31
文件系统阶段 系统提供一定的数据管理功能
存取方法(索引文件、链接文件、直接存取文件、倒排文件等)
支持对文件的基本操作(增、删、改、查等),用户程序不必考虑物理细节
数据的存取基本上以记录为单位 数据仍是面向应用的
一个数据文件对应一个或几个用户程序 数据与程序有一定的独立性
文件的逻辑结构与存储结构由系统进行转换,数据在存储上的改变不一定反映在程序上
32
文件系统阶段
补贴系别姓名学号劳资科
住址系别性别姓名学号房产科
学位学分系别姓名学号学籍科
学位 出身年龄系别性别姓名学号人事科
33
文件系统阶段 数据与程序的独立性差
文件系统的出现并没有从根本上改变数据与程序紧密结合的状况,数据的逻辑结构改变则必须修改应用程序
文件系统只是解脱了程序员对物理设备存取的负担,它并不理解数据的语义,只负责存储
数据的语义信息只能由程序来解释,也就是说,数据收集以后怎么组织,以及数据取出来之后按什么含义应用,只有全权管理它的程序知道
一个应用若想共享另一个应用生成的数据,必须同另一个应用沟通,了解数据的语义与组织方式
34
文件系统阶段 数据的共享性差,冗余度大
数据面向应用 即使不同应用程序所需要的数据有部分相同时,也必须建立各自的文件,而不能共享相同的数据
数据孤立 数据分散管理,许多文件,许多数据格式
数据的不一致性 由于数据存在很多副本,给数据的修改与维护带来了困难,容易造成数据的不一致性
信息孤岛
35
文件系统阶段 数据查询困难
记录之间无联系 应用自己编程实现 对每个查询都重新编码
数据完整性难于维护 性别必须是男或女 员工工资不能超过其经理 每门课选修人数不能超过 100 …
36
示例
S(SNO, SNAME, STATUS, CITY)
P(PNO, PNAME, COLOR, WEIGHT, CITY)J(JNO, JNAME,CITY)SPJ(SNO, PNO, JNO, QTY)S 表示供应商,各属性依次为供应商号,供应商名,供应商状态值,供应商所在城市;P 表示零件,各属性依次为零件号,零件名,零件颜色,零件重量,零件存放的城市;J 表示工程,各属性依次为工程号,工程名,工程所在城市;SPJ 表示供货关系,各属性依次为供应商号,零件号,工程号,供货数量。
供应商 项目
零件
供应
37
忆苦思甜 查询
“供应红色零件给北京的工程的供应商姓名” 维护
“不允许供应不存在的零件”
38
青铜世纪——基于文件系统
分别组织几个文件,存储各类对象的记录
CreateFile(S, P, J, SPJ)
ScanFile(P)找到红色零件的号码
ScanFile(J)找到北京的工程的号码
ScanFile(SPJ)找到对应以上两号码的 SNO
ScanFile(S)找到对应以上 SNO 的供应商姓名
39
青铜世纪——基于文件系统
如果 InsertFile(SPJ)
ScanFile(P)判断欲插入的零件号是否在 P 中
如果 DeleteFile(P)
ScanFile(SPJ)判断欲删除的零件号是否在 SPJ 中
40
数据库系统阶段 背景
计算机管理的数据量大,关系复杂,共享性要求强(多种应用、不同语言共享数据)
外存有了大容量磁盘,光盘 软件价格上升,硬件价格下降,编制和维护软件及应用程序成本相对增加,其中维护的成本更高,力求降低
专门的数据管理软件呼之欲出
41
数据库系统阶段 数据库观点
数据不是依赖于处理过程的附属品,而是现实世界中独立存在的对象
数据 1
统一存取数据 2
数据 n
程序 2
程序 1 程序 n
42
学号 姓名
性别
系别 年龄
住址出身
学位
学分
补贴
学籍科
房产科
人事科
劳资科
数据库系统阶段
43
数据库系统阶段 特点
有了数据库管理系统 面向全组织,面向现实世界 独立性较强 由 DBMS 统一存取,维护数据语义及结构
44
数据库系统的特点 面向全组织的复杂的数据结构
支持全企业的应用而不是某一个应用 数据反映了客观事物间的本质联系,而不是着眼于面向某个应用,是有结构的数据。这是数据库系统的主要特征之一,与文件系统的根本差别。文件系统只是记录的内部有结构,一个文件的记录之间是个线性序列,记录之间无联系
45
数据库系统的特点 数据的冗余度小,易扩充
数据面向整个系统,而不是面向某一应用,数据集中管理,数据共享,因此冗余度小
节省存储空间,减少存取时间,且可避免数据之间的不相容性和不一致性
每个应用选用数据库的一个子集,只要重新选取不同子集或者加上一小部分数据,就可以满足新的应用要求,这就是易扩充性
46
数据库系统的特点 具有较高的数据和程序的独立性
把数据库的定义和描述从应用程序中分离出去 数据描述是分级的(全局逻辑、局部逻辑、存储)
数据的存取由系统管理,用户不必考虑存取路径等细节,从而简化了应用程序
47
数据库系统的特点 统一的数据控制功能,数据共享程度高
安全性控制( Security) 保护数据以防止不合法的使用所造成的数据泄露和破坏 措施:用户标识与鉴定,存取控制
完整性控制( Integrity) 数据的正确性、有效性、相容性 措施:完整性约束条件定义和检查
48
数据库系统的特点 并发控制( Concurrency)
对多用户的并发操作加以控制、协调,防止其互相干扰而得到错误的结果并使数据库完整性遭到破坏
措施:封锁 恢复控制 (Recovery)
将数据库从故障中恢复到某个一致状态 措施:冗余
49
黄金世纪——基于数据库系统 数据统一按表结构存放,设为 S , P , J , SPJ
查询:只需提查询要求,由系统完成查询过程SELECT SNAMEFROM S, P, J, SPJ
WHERE SPJ.SNO = S.SNO
AND SPJ.PNO = P.PNO
AND SPJ.JNO = J.PNO
AND J.CITY = “BEIJING”
AND P.COLOR = “RED” 维护:应用提出完整性约束,系统自动检查
CREATE TABLE SPJ(……,
FOREIGN KEY (PNO) REFERENCES P(PNO), ……)
50
数据库系统 vs 文件系统
文件系统
数据管理
应用逻辑
文件系统
应用逻辑数据管理
应用软
件
系统软
件
51
软件发展趋势
软件开发正由编码向集成转变
编码
集成
1970 1990 2012
理解数据管理的内容 数据定义、数据操作、数据约束
目标:数据独立性 将数据管理任务从应用软件中剥离出来
产生系统软件的推动因素 上帝说:要有光 生产力水平+普遍需求
数据管理发展历程总结以史为鉴,读史使人明达
54
数据模型 数据抽象 数据模型定义 概念数据模型 结构数据模型的三要素 结构数据模型示例
55
What’s Model?
Pattern Example Archetype
56
数据抽象
现实世界
信息世界
计算机世界
概念化
形式化
用户
计算机
57
数据抽象 信息世界
数据库系统是面向计算机的,而应用是面向现实世界的,两个世界存在着很大差异,要直接将现实世界中的语义映射到计算机世界是十分困难的,因此引入一个信息世界作为现实世界通向计算机实现的桥梁
一方面,信息世界是对现实世界的抽象,从纷繁的现实世界中抽取出能反映现实本质的概念和基本关系 ;另一方面,信息世界中的概念和关系,要以一定的方式映射到计算机世界中去,在计算机系统上最终实现。信息世界起到了承上启下的作用
58
数据模型定义
数据模型是数据库系统中用于提供信息表示和操作手段的形式构架
应用
概念数据模型
结构数据模型
现实世界
信息世界
计算机世界
59
数据模型定义 概念数据模型
按用户的观点来对数据和信息建模 用于组织信息世界的概念,表现从现实世界中抽象出来的事物以及它们之间的联系
这类模型强调其语义表达能力,概念简单、清晰,易于用户理解
它是现实世界到信息世界的抽象,是用户与数据库设计人员之间进行交流的语言
如 E-R模型
We read the wor ld wrong and say tha t i t dece ives us
60
概念数据模型—— E/R
学生 课程选修
姓名 学号 系别 课程名 先修课 主讲老师
成绩
实体 联系 属性
61
概念数据模型—— ODL
Product
Person
Company
category
name
price
namestockprice
name
address ssn
buys
worksFor
madeBy
employs
makes 类
关联
属性
62
数据模型定义 结构数据模型
从计算机实现的观点来对数据建模 是信息世界中的概念和联系在计算机世界中的表
示方法 有严格的形式化定义,以便于在计算机上实现 层次模型、网状模型、关系模型、面向对象模型
63
结构数据模型的三要素 数据结构
描述系统的静态特性,即组成数据库的对象类型 数据本身
类型、内容、性质。如网状模型中的数据项、记录,关系模型中的域、属性,关系等
数据之间的联系 例如网状模型中的系型,关系模型中的外码
在数据库系统中一般按数据结构的类型来命名数据模型
64
结构数据模型的三要素 数据操作
描述系统的动态特性,即对数据库中对象的实例允许执行的操作的集合,包括操作及操作规则
一般有检索、更新(插入、删除、修改)操作 数据模型要定义操作含义、操作符号、操作规则,
以及实现操作的语言 数据的约束条件
数据的约束条件是完整性规则的集合,规定数据库状态及状态变化所应满足的条件,以保证数据的正确、有效、相容
65
结构数据模型示例——层次模型
层次模型 用树结构表示实体之间联系的模型叫层次模型 树由节点和连线组成
节点代表实体型 连线表示两实体型间的一对多联系
树的特性 每棵树有且仅有一个节点无父节点,称为树的根 树中的其它节点都有且仅有一个父节点
66
结构数据模型示例——层次模型
地址系名系号
教研室名教研室号 年级姓名学号
职称姓名职工号
系
教研室 学生
教员
1 : N 联系实体型
67
结构数据模型示例——层次模型
R1101计算机D02
数据库R01 G1王明S0012
教授何璧E1101
G2郑直S0020 G3周密S019
9
网络R02人工智能R03
讲师刘新E3721
教授王恩E1234 助教付弈E3721
68
结构数据模型示例——层次模型
优点 结构简单,易于实现
缺点 支持的联系种类太少
只支持二元一对多联系 只允许实体集间的一种联系,不支持实体集间的多种联系
数据操纵不方便 子结点的存取只能通过父结点来进行 插入、删除复杂,父结点的删除导致子结点的删除,丢失必
要的信息 代表产品:
IBM 的 IMS 数据库, 1969年研制成功
教师
学生
指导 班主任
69
IMS 的数据存储A1
B3B2B1
C8C7C6C5C4C3C2C1
A1
B1
C1
C2
C3
B2
C4
C5
B3
C6
C7
C8
邻接法:自顶向下、自左向右排列
70
IMS 的数据存储
A1
B1 B2 B3
C1 C2 C3 C4 C5 C6 C7 C8
子女 - 兄弟指引元法:指向最大的子女,指向最近的兄弟
A1
C3
C1
B2 B3B1
C2 C4
C8
C6C7C5
层次 序 列法:自顶向下、自左向右链接
71
结构数据模型示例——网状模型
网状模型 是一个满足下列条件的有向图
可以有一个以上的节点无父节点 至少有一个节点有多于一个的父节点(排除树结构)
节点代表实体型,有向边(从箭尾到箭头)表示两实体型间的一对多联系
科室
医生 病房
病人
实体型
1 : N 联系
72
结构数据模型示例——网状模型
学生 课程
选课
年级姓名学号 学分课程名课程号
成绩课程号学号
AC1S1
AC2S1
BC1S2
A-C2S2
CC1S3
S1
S2
S3
C1
C2
通过指针表达联系嵌入到高级语言中遍历指针 GetNext()
73
结构数据模型示例——网状模型
优点 表达的联系种类丰富 性能良好,存取效率高
缺点 结构复杂 语言复杂
DBTG报告 1969 年,由美国 CODASYC ( Conference On
Data System Language ,数据系统语言协商会)下属的 DBTG( Data Base Task Group)组提出,确立了网状数据库系统的概念、方法、技术
74
结构数据模型示例——关系模型
用二维表来表示实体及其相互联系
属性
元组
男女男
性别
19
22
21
年龄
D01李红S02
D02王伟S03
D01张军S01
系号姓名学号
联系
学生 系属于
逃离指针梦魇
75
结构数据模型示例——关系模型
优点 简单,表的概念直观、单一,用户易理解 非过程化的数据请求,数据请求可以不指明路径 数据独立性,用户只需提出“做什么”,无须说明“怎么做”
坚实的理论基础 缺点
效率低
结构数据模型示例——对象模型
用嵌套表表示复杂实体 我的类型我定义
76
doc_id author keywords title
doc01
Gediminas Adomavicius, Alexander
Tuzhilin
Recommender systems,
collaborative filtering, rating
estimation methods,
Toward the Next Generation of Recommender
Systems: A Survey of the State-of-the-Art
andPossible Extensions
数据模型总结
思考:大浪淘沙,为什么关系模型最终问鼎?不要好高骛远,最合适的就是最好的
理解数据模型的两个层次 概念模型、结构模型
理解数据模型的历史 层次模型、网状模型、关系模型、对象模型
数据模型的评价标准 表达能力、用户友好性、性能效率
下一个轮回? XML ,图 (基于关系模型,面向特殊领域 )
78
数据库模式 元数据 模式 数据字典 实例与模式 模式的分级
79
数据库模式 元数据(meta-data)
描述数据的数据 描述数据的含义和性质,以便更好地理解、管理和使用数据的数据
示例数据: 1, 1, 2, 3, 5, 8, 13……元数据:
数据:图书馆中的书籍元数据:标题、作者、关键词、 ISBN 号
)])2
51()
2
51[(
5
1 11
nn
80
数据库模式 模式
数据的抽象,数据的描述 数据字典
系统目录:存取和管理数据的依据 从 HTML 到 XML , Why ?
HTML 数据的显示格式 供人浏览
XML 数据的内容说明、自描述 机器处理
81
数据库模式 实例与模式
型与值的区别 型是相对稳定的,值是随时间不断变化的 示例
class person{public:
string name;string address;
};
person TOM; person 是型, TOM 是变量, TOM 在某时刻的值是实
例
82
数据库模式 模式的分级
为了提高数据的物理独立性和逻辑独立性,使数据库的用户观点,即用户看到的数据库,与数据库的物理方面,即实际存储的数据库区分开来,数据库系统的模式是分级的
数据库系统三级模式结构 CODASYL ( Conference On Data System
Language,美国数据系统语言协商会)提出模式、外模式、存储模式三级模式的概念。三级模式之间有两级映象
83
数据库模式
数据库
内模式
模 式
外模式 2 外模式 3外模式 1
应用 A 应用 B 应用 C 应用 D 应用 E
外模式 / 模式映象模式 / 内模式映象
84
数据库模式 外模式 (Sub-Schema)
用户的数据视图 是数据的局部逻辑结构,模式的子集
模式 (Schema) 所有用户的公共数据视图 是数据库中全体数据的全局逻辑结构和特性的描述
内模式 (Storage Schema) 又称存储模式 是数据的物理结构及存储方式
85
数据库模式 外模式 /模式映象
定义某一个外模式和模式之间的对应关系,映象定义通常包含在各外模式中
当模式改变时,修改外模式 /模式映象,使外模式保持不变,从而应用程序可以保持不变,称为数据的逻辑独立性
模式 / 内模式映象 定义数据逻辑结构与存储结构之间的对应关系 存储结构改变时,修改模式 / 内模式映象,使模式保持不变,从而应用程序可以保持不变,称为数据的物理独立性
86
数据库模式
S(S#,SNAME,SEX,AGE,ADDRESS,CREDIT,DEGREE)
V1(S#,SNAME,ADDRESS)
学籍科
V2(S#,SNAME,CREDIT)
房产科
视图 视图
模式
create V1 select S#, SNAME, ADDRESS from S
87
数据库模式
V1(S#,SNAME,ADDRESS)
学籍科
V2(S#,SNAME,CREDIT)
房产科
B(S#,SNAME,SEX,AGE,ADDRESS,CREDIT)
M(S#,SNAME,SEX,AGE,ADDRESS,CREDIT,DISSERTATION)
视图 视图
模式模式
create V1 select S#, SNAME, ADDRESS from B union select S#, SNAME, ADDRESS from M
数据模式总结分层思想:
复杂系统的简明剖析不同视角下的同一世界
映射接口:兼容标准与多样性的弹性设计避免局部风险扩散到整个系统
实例:即插即用硬件设备OSI七层网络模型
SOA :技术与业务分离
89
数据库系统的构成 几个相关概念 数据库系统的软硬件层次 数据库系统的主要成分 数据库管理系统的层次结构及其功能 数据库系统结构
90
几个相关概念 数据库
数据的集合 由 DBMS 统一管理,多用户共享
数据库管理系统 DBMS 系统软件,对数据库进行统一管理和控制
数据库系统 带有数据库的整个计算机系统,包括硬件、软件、
数据、人员
91
数据库系统的主要成分
硬件
操作系统
DBMS ,编译系统
应用开发工具软件
应用系统PB,VB,VCDELPHY
Oracle,Db2,
Sybase,
SQL Server
92
数据库系统的主要成分 硬件
大内存,放得下 OS , DBMS核心,系统缓冲区,用户工作区等
大容量、直接存取的外存设备 作数据备份的磁带
软件 OS , DBMS ,高级语言编译系统及其与数据库的接口,
应用开发工具,应用系统 数据
目标数据:数据本身 描述数据:对数据的说明信息
93
数据库系统的主要成分 用户
最终用户 通过应用系统的用户接口(菜单等)使用数据库
应用程序员 基于外模式来编写应用程序
系统分析员 负责应用系统的需求分析和规范定义,确定系统的软硬
件配置,参与数据库模式设计 数据库管理员 DBA
负责数据库的全面管理和控制
94
数据库系统的主要成分 DBA 的重要性
重要资源 维护整个组织的信息资源
共享资源 多用户共享,需要统一管理、协调、监控
DBA职责 建库方面
确定模式、外模式、存储结构、存取策略 负责数据的整理和装入
95
数据库系统的主要成分 用库方面
定义完整性约束条件 规定数据的保密级别、用户权限 监督和控制数据库的运行情况 制定后援和恢复策略,负责故障恢复
改进方面 监督分析系统的性能(空间利用率,处理效率) 数据库重组织,物理上重组织,以提高性能 数据库重构造,设计上较大改动,模式和内模式修改
AutoAdmin
96
DBMS 的层次结构
操作系统
数据存储层
数据存取层
语言翻译处理层
数据库
应用层
数据文件,数据字典,索引,统计数据
缓冲区,提供数据页操作
DDL , DML ,查询计算引擎,提供关系、视图接口
事务,日志,封锁,存取路径,提供单元组接口
执行物理文件的读写操作
97
DBMS 的主要功能 数据库定义功能
DDL 语言( Data Description Language) 描述外模式、模式、内模式(源模式)
模式翻译程序 把源模式翻译成目标模式,存入数据字典中
源模式 模式翻译程序数据字典目标模式
98
DBMS 的主要功能 数据存取功能
DML 语言( Data manipulation language) 对数据库进行检索、插入、修改、删除
DML 类型 宿主型: DML 不独立使用,嵌入到高级语言(主语言)程序中使用
自含型:独立使用,交互式命令方式 DML 语句执行方式
宿主型:预编译和增强编译 自含型:解释执行
99
DBMS 的主要功能 数据库运行管理
并发控制、存取控制、完整性约束条件检查和执行,日志组织和管理,事务管理和自动恢复
数据组织、存储和管理 用户数据、索引、数据字典的组织、存储和管理,包括文件结构、存取方式、数据之间联系的实现等
数据库的建立和维护功能 数据的装入、转换、卸出,数据库的转储、恢复、
性能监视和分析等
100
DBMS 的运行过程
系统缓冲区 应用程序用户工作区
数据库管理系统
数据字典数据库 操作
系统
9
11
121
7
105
8
2
,3
,6
101
DBMS 的运行过程 Step 1
用户向 DBMS 发出调用数据库数据的命令 Step 2
DBMS 对命令进行语法检查、语义检查、存取权限检查,决定是否执行该命令
Step 3 DBMS执行查询优化,把命令转换为一串单记录的存取操作序列
Step 4 执行存取操作序列(反复执行以下各步,直至结束)
Step 5 DBMS首先在缓冲区内查找记录,若找到转 10 ,否则转 6
Step 6 DBMS 查看存储模式,决定从哪个文件存取哪个物理记录
102
DBMS 的运行过程 Step 7
DBMS根据 6 的结果,向操作系统发出读取记录的命令 Step 8
操作系统执行读取数据的命令 Step 9
操作系统将数据从数据库存储区送到系统缓冲区 Step 10
DBMS根据用户命令和数据字典的内容导出用户所要读取的数据格式
Step 11 DBMS 将数据记录从系统缓冲区传送到用户工作区
Step 12 DBMS 将执行状态信息返回给用户
索引数据文件 统计数据 数据字典
事务管理器
应用程序目标代码
嵌入式 DML预编译器
DML编译器
DDL解释器
查询计算引擎
应用界面 应用程序 查询 数据库模式
初级用户 程序设计人员 熟练用户 数据库管理员
数据库管理系统
查询处理器
存储管理器
用户
缓冲区管理器
文件管理器
磁盘存储器数据库
系统结构
104
数据库的若干研究方向 新的数据库管理系统 新的数据库应用 特种数据库 领域数据库
105
新的数据库管理系统 新的数据模型
面向对象数据库及对象 -关系数据库 XML 数据库 图数据库 序列数据库 多维数组数据库
数据流管理系统: DSMS Data stream 实时监视:传感网络、股市行情、交通状况… 在有限内存中对海量数据集的单遍扫描算法
新的数据库管理系统 新的体系结构
并行数据库 大规模数据分析,云计算, map/reduce
分布式数据库 网络+ 数据库 对等数据库
新的硬件平台 主存数据库 闪存数据库 GPU , FPGA ,多核处理器
106
107
新的数据库应用 商业智能
从事务型操作向分析型操作 决策支持
数据仓库 数据挖掘 OLAP
信息集成 “turn the Web into database” 各式信息门户
the sexy job in the next ten
Years will be statisticians
108
特种数据库 移动数据库+嵌入式数据库
分布式数据库的扩展 传感网络 手机、汽车、 PDA... 信息访问的即时性和就地性 移动:数据库 + 无线网络(偶尔断连) 嵌入:面向特定应用的模块化可定制数据库
109
特种数据库 主动数据库
被动服务:命令驱动 主动服务:事件驱动 实时监控系统,异常情况主动处理 ... 信息推送系统: RSS新闻聚合服务 大规模触发器、复杂事件处理
演绎数据库 人工智能 + 数据库,专家系统 事实+推理规则 规则计算:递归查询
110
特种数据库 时态数据库
快照数据库:只记录实体的当前信息 管理被处理事件的历史性信息 管理数据库系统中元事件的时态信息 数据仓库的前驱?
模糊数据库 处理模糊对象:高矮胖瘦、好恶优劣… 模糊数学: L.A.Zadeh 模糊专家系统,模拟计算 ...... 模糊隶属函数
111
特种数据库 实时数据库
对数据的“定时”存取和对“短暂有效”数据的存取
工厂生产过程控制、证券交易、雷达跟踪 ... 给数据和事务安装定时装置 基于优先级调度事务的执行
概率数据库 关键之一:概率查询的合理定义 关键之二:对 Possible world 的高效搜索算法
112
领域数据库 生物数据库
序列、图、高维数据… 空间数据库
几何数据 空间查询
多媒体数据库 天文数据库:虚拟天文台 CAD 数据库
面向对象数据库
科学计算