当前位置: 首页 > >

数据库系统概论课件第1章

发布时间:

数据库系统概论
An Introduction to Database System

第一章 绪论
主要内容:数据库基本概念和基本知识
本讲目标: u 了解环境, “感觉” 数据库 u 为以后课程内容进行铺垫 u 使用方法: ? 全面讲述要点

1

第一章 绪 论
1.1 1.2 1.3 1.4 1.5 数据库系统概述 数据模型 数据库系统结构 数据库系统的组成 小结

2

1.1 数据库系统概述

1.1.1 数据库的地位 1.1.2 四个基本概念 1.1.3 数据管理技术的产生与发展 1.1.4 数据库系统的特点

3

1.1.1 数据库的地位

u数据库技术产生于六十年代末,是数据管理 的最新技术,是计算机科学的重要分支。 u数据库技术是信息系统的核心和基础,它的 出现极大地促进了计算机应用向各行各业的 渗透。 u数据库的建设规模、数据库信息量的大小和 使用频度已成为衡量一个国家信息化程度的 重要标志。
4

数据库技术发展回顾
p

经历了三代演变

层次/网状系统、关系系统、新一代数据库系统家族
p

造就了三位图灵奖turing award得主

C.W.Bachman、E.F.Codd和James Gray
p

发展了一门计算机基础学科

以数据模型和DBMS核心技术为主,内容丰富、领域宽广
p

形成了一个巨大的软件产业

DBMS及其相关工具产品、应用解决方案
5

题外:数据库领域的三位图灵奖得主
Charles.W.Bachman (查尔斯?巴赫曼) 网状数据库之父
p

1960年为通用电气制造了世界上第一个网状数据库系 统IDS 积极推动与促成了数据库标准的制定:DBTG报告,它 的设计思想和技术直接影响了后来的数据库。 由于他在数据库方面的杰出成就1973获图灵奖 1983年成立自己的公司 Bachman Information System

p

p p

6

Edgar F.Codd

(埃德加?科德)

博士

关系数据库之父,美国工程院院士

p

原是英国人,1923生于英格兰中部波特兰。第二次世界大战时应征入伍,在皇 家空军服役。1942-1945年间任机长,参与了许多惊心动魄的空战。 英国牛津大学数学专业理学士及硕士学位,毕业后到IBM公司工作从事操作系 统和自动机理论研究 。 年*40重返密歇根大学进修计算机与通信专业,1963年获得硕士学位,1965年 又获得博士学位。 60年代后期开始数据库研究, 1970年 E.F.Codd 博士首次明确而清晰地为数 据库系统提出了一种崭新的模型,即关系模型。 1981年获图灵奖,84年从IBM公司退休。 还创办了一个研究所:关系研究所(The Relational Institute)和一个公 司:Codd & Associations,进行关系数据库产品的研发、销售、咨询等业务 。 7

p

p

p

p p

数据库技术和事务处理专家
p p

James Gray

(詹姆斯?格雷)

1944年生,他是美国加州大学伯克利分校计算机科学系博士。 先后在贝尔实验室、IBM、Tandem、DEC等公司工作,研究 方向转向数据库领域。 由于他在数据库和事务处理研究方面的元创性贡献以及在将研 究原型转化为商业产品的系统实现方面的技术领袖地位,1998 年获图灵奖(时任微软研究员)。

p

p

在事务处理技术上的创造性思维和开拓性工作,在解决保障数 据的完整性、安全性、并行性,以及从故障中恢复方面发挥了 十分关键的作用。
8

数据库:一个巨大的软件产业

?已经形成一个巨大的软件产业 ?是理论成果转化为产品的成功范例
理论创立 经济效益 产品上市 原型研制

9

1.1 数据库系统概述

1.1.1 数据库的地位 1.1.2 四个基本概念 1.1.3 数据管理技术的产生与发展 1.1.4 数据库系统的特点

10

1.1.2 四个基本概念

u数据(Data) u数据库(Database) u数据库管理系统(DBMS) u数据库系统(DBS)

11

一、数据
u数据(Data)是数据库中存储的基本对象。 u数据的定义:描述事物的符号记录。 u数据的种类:

?数字、文本、图形、图象、音视频、学生 的档案记录、货物的运输情况等,都是数 据。

12

数据举例
u数据的表现形式不能完全表达其内容,需要经过 解释。 u例如: 93是一个数据
?语义:学生某门课的成绩 ?语义:某人的体重 ?语义:计算机系2003级学生人数

u数据的特点
?数据与其语义(数据的含义)是不可分的。

13

数据举例
u学生档案中的学生记录
(李明,男,197205,江苏南京市,计算机系, 1990) ?语义:学生姓名、性别、出生年月、籍贯、所 在院系、入学时间 ?解释:李明是个大学生,1972年5月出生,江 苏南京市人,1990年考入计算机系

14

学生登记表
学 号 姓 名 年 19 20 18 龄 性 女 男 女 别 系 名 年 95 95 95 … 级

95004 95006 95008

王小明 黄大鹏 张文斌

社会学 商品学 法律学











?学生记录是描述学生的数据 ?计算机中表示和存储数据的一种格式 或一种方法
15

二、数据库
u数据库的定义:
?数据库(Database,简称DB)是长期储存在计算机 内、有组织的、可共享的大量数据的集合。

u数据库中的数据按一定的数据模型组织、描述 和储存,具有:最小的冗余度、较高的数据独 立性和易扩展性,并可为各种用户共享。

16

三、数据库管理系统,简称DBMS
(Database Management System)

u什么是DBMS?
?是位于用户与操作系统之间的一 层数据管理软件。

uDBMS的用途:
?科学地组织和存储数据 ?高效地获取和维护数据

17

数据库在计算机系统中的位置

软件产品 应用软件*台 软件基础构架*台 基础软件*台 硬件*台

协同软件,办公 软件 中间件,应用服 务器 数据库管理系统 操作系统

18

DBMS的主要功能

1. 2. 3. 4. 5. 6.

数据定义功能 数据组织、存储和管理 数据操纵功能 数据库的事务管理和运行管理 数据库的建立和维护功能 其他功能

19

四、数据库系统(Database System,简称DBS) u什么是数据库系统
?是指在计算机系统中引入数据库后的系统构 成。

u数据库系统的构成
?由 数 据 库 、 数 据 库 管 理 系 统 ( 及 其 开 发 工 具)、应用系统、数据库管理员构成。 DBS=DB+DBMS+App+DBA

20

用户

用户

用户

应用系统

应用开发工具

数据库管理系统

数据库管理员

操作系统

数据库

数据库系统

21

四个基本概念
1.数据(Data)
? 数据(Data)是数据库中存储的基本对象。 ? 数据的定义:描述事物的符号记录。

2.数据库(Database ,简称DB)
? 数据库是长期储存在计算机内、有组织的、可共享的大量数据的集合。

3.数据库管理系统(DBMS)
? DBMS是位于用户与操作系统之间的一层数据管理软件。 ? DBMS的用途:科学地组织和存储数据;高效地获取和维护数据.

4.数据库系统(DBS)
? 数据库系统是指在计算机系统中引入数据库后的系统构成。 ? 数据库系统的构成:数据库、数据库管理系统(及其开发工具)、应用 系统、数据库管理员
22

1.1 数据库系统概述

1.1.1 1.1.2 1.1.3 1.1.4

数据库的地位 四个基本概念 数据管理技术的产生与发展 数据库系统的特点

23

1.1.3 数据管理技术的产生和发展 u什么是数据管理?
?对数据进行分类、组织、编码、存储、检索和 维护,是数据处理的中心问题。

u数据管理技术的发展过程:
?人工管理阶段(40年代中--50年代中) ?文件系统阶段(50年代末--60年代中) ?数据库系统阶段(60年代末--现在)

24

数据管理技术的产生和发展(续)

u数据管理技术的发展动力
?应用需求的推动 ?计算机硬件的发展 ?计算机软件的发展

25

一、人工管理

u时期
?40年代中--50年代中

u产生的背景
?应用需求 ?硬件水* 备 ?软件水* ?处理方式
26

科学计算 无直接存取存储设 没有操作系统 批处理

人工管理(续)
SEGMENT X DB -25 RESULT DB ? DATA ENDS CODE SEGMENT ASSUME S:DATA,CS:CODE START:MOV AX,DATA MOV DS,AX MOV AL,X TEST AL,80H JZ NEXT NEG AL NEXT: MOV RESULT,AL MOV AH,4CH INT 21H CODE ENDS END START DATA

应用程序1 应用程序2 ... … 应用程序n
27

数据集1 数据集2 ... … 数据集n

特点: 1. 数据不保存 2. 应用程序管理数据 3. 数据不共享 4. 数据不具有独立性

人工管理(续)
问题
1)程序编制困难、易出错 n说明数据的逻辑结构; n设计数据的存储结构; n设计数据的存取方法; n设计数据的I/O方式。 2)数据不共享 n数据与应用程序一一对应; n相同数据须各自重复建立。 3)数据冗余大 4)应用程序高度依赖于数据的逻辑结构与物理结构 5)不能表示数据间联系
28

二、文件系统

u时期
?50年代末——60年代中

u产生的背景
?应用需求 ?硬件水* ?软件水* ?处理方式 科学计算、管理 磁盘、磁鼓 有专门的数据管理软件——文件系统 联机实时处理、批处理

29

文件系统举例
设有如下数据: 职工: 工资: 教课:
职工号 职工号 职工号 姓名 姓名 单位 单位 职称 姓名 性别 工龄 职称 年龄 工龄 职称 房租 学时 工资 水电

工资

课程名

则文件系统中应用程序与数据的使用对应方式:
职员管理程序 工资管理程序 授课管理程序 应用程序 职工数据 工资数据 授课数据 逻辑结构
30

职员文件 存 取 方 法 工资文件 授课文件 存取方法 物理文件

文件系统存在的问题: 1)数据共享性差
?基本上一个程序对应一个文件; ?部分数据相同时,仍需建立各自文件。

2)数据冗余大 3)潜在数据不一致性(冗余) 4)应用程序与数据结构相互依赖 5)不能表示数据间联系

31

应用程序与数据的对应关系(文件系统)

应用程序1 应用程序2 .. . … 应用程序n 存取 方法

文件1 文件2 .. . … 文件n
32

特点: 1. 数据可以长期保存; 2. 文件系统管理数据; 3. 数据共享性差、冗余度 大; 4. 数据独立性差,数据的 逻辑结构改变必须修改 应用程序。

三、数据库系统
u时期
?60年代末以来

u产生的背景
?应用背景 ?硬件背景 ?软件背景 ?处理方式 大规模管理,共享数据的要求 大容量磁盘 统一管理数据的专门软件系统—— 数据库管理系统DBMS 联机实时处理,分布处理,批处理

33

1.1.4 数据库系统的特点
1. 数据结构化:整体数据的结构化,是数据库的主 要特征之一(也是本质区别)。数据面向的对象:整 个系统; 2. 数据的共享性高、冗余度低,易扩充;→ 3. 数据的独立性高:高度的物理独立性和一定的逻 辑独立性; 4. 数据由DBMS统一管理和控制.

34

应用程序与数据的对应关系(数据库系统)

应用程序1 应用程序2 DBMS … 应用程 序n
35

数据库

学生信息表Student
学 号 801 802 803 804 805 姓 名 张 三 李 四 王 五 赵 六 钱 七

示例
性 别 女 男 男 女 男 专 业 号 01 01 01 02 02 年 龄 19 20 20 20 19

课程信息表Course
课程号 01 02 03 04 课程名 数据库 数据结构 编译 PASCAL 学分 4 4 4 2

学生选课表SC
学号 801 801 801 802 802 803
36

课程号 04 03 02 03 04 04

成绩 92 78 85 82 90 88

DS

数据的高共享性的好处
u降低数据的冗余度,节省存储空间 u避免数据间的不一致性 u使系统易于扩充
职工 号 姓 名 单 位 性 别 年 龄 姓名 工龄 工 龄 工 资 单位 工资 课程名
37

职称 工 资 性别

房租 水 电 年龄 工龄 水电

课程 名

学 时

职工号 职工号 职工号

职称

房租 学时

数据独立性

u物理独立性
指用户的应用程序与存储在磁盘上的数据库 中数据是相互独立的。当数据的物理存储改变 了,应用程序不用改变。

u逻辑独立性
指用户的应用程序与数据库的逻辑结构是相 互独立的。数据的逻辑结构改变了,用户程序也 可以不变。
38

DBMS对数据的控制功能 1. 数据的安全性(Security)保护
?使每个用户只能按指定方式使用和处理指定数据,保护 数据以防止不合法的使用造成的数据的泄密和破坏。

2. 数据的完整性(Integrity)检查
?将数据控制在有效的范围内,或保证数据之间满足一定 的关系。

3. 并发(Concurrency)控制
?对多用户的并发操作加以控制和协调,防止相互干扰而 得到错误的结果。

4. 数据库恢复(Recovery)
?将数据库从错误状态恢复到某一已知的正确状态。
39

1.1 数据库系统概述 结束:
1.1.1 数据库的地位 1.1.2 四个基本概念 1.1.3 数据管理技术的产生与发展 1.1.4 数据库系统的特点

40

第一章 绪论

1.1 1.2 1.3 1.4 1.5

数据库系统概述 数据模型 数据库系统结构 数据库系统的组成 小结

41

1.2 数据模型
u在数据库中用数据模型这个工具来抽象、表示和 处理现实世界中的数据和信息。通俗地讲数据模 型就是现实世界的模拟。 u数据模型应满足三方面要求:
?能比较真实地模拟现实世界; ?便于理解; ?便于在计算机上实现。

42

1.2 数据模型

1.2.1 两类数据模型 1.2.2 数据模型的组成要素 1.2.3 概念模型 1.2.4 最常用数据模型 1.2.5 层次模型 1.2.6 网状模型 1.2.7 关系模型
43

1.2.1 两类数据模型
u数据模型分成两个不同的 层次:
(1) 概念模型
也称信息模

具体事物

现实世界
认识抽象 信息世界

型,它是按用户的观点来对数据 和信息建模。主要用于数据库的 设计。是现实世界到机器世界的

概念模型

机器世界 DBMS支持的数据模型

一个中间层次。

(2) 逻辑模型和物理模型
44

逻辑模型和物理模型

u

逻辑模型主要包括网状模型、层次模型、关系模型

等,它是按计算机系统的观点对数据建模。 主要用于 DBMS的实现。
u

物理模型描述数据的存储方式和存取方法,DBMS负

责其具体实现。

45

1.2.2 数据模型的组成要素

1. 数据结构 对系统静态特性的描述。 2. 数据操作 对系统动态特性的描述。 3. 数据的完整性约束条件

46

1. 数据结构

u什么是数据结构?
?所描述的对象类型的集合

u两类对象:
?与数据类型、内容、性质有关的对象 ?与数据之间联系有关的对象

u数据结构是对系统静态特性的描述

47

2. 数据操作
u 数据操作
? 对数据库中各种对象(型)的实例(值)允许 执行的操作及有关的操作规则。

u 数据操作的类型
1. 查询 2. 更新(包括插入、删除、修改)

u数据模型必须定义这些操作的确切含义、操 作符号、操作规则(如优先级)以及实现操 作的语言。 u数据操作是对系统动态特性的描述。 48

3. 数据的完整性约束条件

u 一组完整性规则 u 数据及其联系所具有的制约和依存规则,用以

限定符合数据模型的数据库状态以及状态的变 化,以保证数据的正确、有效、相容。
u DBMS必须提供定义完整性约束条件的机制,以

反映具体应用所涉及的数据必须遵守的特定的 语义约束条件。

49

关系数据模型

1.2.3 概念模型
1. 概念模型的用途:
? 概念模型用于信息世界的建模; ? 是现实世界到机器世界的一个中间层次; ? 是数据库设计的有力工具; ? 数据库设计人员和用户之间进行交流的语言。

2. 对概念模型的基本要求:
? 较强的语义表达能力,能够方便、直接地表达应用中的 各种语义知识; ? 简单、清晰、易于用户理解。

常用的概念模型是E-R图(Entity-Relationship
Diagram)。
50

2. 信息世界中的基本概念
(1) 实体(Entity)
客观存在并可相互区别的事物称为实体。可以是 具体的人、事、物,也可以是抽象的概念或联 系。

(2) 属性(Attribute)
实体所具有的某一特性称为属性。一个实体可以 由若干个属性来刻画。

(3) 码(Key)
唯一标识实体的属性集称为码。

51

2. 信息世界中的基本概念
(4) 域(Domain):属性的取值范围。 (5) 实体型(Entity Type)
用实体名及其属性名集合来抽象和刻画同类实体, 称为实体型。例: 学生(学号,姓名,性别,出 生年月,所在院系,入学时间) 是一个实体型。

(6) 实体集(Entity Set)
同型实体的集合称为实体集。例如,全体学生就是 一个实体集。

(7) 联系(Relationship)
现实世界中事物内部以及事物之间的联系在信息世 界中反映为实体内部的联系和实体之间的联系。
52

联系的种类 : 1

1. 一对一联系(1:1): 实体集A中的任一实 体,在实体集B中最多有唯 A a1 a2 a3 a4 B b1 b2 b3 b4

一实体和它对应;反之,
实体集B中的任一实体,在 实体集A中最多有唯一实体 和它对应。

53

联系的种类 : 2

2. 一对多联系(1:N): 实体集A中的任一实 体,在实体集B中有多个

A

B b1

a1 a2 a3

b2 b3 b4 b4

实体和它对应;反之,实
体集B中的任一实体,在 实体集A中最多有唯一实

体和它对应。
54

联系的种类 : 3

3. 多对多联系(M:N): 实体集A中的任一 实体,在实体集B中有 多个实体和它对应; 反之,实体集B中的任 一实体,在实体集A中 有多个实体和它对 应。
55

A a1 a2 a3 a4

B b1 b2 b3 b4

3. 概念模型的表示方法: 实体——联系(E-R)方法
uE-R方法也称为E-R模型

u用E-R图建立概念模型
?实体的表示:
n

实体名 属性名

属性的表示:

并用无向边 将其与相应 的实体连接 起来。

学生 学号 姓名 性别 年龄

56

u用E-R图建立概念模型
u联系的表示
1 联系名 1

?联系本身:用菱形表示,菱形框内写明联系 名,并用无向边分别与有关实体连接起来,同 时在无向边旁标上联系的类型(1:1、1:n或 m:n) ?联系的属性:联系本身也是一种实体型,也可 以有属性。如果一个联系具有属性,则这些属 性也要用无向边与该联系连接起来

57

联系属性的表示方法

课程 m 选修 n 学生 成绩

58

实体间联系举例:

班级 1
班级-班长

班级 1 组成 n

课程 m 选修 n

1 班长 1:1联系

学生 1:n联系
59

学生 m:n联系

实体间联系举例:

实体型1 1 联系名 m 实体型2 n 实体型3

实体型1 m n

联系名 同一实体型内 部的m:n联系

多个实体型间的1:n联系
60

实体间联系举例:

Stars

Contracts

Movies

Studios

一个制片公司与一位特定的影星签约来演一部特定的电影

61

例:两个以上不同实体集之间的联系:
一门课程可以有若干个教师讲授, 使用若干本参考 书, 每一个教师只讲授一门课程, 每一本参考书只 供一门课程使用 课程 1 讲授

m 教师

n 参考书

多个实体型间的1:n联系

62

例:两个以上不同实体集之间的联系:
1. 2. 3. 4.

供应商、项目、零件三个实体型; 一个供应商可以供给多个项目多种零件; 每个项目可以使用多个供应商供应的零件; 每种零件可由不同供应商供给; 供应商 n 项目 m 供应 p 零件

63

多个实体型两两间的m:n联系

教师 m

m

教-学

n n

学生 吃饭

进餐 n 食堂

m

64

同一实体集内部实体间的联系: 职工 1 领导 n

同一实体型内部的1:n联系

1. 2. 3.

职工实体型内部具有领导与被领导的联系 某一职工(干部)“领导”若干名职工 一个职工仅被另外一个职工直接领导

65

完整的E-R图
学号 姓名 性别 年龄 班级 成绩 学生选课E-R图 学生 课程号 m 选修 n 课程 课程名 学分

66

一个实例
用E-R图表示某个工厂物资管理的概念模型 u 实体 ? 仓库: 仓库号、面积、电话号码 ? 零件 :零件号、名称、规格、单价、描述 ? 供应商:供应商号、姓名、地址、电话号码、帐号 ? 项目:项目号、预算、开工日期 ? 职工:职工号、姓名、年龄、职称

67

姓名 电话 面积 供应商号 地址 帐号 仓库号 电话 供应商 仓库

姓名 职工号

年龄 职称

职工

项目

零件

项目号 预算 开工日期 零件号 规格 描述 名称 单价

68

一个实例 u实体之间的联系如下:
(1)一个仓库可以存放多种零件,一种零件可以存放在多个仓库中。仓 库和零件具有多对多的联系。用库存量来表示某种零件在某个仓库 中的数量。 (2)一个仓库有多个职工当仓库保管员,一个职工只能在一个仓库工作, 仓库和职工之间是一对多的联系。职工实体型中具有一对多的联系 (3)职工之间具有领导-被领导关系。即仓库主任领导若干保管员。 (4)供应商、项目和零件三者之间具有多对多的联系

69

工厂物资管理E-R图
姓名 供应商号 地址 供应商 m 供应量 n 项目 项目号 预算 开工日期 供应 p 电话 帐号 仓库号 面积 电话 1 职工号 工作 库存量 姓名 年龄 职称 职工 1 领导 n

仓库 m 库存 n 零件

n

零件号 规格 描述 名称 单价

例:工厂产品、零件、材料和仓库
1.3.3 某工厂生产若干产品,每种产品由不同的零件组成,有的零 件可用在不同的产品上。这些零件由不同的原材料制成,不同零件 所用的材料可以相同。这些零件按所属的不同产品分别放在仓库 某工厂生产若干产品,每种产品由不同的零件组成,有的零件可用在不同 中,原材*凑绽啾鸱旁谌舾刹挚庵小
的产品上。这些零件由不同的原材料制成,不同零件所用的材料可以相同。这 请用E-R图画出此工厂产品,零件,材料,仓库的概念模型。 些零件按所属的不同产品分别放在仓库中,原材*凑绽啾鸱旁谌舾刹挚庵小 产品 请用E-R图画出此工厂产品,零件,材料,仓库的概念模型。 m 组成 n n k 存储 零件 m 制造 n 材料 仓库 存放 1

n

1 拥有 n 班级 1 拥有 n 学生 m 选修 n 课程 n

学校 1 组成 n 系

v
一 个 实 体 不 能 多 次 出 现

v
联 系 名 、 实 体 名 都 不 能 重 名

v
没 有 提 到 的 联 系 不 应 该 出 现

1 包含 n 教研室 1 包含 n 教员

指导

1

1.2.4 最常用的数据模型(数据库领域) 数据库领域常用的逻辑数据模型: u非关系模型
?层次模型(Hierarchical Model) ?网状模型(Network Model )

u关系模型(Relational Model)
?数据结构:表

u面向对象模型(Object Oriented Model)
?数据结构:对象

73

1.2.5 层次模型
数据结构:以一条 包含实体所有属性 值的记录为基本单 位,记录之间的联 系以树型结构来表 示。
R 2

R 1

根结点

兄弟结点

R 3

叶结点

R 4

兄弟结点

R 5

叶结点

叶结点

74

层次模型实现示意图



系编号

系名

办公地 点
学生

教研室

教研室编 号
教员

教研室名 研究方 向

学号

姓名

成绩

职工号

系名

75

层次模型的优缺点
u优点:
?层次数据结构简单清晰,对具有一对多的层 次关系的部门描述自然、直观,容易理解; ?查询效率高; ?层次数据模型提供了良好的完整性支持。

u缺点:
?多对多联系表示不自然; ?对插入和删除操作的限制多; ?查询子女结点必须通过双亲结点; ?层次命令趋于程序化。
76

典型的层次数据库系统

IMS数据库管理系统
?第一个大型商用DBMS ?1968年推出 ?IBM公司研制

77

1.2.6 网状模型

R1 R1 L1 R2 L2

R2

L3 L1
R4

L2

R3

L4
R5

R3

L5

1. 数据结构是网。 2. 记录之间的联系用连线表达。 3. 联系必须标注名称。
78

网状模型的实现

学号

姓名 学生 m 选修 n 课程

系别 S 学号 姓名 系别 S-SC 成绩 SC 学分 学号 课程号 成绩 C 课程号 课程名 学分 C-SC

课程号

课程名

学生选课E-R图

79

网状模型的优缺点
u优点
?能够更为直接地描述现实世界,如一个结点可 以有多个双亲; ?具有良好的性能,存取效率较高。

u缺点
?结构比较复杂,而且随着应用环境的扩大,数 据库的结构就变得越来越复杂,不利于最终用 户掌握; ?DDL、DML语言复杂,用户不容易使用。

80

典型的网状数据库系统
u规范:DBTG系统,亦称CODASYL系统( 1970‘s) u实际系统
?Cullinet Software Inc.公司的 IDMS ?Univac公司的 DMS1100 ?Honeywell公司的IDS/2 ?HP公司的IMAGE

81

1.2.7 关系模型(本课程的重点)
u最重要的一种数据模型。也是目前主要采用的数

据 模 型 。 1970 年 由 美 国 IBM 公 司 的 研 究 员 E.F.Codd提出。
u主要内容:

1. 关系数据模型的数据结构 2. 关系数据模型的操纵 3. 关系数据模型的完整性约束

数据模型三要素

4.关系数据模型的优点 5. 关系数据模型的缺点 6. 典型的关系数据库系统
82

1. 关系数据模型的数据结构
u在用户观点下,关系模型中数据的逻辑结构是 一张二维表,它由行和列组成。
分量 主码(Key) 元组(Tuple)
学 号 801 802 803 804 805 姓 名 张 三 李 四 王 五 赵 六 钱 七 性 别 女 男 男 女 男

属性(Atribute)
专 业 号 01 01 01 02 02 年 龄 19 20 20 20 19

关系(Relation)
83

关系模型的基本概念
u关系(Relation) u元组(Tuple) u属性(Attribute)
表中的一列即为一个属性,给每一个属性起一个名称 即属性名。

一个关系对应一张表。 表中的一行即为一个元组。

u主码(Key)
表中的某个属性组,它可以唯一确定一个元组。

84

关系模型的基本概念
u域(Domain) u 分量 u 关系模式 属性的取值范围。 对关系的描述。

元组中的一个属性值。

u关系名(属性1,属性2,…,属性n)
例如:学生(学号,姓名,年龄,性别,系,年级)

85

实体间的联系也用关系来表示
例:多对多联系:直接用关系表示。
姓名 学生 m 选修 n 课程 课程号 课程名 学分 性别

学号
年龄

专业号

成绩

学生(学号,姓名,性别,专业 号,年龄) 课程(课程号,课程名,学分) 选修(学号,课程号,成绩)

学生选课E-R图

86

示例
学 号 801 802 803 804 805 姓 名 张 三 李 四 王 五 赵 六 钱 七 性 别 女 男 男 女 男 专 业 号 01 01 01 02 02 年 龄 19 20 20 20 19

课程号 01 02 03 04

课程名 数据库 数据结构 编译 PASCAL

学分 4 4 4 2

学号 801 801 801 802 802 803
87

课程号 04 03 02 03 04 04

成绩 92 78 85 82 90 88

关系必须是规范化的,满足一定的规范条件

u最基本的规范条件:关系的每一个分量必须 是一个不可分的数据项。
不是 关系
职 工 号 86051
. . .

姓 名 陈*
. . .

职 称 讲师
. . .

基 本 105
.

工 资 工 龄 9.5
. . .

职 务 15
. . .

扣 房 租 6
. . .

除 水 电 12
. . .

实 发 115.5
. . .

. .

“表中有表” 示例

88

2.关系模型的数据操纵
u查询、插入、删除、更新 u数据操作是集合操作,操作对象和操作结 果都是关系,即若干元组的集合 u存取路径对用户隐蔽,用户只要指出“干什 么”,不必详细说明“怎么干” u这些操作必须满足关系的完整性约束条件

89

3.关系模型的完整性约束
1. 实体完整性 2. 参照完整性 3. 用户定义的完整性

90

4. 关系模型的优点
u优点:
?建立在严格的数学概念的基础上。 ?概念单一。数据结构简单、清晰,用户易懂易用 ?实体和各类联系都用关系来表示。 ?对数据的检索结果也是关系。 ?关系模型的存取路径对用户透明 ?具有更高的数据独立性,更好的安全保密性 ?简化了程序员的工作和数据库开发建立的工作

91

5. 关系模型的缺点
u缺点
?存取路径对用户透明导致查询效率往往不如 非关系数据模型; ?为提高性能,必须对用户的查询请求进行优 化增加了开发数据库管理系统的难度。

92

6. 典型的关系数据库系统
?ORACLE ?SYBASE ?INFORMIX ?DB/2 ?SQL Server ?MYSQL

93

第一章 绪论

1.1 1.2 1.3 1.4 1.5

数据库系统概述 数据模型 数据库系统结构 数据库系统的组成 小结

94

1.3 数据库系统结构

1.3.1 数据库系统内部的模式结构
从数据库管理系统角度看,数据库系统通常采用 三级模式结构,并提供两极映像功能。

1.3.2 数据库系统外部的体系结构

95

1.3.1 数据库系统的模式结构
1. 数据库系统模式的概念

u“型” 和“值” 的概念
?型(Type):对某一类数据的结构和属性的说 明。 ?值(Value):是型的一个具体赋值。 ?例如:学生记录 ?记录型:(学号,姓名,性别,系别,年龄, 籍贯) ?该记录型的一个记录值: ? (900201,李明,男,计算机,22,江苏)

96

数据库系统模式的概念(续)
u模式(Schema)
?数据库中全体数据的逻辑结构和特征的描述 ?是型的描述,反映的是数据的结构及其联系 ?模式是相对稳定的

u模式的一个实例(Instance)
?模式的一个具体值,反映数据库某一时刻的状态 ?同一个模式可以有很多实例 ?实例随数据库中的数据的更新而变动
不同DBMS产品实现技术各不相同,但在体系结构上具有相同 特征,即采用三级模式结构并提供两层映像功能。
97

2. 数据库系统的三级模式结构
应用程序1 应用程序2 外模式1 外模式/模式映象 模式/内模式映象 模式 内模式 数据库 应用程序3 外模式2 应用程序4 应用程序5 外模式3

98

(1) 模式(Schema)
u 模式(也称逻辑模式)
? 数据库中全体数据的逻辑结构和特征的描述 ? 所有用户的公共数据视图,综合了所有用户的需求

u 一个数据库只有一个模式 u 模式的地位:是数据库系统模式结构的中间层
? 与数据的物理存储细节和硬件环境无关 ? 与具体的应用程序、开发工具及高级程序设计语言无关

u 怎样定义模式?
? 数据的逻辑结构(数据项的名字、类型、取值范围等) ? 数据之间的联系 ? 数据有关的安全性、完整性要求
99

(2) 外模式(External Schema)
u外模式(也称子模式或用户模式)
?数据库用户(包括应用程序员和最终用户) 使用的局部数据的逻辑结构和特征的描述; ?数据库用户的数据视图,是与某一应用有关 的数据的逻辑表示。 ?外模式的地位:介于模式与应用之间

100

外模式(续)
? 模式与外模式的关系:一对多 ?外模式通常是模式的子集。 ?一个数据库可以有多个外模式。反映了不同的用户的应 用需求、看待数据的方式、对数据保密的要求。 ?对模式中同一数据,在外模式中的结构、类型、长度、 保密级别等都可以不同。 ? 外模式与应用的关系:一对多 ?同一外模式也可以为某一用户的多个应用系统所使用 ?但一个应用程序只能使用一个外模式。
101

外模式(续)

u外模式的用途
?保证数据库安全性的一个有力措施。 ?每个用户只能看见和访问所对应的外模式中 的数据。

102

(3)内模式(Internal Schema)
u内模式(也称存储模式)
?是数据物理结构和存储方式的描述 ?是数据在数据库内部的表示方式 ?记录的存储方式 ?索引的组织方式 ?数据是否压缩存储 ?数据是否加密 ?数据存储记录结构的规定

u一个数据库只有一个内模式
103

3. 三级模式与二级映象
应用程序1 应用程序2 应用程序3 应用程序4 应用程序5

外模式1

外模式2

外模式3

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

三级模式是对数据的三个抽象级别。 二级映象在DBMS内部实现这三个抽象层次的联系和转换。

1.外模式/模式映象
u定义外模式与模式之间的对应关系 u每一个外模式都对应一个外模式/模式映象 u映象定义通常包含在各自外模式的描述中 外模式/模式映象的用途: 保证数据的逻辑

独立性
?当模式改变时,数据库管理员修改有关的外模 式/模式映象,使外模式保持不变 ?应用程序是依据数据的外模式编写的,从而应 用程序不必修改,保证了数据与程序的逻辑独 立性,简称数据的逻辑独立性。
105

2.模式/内模式映象
u模式/内模式映象定义了数据全局逻辑结构 与存储结构之间的对应关系。例如,说明逻 辑记录和字段在内部是如何表示的。 u数据库中模式/内模式映象是唯一的。 u该映象定义通常包含在模式描述中。
模式/内模式映象的用途: 保证数据的物理独立性 ?当数据库的存储结构改变了,数据库管理员修改 模式/内模式映象,使模式保持不变,从而应用程 序不受影响。保证了数据与程序的物理独立性,简 称数据的物理独立性。
106

小结
u模式
?是数据库的中心与关键 ?独立于数据库的其它层次 ?设计数据库模式结构时应首先确定数据库的逻 辑模式

107

小结(续)
u内模式
?依赖于全局逻辑结构,但独立于数据库的用户 视图即外模式,也独立于具体的存储设备。 ?它将全局逻辑结构中所定义的数据结构及其联 系按照一定的物理存储策略进行组织,以达到 较好的时间与空间效率。

108

小结(续)
u外模式
?面向具体的应用程序,定义在逻辑模式之 上,但独立于存储模式和存储设备。 ?设计外模式时应充分考虑到应用的扩充性。 当应用需求发生较大变化,相应外模式不能 满足其视图要求时,该外模式就得做相应改 动。

109

小结(续)
u应用程序
?在外模式描述的数据结构上编制的,它依赖于 特定的外模式,与数据库的模式和存储结构独 立。 ?不同的应用程序有时可以共用同一个外模式。

110

小结(续)
u二级映象
?保证了数据库外模式的稳定性,从而从底层 保证了应用程序的稳定性,除非应用需求本 身发生变化,否则应用程序一般不需要修 改。 ?数据与程序之间的独立性,使得数据的定义 和描述可以从应用程序中分离出去。

111

1.3 数据库系统结构

1.3.1 数据库系统内部的模式结构
?从数据库管理系统角度看

1.3.2 数据库系统外部的体系结构
?从数据库最终用户角度看

112

1.3.2 数据库系统外部的体系结构 u单用户结构 u主从式结构 u分布式结构 u客户/服务器结构 u浏览器/应用服务器/数据库服务器结构

113

1. 单用户数据库系统

u整个数据库系统(应用程序、DBMS、数据)装 在一台计算机上,为一个用户独占,不同机 器之间不能共享数据。 u早期的最简单的数据库系统

114

2. 主从式结构的数据库系统
u一个主机带多个终端的多用户结构
?数据库系统,包括应用程序、DBMS、数据,都 集中存放在主机上,所有处理任务都由主机来 完成。 ?各个用户通过主机的终端并发地存取数据库, 共享数据资源。

115

主从式结构的数据库系统
u优点
?易于管理、控制与维护。
终 端

u缺点
主机

?当终端用户数目增加到一定程度后,主机的 任务会过分繁重,成为瓶颈,从而使系统性 能下降。 ?系统的可靠性依赖主机,当主机出现故障时, 整个系统都不能使用。
116

3. 分布式结构的数据库系统
u数据库中的数据在逻辑上是一个整体,但物理 地分布在计算机网络的不同结点上。
?网络中的每个结点都可以独立处理本地数据库 中的数据,执行局部应用。 ?同时也可以同时存取和处理多个异地数据库中 的数据,执行全局应用。

117

分布式结构的数据库系统(续)
u优点
?适应了地理上分散的公司、团体和组织对 于数据库应用的需求。

u缺点
?数据的分布存放给数据的处理、管理与维 护带来困难。 ?当用户需要经常访问远程数据时,系统效 率会明显地受到网络传输的制约。

118

4.客户/服务器结构的数据库系统 u把DBMS功能和应用分开
?网络中某个(些)结点上的计算机专门用于执 行DBMS 功能,称为数据库服务器,简称服务 器。 ?其他结点上的计算机安装DBMS的外围应用开发 工具,用户的应用系统,称为客户机。
主从式数据库系统中的主机和分布式数据库系统中的 每个结点机既执行DBMS功能又执行应用程序。

119

客户/服务器数据库系统的种类 u集中的服务器结构 一台数据库服务器,多台客户机 u分布的服务器结构
? 在网络中有多台数据库服务器 ?(是客户/服务器与分布式数据库的结合)

120

客户/服务器结构的优点

?客户端的用户请求被传送到数据库服务器,数 据库服务器进行处理后,只将结果返回给用 户,从而显著减少了数据传输量。 ?数据库更加开放 ?客户与服务器一般都能在多种不同的硬件和 软件*台上运行。 ?可以使用不同厂商的数据库应用开发工具。
121

客户/服务器结构的缺点

“胖客户”问题: ?系统安装复杂,工作量大。 ?应用维护困难,难于保密,造成安全性差。 ?相同的应用程序要重复安装在每一台客户机上,从 系统总体来看,大大浪费了系统资源。 系统规模达到数百数千台客户机,它们的硬件配置、 操作系统又常常不同,要为每一个客户机安装应用 程序和相应的工具模块,其安装维护代价便不可接 受了。
122

5. 浏览器/应用服务器/数据库服务器结构 u客户端: 浏览器 浏览器的界面统一,广大用户容易掌握,大大 减少了培训时间与费用。 u服务器端分为两部分:
?Web服务器、应用服务器 ?数据库服务器 大大减少了系统开发和维护代价,能够支持数万 甚至更多的用户。

123

第一章 绪论

1.1 1.2 1.3 1.4 1.5

数据库系统概述 数据模型 数据库系统结构 数据库系统的组成 小结

124

1.4 数据库系统的组成
用户 用户 应用系统 应用开发工具 DBMS 操作系统 数据库 数据库系统示意图
125

用户

1. 硬件*台及数据库 2. 软件:DBMS、OS 、应用开发语言、 工具、应用系统

数据库管理员

3. 人员分类
a. 数据库管理员 b. 系统分析员和数据 库设计人员 c. 应用程序员 d. (最终用户)

u 数据库管理员(DBA)的职责:
1. 决定数据库中的信息内容和结构 2. 决定数据库的存储结构和存取策略 3. 定义数据的安全性要求和完整性约束条件 4. 监控数据库的使用和运行 5. 周期性转储数据库:数据文件、日志文件 6. 系统故障恢复 7. 介质故障恢复 8. 监视审计文件 9. 数据库的改进和重组:性能监控和调优、数据重组 10. 数据库重构
126

u系统分析员职责:
? 负责应用系统的需求分析和规范说明 ? 与用户及DBA协商,确定系统的硬软件配置 ? 参与数据库系统的概要设计

u数据库设计人员职责:
? 参加用户需求调查和系统分析 ? 确定数据库中的数据 ? 设计数据库各级模式

u应用程序员职责:
? 设计和编写应用系统的程序模块 ? 进行调试和安装
127

第一章 绪论

1.1 1.2 1.3 1.4 1.5

数据库系统概述 数据模型 数据库系统结构 数据库系统的组成 小结

128

1.5 小结
1. 数据库系统概述
?4个基本概念 ?数据管理的发展过程 ?数据库系统的特点

3. 数据库系统的结构 – 三级模式结构 – 映像、独立 4. 数据库系统的组成

2. 数据模型
?数据模型的三要素 ?概念模型, E-R 模型 ?层次、网状、关系模型

129

Review

第一章 绪 论
F

数据信息化比较
现实世界 事物总体 事物个体 事物特征 信息世界 实体集 实体 属性 实体-联系模型 计算机世界 数据库 元组 属性 关系模型(式)

事物间的联系




友情链接: