第一章 数据库系统简介

112

Upload: paki-peters

Post on 01-Jan-2016

94 views

Category:

Documents


15 download

DESCRIPTION

第一章 数据库系统简介. 弁言. 信息与数据 信息与知识 数据库在信息系统中的地位. 什么是信息. 数学上 是确定性的度量,两次不定性之差,与随机对立. 猜猜 32 只球队谁是冠军? 折半查找,猜 5 次, log 2 32. 按夺冠概率高低划分组,可 以用更少次数找到谁是冠军. 什么是信息. 炒股第一金律:回避风险. 最大熵 对一个一无所知的骰子,其各面朝上的概率均为 1/6 ;如果一个面朝上的概率为 1/3 ,则其余五个面朝上的概率分别是 2/15 - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: 第一章  数据库系统简介
Page 2: 第一章  数据库系统简介

2

信息与数据 信息与知识 数据库在信息系统中的地位

弁言

Page 3: 第一章  数据库系统简介

什么是信息 数学上

是确定性的度量,两次不定性之差,与随机对立

ii pp log熵:

猜猜 32 只球队谁是冠军?折半查找,猜 5 次, log232

按夺冠概率高低划分组,可以用更少次数找到谁是冠军

Page 4: 第一章  数据库系统简介

什么是信息 最大熵

对一个一无所知的骰子,其各面朝上的概率均为1/6 ;如果一个面朝上的概率为 1/3 ,则其余五个面朝上的概率分别是 2/15

最大熵原理:当对一个随机事件的概率分布进行预测时,预测应当满足全部已知的条件,而对未知的情况不要做任何主观假设。这种情况下,概率分布最均匀,熵最大,预测的风险最小

不要把所有的鸡蛋放在一个篮子里,当遇到不确定性时,就要保留各种可能性,将风险降到最小

4

炒股第一金律:回避风险

Page 5: 第一章  数据库系统简介

什么是信息 物理上

信息是一种能量,与熵对立 热力学第一定律:热功转换

开啤酒瓶口有白气 热力学第二定律:熵增加

热寂说 最大熵:分子运动论

5

Maxiwell 精灵

小贴士 :1 比特信息操作最少增加 kBln2 的熵

两次 google 搜索的碳排放等于烧开 1 壶水

Page 6: 第一章  数据库系统简介

什么是信息 信息是不确定性的消除 信息是负熵 信息是有序性的度量 信息是系统组织程度的度量 信息是事物之间的差异 信息是使概率分布发生变动的东西 信息是被反映的物质属性 信息是通讯传输的内容 信息是人与外界相互作用的过程中所交换的内容

6

先锋地下实验室

Page 7: 第一章  数据库系统简介

7

什么是信息 信息特性

无限性、共享性、创造性、时效性、相对性 信息构成

信息源、内容、载体、传输、接受者 信息类型

战略信息、战术信息、作业信息

如是我闻 佛渡有缘人

Page 8: 第一章  数据库系统简介

8

信息与数据 数据

对现实世界中客观事物的符号表示 数字、文本、声音、图像

计算机中数据 能输入计算机,并能为其处理的符号序列

数据项,数据元素

Page 9: 第一章  数据库系统简介

9

信息与数据 信息与数据的联系

数据是信息的符号表示,或称载体 信息是数据的内涵,是数据的语义解释 数据是符号化的信息 信息是语义化的数据

例,一幅黑白图象 数据——黑白点阵 信息——脸谱

Page 10: 第一章  数据库系统简介

10

信息与知识 知识

“行动的能力”,“知识就是力量” “可以辅助我们作出决策或采取行动的有很高价值的一种信息形态”

可以很快地将信息从一个地方转移到另一个地方,但将知识从一个人转移给另一个人经常是很困难和很慢的

感知信息 学习知识

Page 11: 第一章  数据库系统简介

11

信息与知识 信息管理

通过收集、处理、浓缩信息以达到有效的管理 知识管理

学习型组织 知识共享 IBM Lotus 悖论:教会徒弟,饿死师傅

Page 12: 第一章  数据库系统简介

信息系统

1212信息系统:存储、处理、交换信息

Page 13: 第一章  数据库系统简介

13

数据库在信息系统中的地位

作业层

管理层

决策层

信息收集系统

数据库管理系统

决策支持系统

原始信息

数据

决策信息

形式化

归纳

信息系统

数据管理对数据的分类、组织、编码、存储、检索和维护

Page 14: 第一章  数据库系统简介

14

数据库在信息系统中的地位 新趋向

应用由计算转向信息处理 数据量激增,并呈多样性

数字图书馆 交互视频 人类基因组 电子商务 Web …...

Page 15: 第一章  数据库系统简介

15

数据库在信息系统中的地位 市场前景

四大支柱 操作系统、计算机语言、网络、数据库

两大热门 网络、数据库

无所不在的数据管理 All data in database All work over DBMS

Page 16: 第一章  数据库系统简介

16

Why? 数据管理艺术的必然

What? 数据模型

How? 数据库模式

tripleV ( veni, vidi, vici) 我来、我见、我征服

triple? : Why? What? How?

Page 17: 第一章  数据库系统简介

17

提纲 回溯——数据管理的发展阶段 数据模型 数据库模式 数据库系统的构成 数据库新方向

Page 18: 第一章  数据库系统简介

数据的认识层面 数据类型

具有相同数据结构的数据属同一类,同一类数据的全体称为一个数据类型

数据类型说明了数据在数据分类中的归属,它是数据的一种属性,用以限定该数据的变化范围

18

Page 19: 第一章  数据库系统简介

19

数据的认识层面 数据结构

按照逻辑关系组织起来的一批数据 , 按一定的存储方法把它存储在计算机中 , 并在这些数据上定义了一个运算的集合

逻辑结构 数据之间存在的逻辑关系 表、树、图、数组…

物理结构 数据在计算机内的存储方式 顺序方式、链接方式…

Page 20: 第一章  数据库系统简介

20

数据的认识层面 数据结构+算法=程序 数据独立性

当数据的结构发生变化时,通过系统提供的映象(转换)功能,使应用程序不必改变

数据的物理独立性 当数据的存储结构改变时,应用程序不必改变

数据的逻辑独立性 当数据的逻辑结构改变时,应用程序不必改变

Page 21: 第一章  数据库系统简介

21

数据的认识层面 数据语义

语言:形式 语义:内涵

1101081980010100x ?

庄子与惠子游于濠梁之上,庄子曰:“鲦鱼出游从容,是鱼之乐也。”惠子曰:“子非鱼,安知鱼之乐?”,庄子曰:“子非我,安知我不知鱼之乐?”惠子曰:“我非子,固不知子矣;子固非鱼也,子之不知鱼之乐,全矣。”庄子曰:“请循其本。子曰‘女安知鱼乐’云者,既已知吾知之而问我,我知之濠上也。”

Page 22: 第一章  数据库系统简介

22

数据管理的方方面面 数据定义

逻辑结构 物理结构

数据操纵 查询

事物自身的属性 事物之间的联系

数据更新 插入、删除、修改

数据约束 对客观事物的合理反映

数据独立性:将数据管理从应用程序中剥离出来

Page 23: 第一章  数据库系统简介

23

数据管理的发展阶段

考察要点 各阶段的技术及应用背景

计算机应用范围 外存储设备 数据管理软件

各个阶段的差别体现 谁管理数据 数据面向谁 数据与应用的独立性

Page 24: 第一章  数据库系统简介

24

数据管理的发展阶段

人工管理阶段( 50年代中期以前) 文件系统阶段( 50 年代后期 ---60 年代

中期) 数据库系统阶段( 60年代后期开始) 数据库系统 VS 文件系统 软件发展趋势 数据库系统的特点

Page 25: 第一章  数据库系统简介

25

人工管理阶段 背景

计算机主要用于科学计算 数据量小、结构简单,如高阶方程、曲线拟和等

外存为顺序存取设备 磁带、卡片、纸带,没有磁盘等直接存取设备

没有操作系统,没有数据管理软件 用户用机器指令编码,通过纸带机输入程序和数据,

程序运行完毕后,由用户取走纸带和运算结果,再让下一用户上机操作

Page 26: 第一章  数据库系统简介

26

人工管理阶段

访问

访问

访问

数据 1

数据 2

数据 n

程序 1

程序 2

程序 n

Page 27: 第一章  数据库系统简介

27

人工管理阶段 特点

用户完全负责数据管理工作 数据的组织、存储结构、存取方法、输入输出等

数据完全面向特定的应用程序 每个用户使用自己的数据,数据不保存,用完就撤走

数据与程序没有独立性 程序中存取数据的子程序随着存储结构的改变而改变

磁带的特点 优点:廉价地存放大容量数据 缺点:顺序访问; 1% 所需, 100%访问

Page 28: 第一章  数据库系统简介

28

文件系统阶段 背景

计算机不但用于科学计算,还用于管理 外存有了磁盘、磁鼓等直接存取设备 直接存取设备( DASD)

无须顺序存取 由地址直接访问所需记录

产生了操作系统

Page 29: 第一章  数据库系统简介

29

文件系统阶段 有了专门管理数据的软件,称为文件系统

文件存储空间的管理 目录管理 文件读写管理 文件保护 向用户提供操作接口

Page 30: 第一章  数据库系统简介

30

文件系统阶段

数据 1

数据 2

数据 n

存取方式

程序 1

程序 2

程序 n

Page 31: 第一章  数据库系统简介

31

文件系统阶段 系统提供一定的数据管理功能

存取方法(索引文件、链接文件、直接存取文件、倒排文件等)

支持对文件的基本操作(增、删、改、查等),用户程序不必考虑物理细节

数据的存取基本上以记录为单位 数据仍是面向应用的

一个数据文件对应一个或几个用户程序 数据与程序有一定的独立性

文件的逻辑结构与存储结构由系统进行转换,数据在存储上的改变不一定反映在程序上

Page 32: 第一章  数据库系统简介

32

文件系统阶段

补贴系别姓名学号劳资科

住址系别性别姓名学号房产科

学位学分系别姓名学号学籍科

学位 出身年龄系别性别姓名学号人事科

Page 33: 第一章  数据库系统简介

33

文件系统阶段 数据与程序的独立性差

文件系统的出现并没有从根本上改变数据与程序紧密结合的状况,数据的逻辑结构改变则必须修改应用程序

文件系统只是解脱了程序员对物理设备存取的负担,它并不理解数据的语义,只负责存储

数据的语义信息只能由程序来解释,也就是说,数据收集以后怎么组织,以及数据取出来之后按什么含义应用,只有全权管理它的程序知道

一个应用若想共享另一个应用生成的数据,必须同另一个应用沟通,了解数据的语义与组织方式

Page 34: 第一章  数据库系统简介

34

文件系统阶段 数据的共享性差,冗余度大

数据面向应用 即使不同应用程序所需要的数据有部分相同时,也必须建立各自的文件,而不能共享相同的数据

数据孤立 数据分散管理,许多文件,许多数据格式

数据的不一致性 由于数据存在很多副本,给数据的修改与维护带来了困难,容易造成数据的不一致性

信息孤岛

Page 35: 第一章  数据库系统简介

35

文件系统阶段 数据查询困难

记录之间无联系 应用自己编程实现 对每个查询都重新编码

数据完整性难于维护 性别必须是男或女 员工工资不能超过其经理 每门课选修人数不能超过 100 …

Page 36: 第一章  数据库系统简介

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 表示供货关系,各属性依次为供应商号,零件号,工程号,供货数量。

供应商 项目

零件

供应

Page 37: 第一章  数据库系统简介

37

忆苦思甜 查询

“供应红色零件给北京的工程的供应商姓名” 维护

“不允许供应不存在的零件”

Page 38: 第一章  数据库系统简介

38

青铜世纪——基于文件系统

分别组织几个文件,存储各类对象的记录

CreateFile(S, P, J, SPJ)

ScanFile(P)找到红色零件的号码

ScanFile(J)找到北京的工程的号码

ScanFile(SPJ)找到对应以上两号码的 SNO

ScanFile(S)找到对应以上 SNO 的供应商姓名

Page 39: 第一章  数据库系统简介

39

青铜世纪——基于文件系统

如果 InsertFile(SPJ)

ScanFile(P)判断欲插入的零件号是否在 P 中

如果 DeleteFile(P)

ScanFile(SPJ)判断欲删除的零件号是否在 SPJ 中

Page 40: 第一章  数据库系统简介

40

数据库系统阶段 背景

计算机管理的数据量大,关系复杂,共享性要求强(多种应用、不同语言共享数据)

外存有了大容量磁盘,光盘 软件价格上升,硬件价格下降,编制和维护软件及应用程序成本相对增加,其中维护的成本更高,力求降低

专门的数据管理软件呼之欲出

Page 41: 第一章  数据库系统简介

41

数据库系统阶段 数据库观点

数据不是依赖于处理过程的附属品,而是现实世界中独立存在的对象

数据 1

统一存取数据 2

数据 n

程序 2

程序 1 程序 n

Page 42: 第一章  数据库系统简介

42

学号 姓名

性别

系别 年龄

住址出身

学位

学分

补贴

学籍科

房产科

人事科

劳资科

数据库系统阶段

Page 43: 第一章  数据库系统简介

43

数据库系统阶段 特点

有了数据库管理系统 面向全组织,面向现实世界 独立性较强 由 DBMS 统一存取,维护数据语义及结构

Page 44: 第一章  数据库系统简介

44

数据库系统的特点 面向全组织的复杂的数据结构

支持全企业的应用而不是某一个应用 数据反映了客观事物间的本质联系,而不是着眼于面向某个应用,是有结构的数据。这是数据库系统的主要特征之一,与文件系统的根本差别。文件系统只是记录的内部有结构,一个文件的记录之间是个线性序列,记录之间无联系

Page 45: 第一章  数据库系统简介

45

数据库系统的特点 数据的冗余度小,易扩充

数据面向整个系统,而不是面向某一应用,数据集中管理,数据共享,因此冗余度小

节省存储空间,减少存取时间,且可避免数据之间的不相容性和不一致性

每个应用选用数据库的一个子集,只要重新选取不同子集或者加上一小部分数据,就可以满足新的应用要求,这就是易扩充性

Page 46: 第一章  数据库系统简介

46

数据库系统的特点 具有较高的数据和程序的独立性

把数据库的定义和描述从应用程序中分离出去 数据描述是分级的(全局逻辑、局部逻辑、存储)

数据的存取由系统管理,用户不必考虑存取路径等细节,从而简化了应用程序

Page 47: 第一章  数据库系统简介

47

数据库系统的特点 统一的数据控制功能,数据共享程度高

安全性控制( Security) 保护数据以防止不合法的使用所造成的数据泄露和破坏 措施:用户标识与鉴定,存取控制

完整性控制( Integrity) 数据的正确性、有效性、相容性 措施:完整性约束条件定义和检查

Page 48: 第一章  数据库系统简介

48

数据库系统的特点 并发控制( Concurrency)

对多用户的并发操作加以控制、协调,防止其互相干扰而得到错误的结果并使数据库完整性遭到破坏

措施:封锁 恢复控制 (Recovery)

将数据库从故障中恢复到某个一致状态 措施:冗余

Page 49: 第一章  数据库系统简介

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), ……)

Page 50: 第一章  数据库系统简介

50

数据库系统 vs 文件系统

文件系统

数据管理

应用逻辑

文件系统

应用逻辑数据管理

应用软

系统软

Page 51: 第一章  数据库系统简介

51

软件发展趋势

软件开发正由编码向集成转变

编码

集成

1970 1990 2012

Page 52: 第一章  数据库系统简介

理解数据管理的内容 数据定义、数据操作、数据约束

目标:数据独立性 将数据管理任务从应用软件中剥离出来

产生系统软件的推动因素 上帝说:要有光 生产力水平+普遍需求

数据管理发展历程总结以史为鉴,读史使人明达

Page 53: 第一章  数据库系统简介
Page 54: 第一章  数据库系统简介

54

数据模型 数据抽象 数据模型定义 概念数据模型 结构数据模型的三要素 结构数据模型示例

Page 55: 第一章  数据库系统简介

55

What’s Model?

Pattern Example Archetype

Page 56: 第一章  数据库系统简介

56

数据抽象

现实世界

信息世界

计算机世界

概念化

形式化

用户

计算机

Page 57: 第一章  数据库系统简介

57

数据抽象 信息世界

数据库系统是面向计算机的,而应用是面向现实世界的,两个世界存在着很大差异,要直接将现实世界中的语义映射到计算机世界是十分困难的,因此引入一个信息世界作为现实世界通向计算机实现的桥梁

一方面,信息世界是对现实世界的抽象,从纷繁的现实世界中抽取出能反映现实本质的概念和基本关系 ;另一方面,信息世界中的概念和关系,要以一定的方式映射到计算机世界中去,在计算机系统上最终实现。信息世界起到了承上启下的作用

Page 58: 第一章  数据库系统简介

58

数据模型定义

数据模型是数据库系统中用于提供信息表示和操作手段的形式构架

应用

概念数据模型

结构数据模型

现实世界

信息世界

计算机世界

Page 59: 第一章  数据库系统简介

59

数据模型定义 概念数据模型

按用户的观点来对数据和信息建模 用于组织信息世界的概念,表现从现实世界中抽象出来的事物以及它们之间的联系

这类模型强调其语义表达能力,概念简单、清晰,易于用户理解

它是现实世界到信息世界的抽象,是用户与数据库设计人员之间进行交流的语言

如 E-R模型

We read the wor ld wrong and say tha t i t dece ives us

Page 60: 第一章  数据库系统简介

60

概念数据模型—— E/R

学生 课程选修

姓名 学号 系别 课程名 先修课 主讲老师

成绩

实体 联系 属性

Page 61: 第一章  数据库系统简介

61

概念数据模型—— ODL

Product

Person

Company

category

name

price

namestockprice

name

address ssn

buys

worksFor

madeBy

employs

makes 类

关联

属性

Page 62: 第一章  数据库系统简介

62

数据模型定义 结构数据模型

从计算机实现的观点来对数据建模 是信息世界中的概念和联系在计算机世界中的表

示方法 有严格的形式化定义,以便于在计算机上实现 层次模型、网状模型、关系模型、面向对象模型

Page 63: 第一章  数据库系统简介

63

结构数据模型的三要素 数据结构

描述系统的静态特性,即组成数据库的对象类型 数据本身

类型、内容、性质。如网状模型中的数据项、记录,关系模型中的域、属性,关系等

数据之间的联系 例如网状模型中的系型,关系模型中的外码

在数据库系统中一般按数据结构的类型来命名数据模型

Page 64: 第一章  数据库系统简介

64

结构数据模型的三要素 数据操作

描述系统的动态特性,即对数据库中对象的实例允许执行的操作的集合,包括操作及操作规则

一般有检索、更新(插入、删除、修改)操作 数据模型要定义操作含义、操作符号、操作规则,

以及实现操作的语言 数据的约束条件

数据的约束条件是完整性规则的集合,规定数据库状态及状态变化所应满足的条件,以保证数据的正确、有效、相容

Page 65: 第一章  数据库系统简介

65

结构数据模型示例——层次模型

层次模型 用树结构表示实体之间联系的模型叫层次模型 树由节点和连线组成

节点代表实体型 连线表示两实体型间的一对多联系

树的特性 每棵树有且仅有一个节点无父节点,称为树的根 树中的其它节点都有且仅有一个父节点

Page 66: 第一章  数据库系统简介

66

结构数据模型示例——层次模型

地址系名系号

教研室名教研室号 年级姓名学号

职称姓名职工号

教研室 学生

教员

1 : N 联系实体型

Page 67: 第一章  数据库系统简介

67

结构数据模型示例——层次模型

R1101计算机D02

数据库R01 G1王明S0012

教授何璧E1101

G2郑直S0020 G3周密S019

9

网络R02人工智能R03

讲师刘新E3721

教授王恩E1234 助教付弈E3721

Page 68: 第一章  数据库系统简介

68

结构数据模型示例——层次模型

优点 结构简单,易于实现

缺点 支持的联系种类太少

只支持二元一对多联系 只允许实体集间的一种联系,不支持实体集间的多种联系

数据操纵不方便 子结点的存取只能通过父结点来进行 插入、删除复杂,父结点的删除导致子结点的删除,丢失必

要的信息 代表产品:

IBM 的 IMS 数据库, 1969年研制成功

教师

学生

指导 班主任

Page 69: 第一章  数据库系统简介

69

IMS 的数据存储A1

B3B2B1

C8C7C6C5C4C3C2C1

A1

B1

C1

C2

C3

B2

C4

C5

B3

C6

C7

C8

邻接法:自顶向下、自左向右排列

Page 70: 第一章  数据库系统简介

70

IMS 的数据存储

A1

B1 B2 B3

C1 C2 C3 C4 C5 C6 C7 C8

子女 - 兄弟指引元法:指向最大的子女,指向最近的兄弟

A1

C3

C1

B2 B3B1

C2 C4

C8

C6C7C5

层次 序 列法:自顶向下、自左向右链接

Page 71: 第一章  数据库系统简介

71

结构数据模型示例——网状模型

网状模型 是一个满足下列条件的有向图

可以有一个以上的节点无父节点 至少有一个节点有多于一个的父节点(排除树结构)

节点代表实体型,有向边(从箭尾到箭头)表示两实体型间的一对多联系

科室

医生 病房

病人

实体型

1 : N 联系

Page 72: 第一章  数据库系统简介

72

结构数据模型示例——网状模型

学生 课程

选课

年级姓名学号 学分课程名课程号

成绩课程号学号

AC1S1

AC2S1

BC1S2

A-C2S2

CC1S3

S1

S2

S3

C1

C2

通过指针表达联系嵌入到高级语言中遍历指针 GetNext()

Page 73: 第一章  数据库系统简介

73

结构数据模型示例——网状模型

优点 表达的联系种类丰富 性能良好,存取效率高

缺点 结构复杂 语言复杂

DBTG报告 1969 年,由美国 CODASYC ( Conference On

Data System Language ,数据系统语言协商会)下属的 DBTG( Data Base Task Group)组提出,确立了网状数据库系统的概念、方法、技术

Page 74: 第一章  数据库系统简介

74

结构数据模型示例——关系模型

用二维表来表示实体及其相互联系

属性

元组

男女男

性别

19

22

21

年龄

D01李红S02

D02王伟S03

D01张军S01

系号姓名学号

联系

学生 系属于

逃离指针梦魇

Page 75: 第一章  数据库系统简介

75

结构数据模型示例——关系模型

优点 简单,表的概念直观、单一,用户易理解 非过程化的数据请求,数据请求可以不指明路径 数据独立性,用户只需提出“做什么”,无须说明“怎么做”

坚实的理论基础 缺点

效率低

Page 76: 第一章  数据库系统简介

结构数据模型示例——对象模型

用嵌套表表示复杂实体 我的类型我定义

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

Page 77: 第一章  数据库系统简介

数据模型总结

思考:大浪淘沙,为什么关系模型最终问鼎?不要好高骛远,最合适的就是最好的

理解数据模型的两个层次 概念模型、结构模型

理解数据模型的历史 层次模型、网状模型、关系模型、对象模型

数据模型的评价标准 表达能力、用户友好性、性能效率

下一个轮回? XML ,图 (基于关系模型,面向特殊领域 )

Page 78: 第一章  数据库系统简介

78

数据库模式 元数据 模式 数据字典 实例与模式 模式的分级

Page 79: 第一章  数据库系统简介

79

数据库模式 元数据(meta-data)

描述数据的数据 描述数据的含义和性质,以便更好地理解、管理和使用数据的数据

示例数据: 1, 1, 2, 3, 5, 8, 13……元数据:

数据:图书馆中的书籍元数据:标题、作者、关键词、 ISBN 号

)])2

51()

2

51[(

5

1 11

nn

Page 80: 第一章  数据库系统简介

80

数据库模式 模式

数据的抽象,数据的描述 数据字典

系统目录:存取和管理数据的依据 从 HTML 到 XML , Why ?

HTML 数据的显示格式 供人浏览

XML 数据的内容说明、自描述 机器处理

Page 81: 第一章  数据库系统简介

81

数据库模式 实例与模式

型与值的区别 型是相对稳定的,值是随时间不断变化的 示例

class person{public:

string name;string address;

};

person TOM; person 是型, TOM 是变量, TOM 在某时刻的值是实

Page 82: 第一章  数据库系统简介

82

数据库模式 模式的分级

为了提高数据的物理独立性和逻辑独立性,使数据库的用户观点,即用户看到的数据库,与数据库的物理方面,即实际存储的数据库区分开来,数据库系统的模式是分级的

数据库系统三级模式结构 CODASYL ( Conference On Data System

Language,美国数据系统语言协商会)提出模式、外模式、存储模式三级模式的概念。三级模式之间有两级映象

Page 83: 第一章  数据库系统简介

83

数据库模式

数据库

内模式

模 式

外模式 2 外模式 3外模式 1

应用 A 应用 B 应用 C 应用 D 应用 E

外模式 / 模式映象模式 / 内模式映象

Page 84: 第一章  数据库系统简介

84

数据库模式 外模式 (Sub-Schema)

用户的数据视图 是数据的局部逻辑结构,模式的子集

模式 (Schema) 所有用户的公共数据视图 是数据库中全体数据的全局逻辑结构和特性的描述

内模式 (Storage Schema) 又称存储模式 是数据的物理结构及存储方式

Page 85: 第一章  数据库系统简介

85

数据库模式 外模式 /模式映象

定义某一个外模式和模式之间的对应关系,映象定义通常包含在各外模式中

当模式改变时,修改外模式 /模式映象,使外模式保持不变,从而应用程序可以保持不变,称为数据的逻辑独立性

模式 / 内模式映象 定义数据逻辑结构与存储结构之间的对应关系 存储结构改变时,修改模式 / 内模式映象,使模式保持不变,从而应用程序可以保持不变,称为数据的物理独立性

Page 86: 第一章  数据库系统简介

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

Page 87: 第一章  数据库系统简介

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

Page 88: 第一章  数据库系统简介

数据模式总结分层思想:

复杂系统的简明剖析不同视角下的同一世界

映射接口:兼容标准与多样性的弹性设计避免局部风险扩散到整个系统

实例:即插即用硬件设备OSI七层网络模型

SOA :技术与业务分离

Page 89: 第一章  数据库系统简介

89

数据库系统的构成 几个相关概念 数据库系统的软硬件层次 数据库系统的主要成分 数据库管理系统的层次结构及其功能 数据库系统结构

Page 90: 第一章  数据库系统简介

90

几个相关概念 数据库

数据的集合 由 DBMS 统一管理,多用户共享

数据库管理系统 DBMS 系统软件,对数据库进行统一管理和控制

数据库系统 带有数据库的整个计算机系统,包括硬件、软件、

数据、人员

Page 91: 第一章  数据库系统简介

91

数据库系统的主要成分

硬件

操作系统

DBMS ,编译系统

应用开发工具软件

应用系统PB,VB,VCDELPHY

Oracle,Db2,

Sybase,

SQL Server

Page 92: 第一章  数据库系统简介

92

数据库系统的主要成分 硬件

大内存,放得下 OS , DBMS核心,系统缓冲区,用户工作区等

大容量、直接存取的外存设备 作数据备份的磁带

软件 OS , DBMS ,高级语言编译系统及其与数据库的接口,

应用开发工具,应用系统 数据

目标数据:数据本身 描述数据:对数据的说明信息

Page 93: 第一章  数据库系统简介

93

数据库系统的主要成分 用户

最终用户 通过应用系统的用户接口(菜单等)使用数据库

应用程序员 基于外模式来编写应用程序

系统分析员 负责应用系统的需求分析和规范定义,确定系统的软硬

件配置,参与数据库模式设计 数据库管理员 DBA

负责数据库的全面管理和控制

Page 94: 第一章  数据库系统简介

94

数据库系统的主要成分 DBA 的重要性

重要资源 维护整个组织的信息资源

共享资源 多用户共享,需要统一管理、协调、监控

DBA职责 建库方面

确定模式、外模式、存储结构、存取策略 负责数据的整理和装入

Page 95: 第一章  数据库系统简介

95

数据库系统的主要成分 用库方面

定义完整性约束条件 规定数据的保密级别、用户权限 监督和控制数据库的运行情况 制定后援和恢复策略,负责故障恢复

改进方面 监督分析系统的性能(空间利用率,处理效率) 数据库重组织,物理上重组织,以提高性能 数据库重构造,设计上较大改动,模式和内模式修改

AutoAdmin

Page 96: 第一章  数据库系统简介

96

DBMS 的层次结构

操作系统

数据存储层

数据存取层

语言翻译处理层

数据库

应用层

数据文件,数据字典,索引,统计数据

缓冲区,提供数据页操作

DDL , DML ,查询计算引擎,提供关系、视图接口

事务,日志,封锁,存取路径,提供单元组接口

执行物理文件的读写操作

Page 97: 第一章  数据库系统简介

97

DBMS 的主要功能 数据库定义功能

DDL 语言( Data Description Language) 描述外模式、模式、内模式(源模式)

模式翻译程序 把源模式翻译成目标模式,存入数据字典中

源模式 模式翻译程序数据字典目标模式

Page 98: 第一章  数据库系统简介

98

DBMS 的主要功能 数据存取功能

DML 语言( Data manipulation language) 对数据库进行检索、插入、修改、删除

DML 类型 宿主型: DML 不独立使用,嵌入到高级语言(主语言)程序中使用

自含型:独立使用,交互式命令方式 DML 语句执行方式

宿主型:预编译和增强编译 自含型:解释执行

Page 99: 第一章  数据库系统简介

99

DBMS 的主要功能 数据库运行管理

并发控制、存取控制、完整性约束条件检查和执行,日志组织和管理,事务管理和自动恢复

数据组织、存储和管理 用户数据、索引、数据字典的组织、存储和管理,包括文件结构、存取方式、数据之间联系的实现等

数据库的建立和维护功能 数据的装入、转换、卸出,数据库的转储、恢复、

性能监视和分析等

Page 100: 第一章  数据库系统简介

100

DBMS 的运行过程

系统缓冲区 应用程序用户工作区

数据库管理系统

数据字典数据库 操作

系统

9

11

121

7

105

8

2

,3

,6

Page 101: 第一章  数据库系统简介

101

DBMS 的运行过程 Step 1

用户向 DBMS 发出调用数据库数据的命令 Step 2

DBMS 对命令进行语法检查、语义检查、存取权限检查,决定是否执行该命令

Step 3 DBMS执行查询优化,把命令转换为一串单记录的存取操作序列

Step 4 执行存取操作序列(反复执行以下各步,直至结束)

Step 5 DBMS首先在缓冲区内查找记录,若找到转 10 ,否则转 6

Step 6 DBMS 查看存储模式,决定从哪个文件存取哪个物理记录

Page 102: 第一章  数据库系统简介

102

DBMS 的运行过程 Step 7

DBMS根据 6 的结果,向操作系统发出读取记录的命令 Step 8

操作系统执行读取数据的命令 Step 9

操作系统将数据从数据库存储区送到系统缓冲区 Step 10

DBMS根据用户命令和数据字典的内容导出用户所要读取的数据格式

Step 11 DBMS 将数据记录从系统缓冲区传送到用户工作区

Step 12 DBMS 将执行状态信息返回给用户

Page 103: 第一章  数据库系统简介

索引数据文件 统计数据 数据字典

事务管理器

应用程序目标代码

嵌入式 DML预编译器

DML编译器

DDL解释器

查询计算引擎

应用界面 应用程序 查询 数据库模式

初级用户 程序设计人员 熟练用户 数据库管理员

数据库管理系统

查询处理器

存储管理器

用户

缓冲区管理器

文件管理器

磁盘存储器数据库

系统结构

Page 104: 第一章  数据库系统简介

104

数据库的若干研究方向 新的数据库管理系统 新的数据库应用 特种数据库 领域数据库

Page 105: 第一章  数据库系统简介

105

新的数据库管理系统 新的数据模型

面向对象数据库及对象 -关系数据库 XML 数据库 图数据库 序列数据库 多维数组数据库

数据流管理系统: DSMS Data stream 实时监视:传感网络、股市行情、交通状况… 在有限内存中对海量数据集的单遍扫描算法

Page 106: 第一章  数据库系统简介

新的数据库管理系统 新的体系结构

并行数据库 大规模数据分析,云计算, map/reduce

分布式数据库 网络+ 数据库 对等数据库

新的硬件平台 主存数据库 闪存数据库 GPU , FPGA ,多核处理器

106

Page 107: 第一章  数据库系统简介

107

新的数据库应用 商业智能

从事务型操作向分析型操作 决策支持

数据仓库 数据挖掘 OLAP

信息集成 “turn the Web into database” 各式信息门户

the sexy job in the next ten

Years will be statisticians

Page 108: 第一章  数据库系统简介

108

特种数据库 移动数据库+嵌入式数据库

分布式数据库的扩展 传感网络 手机、汽车、 PDA... 信息访问的即时性和就地性 移动:数据库 + 无线网络(偶尔断连) 嵌入:面向特定应用的模块化可定制数据库

Page 109: 第一章  数据库系统简介

109

特种数据库 主动数据库

被动服务:命令驱动 主动服务:事件驱动 实时监控系统,异常情况主动处理 ... 信息推送系统: RSS新闻聚合服务 大规模触发器、复杂事件处理

演绎数据库 人工智能 + 数据库,专家系统 事实+推理规则 规则计算:递归查询

Page 110: 第一章  数据库系统简介

110

特种数据库 时态数据库

快照数据库:只记录实体的当前信息 管理被处理事件的历史性信息 管理数据库系统中元事件的时态信息 数据仓库的前驱?

模糊数据库 处理模糊对象:高矮胖瘦、好恶优劣… 模糊数学: L.A.Zadeh 模糊专家系统,模拟计算 ...... 模糊隶属函数

Page 111: 第一章  数据库系统简介

111

特种数据库 实时数据库

对数据的“定时”存取和对“短暂有效”数据的存取

工厂生产过程控制、证券交易、雷达跟踪 ... 给数据和事务安装定时装置 基于优先级调度事务的执行

概率数据库 关键之一:概率查询的合理定义 关键之二:对 Possible world 的高效搜索算法

Page 112: 第一章  数据库系统简介

112

领域数据库 生物数据库

序列、图、高维数据… 空间数据库

几何数据 空间查询

多媒体数据库 天文数据库:虚拟天文台 CAD 数据库

面向对象数据库

科学计算