数据库原理主讲,李唯唯重庆工学院计算机系信息管理与信息系统教研室电话,68668334
2009年 8月 14日 2
课程介绍
课程开设的目的数据库技术发展迅速,成为计算机信息系统与应用系统的核心技术和重要基础。数据库的设计、实现和应用不仅仅是一个实践的问题
,也是一个理论的问题。
课程的特点 。
以理论知识的介绍为主,深奥,抽象
理论知识和实践环节密切结合,相辅相成。
与本 课程 有关的后续课程:
1) 软件工程,信息系统分析与设计,信息系统案例分析
2) 毕业设计
3) 其它 ( 如研究生入学考试,程序员考试,计算机等级考试等 )
开 课 篇
2
2009年 8月 14日 3
学什么、教什么?
1,本课程的主要知识体系包括,
第一篇 基础篇第一章 绪 论第二章 关系数据库第三章 关系数据库 标准语言 SQL
第四章 关系系统及其查询优化第五章 关系数据理论开 课 篇
3
2009年 8月 14日 4
学什么、教什么?
1,本课程的主要知识体系包括,
第二篇 系统篇第六章 数据库恢复技术第七章 并发控制第八章 数据库安全性第九章 数据库完整性开 课 篇
4
2009年 8月 14日 5
学什么、教什么?
2,学习本课程的收获
数据库设计
数据库的管理与维护开 课 篇
5
2009年 8月 14日 6
学习方法,态度 -如何学
1。 学习方法本课程主要是侧重于培养学生 数据库应用系统的分析与设计能力及数据库管理与维护的方法与技术,将遵循注重理论教学,理论与实践紧密结合,互为补充,相辅相成 。 在学习过程中,注意对基本概念,基本方法的理解和掌握 。 充分利用上机实习条件,加深对理论知识的理解并动手能力 。
要求,认真完成作业,独立完成上机实践 。
2。 学习态度有压力,认真增强自信心,及早确定奋斗目标开 课 篇
6
2009年 8月 14日 7
参考资料
①,数据库系统教程,史久林主编
②,数据库系统系统原理与应用教程,闪四清编著 清华大学出版社
③,数据库系统原理,[美] J·D厄尔曼主编 国防工业出版社
④,数据库原理与应用,( ORACLE) 刘甫迎 主编 重庆大学出版社
⑤,数据库系统概念,杨冬青 唐世渭译 机械工业出版社
⑥,数据库系统系统原理教程,王珊 陈红 清华大学出版社
⑦,全国计算机等级考试三级教程 ——数据库技术,教育部考试中心
⑧,数据库系统原理及应用教程,机械工业出版社开 课 篇
7
2009-8-14
第一章 绪 论本章内容提要
概述数据库的基本概念,阐述数据库技术产生和发展的背景,说明了数据库系统的优点。
数据模型是数据库系统的核心和基础 。 本章介绍三种常用的数据模型 。
概念模型也称信息模型,用于信息世界的建模,
E-R模型是这类模型的典型代表,E-R方法简单,清晰,应用十分广泛 。
数据库系统的三级模式和两层映象系统结构 。
2009-8-14
第一章 绪 论本章重点,数据库的基本概念;
数据库系统的特点;
数据模型及其三要素;
概念模型与 E-R方法;
数据库系统的三级模式结构本章难点,数据库系统的特点数据库系统的三级模式结构
2009年 8月 14日 10
第一章 绪 论今天需要掌握的内容,
数据,数据库,数据库管理系统,数据库系统的概念。
文件系统和数据库系统有什么不同?
什么是数据结构化、数据的冗余度、数据独立性、
数据的完整性?
2009-8-14
1.1.1 数据、数据库、数据库管理系统、数据库系统一、数据( DATA)
数据,描述事物的符号记录。
数据的语义,数据的含义。
数据和关于数据的解释是不可分的。
例,学生档案
(姓名、性别、出生年月、籍贯、所在系别、入学时间)
张强 男 1982/01 重庆 计算机 2001
第一章 绪 论
1.1 数据库系统概述
2009年 8月 14日 12
第一章 绪 论
1.1 数据库系统概述
1.1.1 数据、数据库、数据库管理系统、数据库系统二、数据库( DATABASE,简称 DB)
数据库 是长期存放在计算机内的,有组织的,可共享的 数据的集合。数据库中的数据按一定的 数据模型组织,描述和储存,
具有较小的冗余度、较高的数据独立性和易扩展性、并可为各用户共享。
2009-8-14
1.1.1 数据、数据库、数据库管理系统、数据库系统三、数据库管理系统( DATABASE MANAGEMENT
SYSTEM,简称 DBMS)
数据库管理系统 是位于用户和操作系统之间的一层管理软件。
它为用户和应用程序提供访问数据库( DB)的方法。
数据库管理系统应有的功能,
1,数据定义功能
(数据定义语言 Data Definition Language DDL)
2,数据操纵功能
(数据操纵语言 Data Manipulation Language DML)
3,数据库运行管理
4,数据库的建立和运行管理第一章 绪 论
1.1 数据库系统概述
2009-8-14
1.1.1 数据、数据库、数据库管理系统、数据库系统四、数据库系统( DATABASE SYSTEM,简称 DBS)
数据库系统 是指在计算机系统中引入数据库后的系统。
数据库系统的组成,
数据库 ( DB)、
数据库管理系统(及其开发工具)( DBMS)
应用系统、
人员(数据库管理员 DBA 和用户)
第一章 绪 论
1.1 数据库系统概述
2009年 8月 14日 15
第一章 绪 论
1.1 数据库系统概述
1.1.1 数据、数据库、数据库管理系统、数据库系统数据库系统的构成相互有关联关系的 数据 的集合
DB
DBMS
管理数据库的系统软件完成某一功能的应用程序 1
应用程序 2
应用程序 n
DBAP 1
DBAP 2
DBAP n
Computer System
DBA
2009年 8月 14日 16
第一章 绪 论
1.1 数据库系统概述
1.1.1 数据、数据库、数据库管理系统、数据库系统应用系统应用开发工具数据库管理系统操作系统数据库用户1 用户2 用户3
数据库管理员数据库系统示意图
2009年 8月 14日 17
第一章 绪 论
1.1 数据库系统概述
1.1.1 数据、数据库、数据库管理系统、数据库系统硬件操作 系 统D
B M S
应工发开用 具应用 系 统数据库系统在计算机系统中的地位
2009-8-14
1.1.2 数据管理技术的产生和发展数据库技术是应数据管理任务的需要而产生的。
数据处理 ------是指对各种数据进行收集、存储、加工和传播的一系列活动的总和。
数据管理 ------是对数据的分类、组织、编码、储存、检索和维护。是数据处理的中心问题。
数据管理随着计算机硬件和软件的发展而不断发展。
第一章 绪 论
1.1 数据库系统概述
2009-8-14
1.1.2 数据管理技术的产生和发展
数据管理技术经历了三个阶段:
人工管理阶段 ( 20世纪 50年代中期以前)
文件系统阶段 ( 20世纪 50年代后期到 60年代中期)
数据库系统阶段( 20世纪 60年代后期以来)
第一章 绪 论
1.1 数据库系统概述
2009-8-14
1.1.2 数据管理技术的产生和发展
一,人工管理阶段特点,(1) 数据不保存
(2)应用程序管理数据
( 3)数据不共享 --数据是面向 应用 的,有大量冗余数据
(4) 数据不具独立性第一章 绪 论
1.1 数据库系统概述
2009年 8月 14日 21
第一章 绪 论
1.1 数据库系统概述访问访问访问数据 1
数据 2
数据 n
程序 1
程序 2
程序 n
人工管理阶段
2009年 8月 14日 22
第一章 绪 论
1.1 数据库系统概述
1.1.2 数据管理技术的产生和发展
二、文件系统阶段特点,(1)数据可以长期保存
( 2)由文件系统管理数据
( 3)数据共享性差,冗余度大 —文件是面向 应用 的
( 4)数据独立性差 —是不具有弹性的无结构的数据集合,文件之间是孤立的,不能反映事物间联系。
2009年 8月 14日 23
第一章 绪 论
1.1 数据库系统概数据 1
数据 2
数据 n
存取方式程序 1
程序 2
程序 n
文件系统阶段
2009年 8月 14日 24
第一章 绪 论
1.1 数据库系统概三、数据库系统阶段数据 1
统一存取数据 2
数据 n
程序 2
程序 1 程序 n
数据库系统阶段
2009年 8月 14日 25
第一章 绪 论
1.1 数据库系统概述
1.1.2 数据管理技术的产生和发展三者在以下特点的比较数据结构化数据共享度数据独立性数据管理者人工管理阶段无结构 无共享、冗余度极大不独立,完全依赖于程序用户(程序员)
文件系统阶段记录内有结构、整体无结构共享性差,
冗余度大独立性差 文件系统数据库系统阶段整体结构化 共享性高,
冗余度小数据独立性高数据库管理系统
2009-8-14
1.1.3 数据库系统的特点
一,数据结构化数据是面向全组织的。
整体 数据结构化是数据库与文件系统的根本区别
二,数据的共享性高,冗余度低,易扩充
三,数据的独立性高(数据的物理独立性和逻辑独立性)
四,数据由 DBMS统一管理和控制
DBMS提供以下几个方面的数据控制功能:
( 1) 数据的安全性( Security)保护
( 2) 数据的完整性( Integrity)检查
( 3) 并发( Concurrency)控制
( 4) 数据库恢复( Recovery)
第一章 绪 论
1.1 数据库系统概述
2009年 8月 14日 27
第一章 绪 论
1.1 数据库系统概述学号 姓名 性别 系别 年龄家庭出身 籍贯 政治面貌 日期 地点 学历名 课程号 学号 学分日期 奖惩条目 姓名 与本人关系 详细情况 课程号 课程学生基本记录学生人事记录 学生学籍记录 学生选课记录奖惩情况记录 家庭成员记录 课程记录学生数据的组织
2009年 8月 14日 28
第一章 绪 论今天需要掌握的内容,
实体间联系的种类?
数据模型的三要素概念模型及 E-R表示方法
2009年 8月 14日 29
第一章 绪 论
1.2 数据模型
模型,是现 实世界特征的模拟和抽象。
数据模型 (Data Model):是一种模型,它是现实世界数据 特征的抽象。
数据模型的作用:
在数据库中用这个工具来抽象、表示和处理 现实世界 中的数据和信息。
数据模型是现实世界的模拟 。
2009年 8月 14日 30
第一章 绪 论
1.2 数据模型
数据模型应满足的要求:
一是能较真实地模拟现实世界;
二是容易为人理解;
三是便于在计算机上实现。
两类 (两层 )模型:
概念模型 (信息模型 ),是按 用户的观点 对数据和信息建模,主要用于数据库设计。
数据模型:是按 计算机的观点 对数据建模,主要用于 DBMS的实现。
2009年 8月 14日 31
第一章 绪 论
1.2 数据模型信息世界计算机世界现实世界 问题概念模型数据模型抽象转换注意相应世界的术语现实世界中客观对象的抽象过程
2009年 8月 14日 32
第一章 绪 论
1.2 数据模型
1.2.1 数据模型的组成要素
一般讲数据模型是严格的一组概念的集合。这些概念精确地描述了:
系统的静态特征系统的动态特性完整性约束条件
数据模型 的 组成要素,
数据结构数据操作数据的完整性约束
2009年 8月 14日 33
第一章 绪 论
1.2 数据模型
1.2.1 数据模型的组成要素
一、数据结构数据结构是所研究的对象 类型 的集合。这些对象是数据库的组成部分,一般可分为两类:
与数据类型、内容、性质有关的对象;
与数据之间联系有关的对象。
数据结构是对系统静态特性的描述。
在数据库系统中通常按照 数据结构的类型 来命名数据模型。
2009年 8月 14日 34
第一章 绪 论
1.2 数据模型
二、数据操作数据操作是对数据库中各种对象的 实例 允许的操作的集合,包括操作及有关的操作规则。
数据库主要有检索和更新(包括插入、修改删除)两大类操作。
数据操作是对系统动态性特性的描述。
2009年 8月 14日 35
第一章 绪 论
1.2 数据模型三、数据的约束条件
数据的约束条件是一组完整性规则的集合。
l 完整性规则是给定的数据模型及其联系所具有的制约和依存法则,用以限定符合数据模型的数据库状态及状态的变化,以 确保数据的正确,有效,相容 。
l 数据模型应该反映和规定本数据模型必须遵守的 基本的通用的 完整性约束条件 。 (通用 )
l 数据模型还应该提供定义完整性约束条件的机制,
以反映 具体应用 所涉及的数据必须遵守的特定的语义约束条件 。 (专用 )
2009年 8月 14日 36
第一章 绪 论
1.2 数据模型
1.2.2 概念模型
概念模型用于信息世界的建模,是现实世界的第一层抽象。
一,信息世界的基本概念
( 1) 实体( Entity)
客观存在的并可区别的事物称为实体。
( 2) 属性( Attribute)
实体具有的某一特性称为属性。
( 3) 码( Key)
唯一标识实体的属性集称为码。
( 4) 域 ( Domain )
属性的取值范围称为该属性的域。
2009年 8月 14日 37
第一章 绪 论
1.2 数据模型
1.2.2 概念模型
( 5)实体型( Entity Type)
具有相同属性的实体具有的共同的特征和性质。
即,用实体名及其属性名集合来抽象和刻画同类实体如:学生(学号、姓名、性别、出生年月、系、入学时间)
( 6)实体集( Entity Set)
同型实体的集合称为实体集。如全体学生即一个实体集。
注意区分,
实体型 属性实体值 属性值
2009年 8月 14日 38
第一章 绪 论
1.2 数据模型
1.2.2 概念模型
( 7)联系( Relationship)
现实世界中事物内部以及事物之间的联系在信息世界中反映为 实体(型)内部 的联系 和 实体(型)之间 的联系
实体内部的联系通常指组成实体的各属性之间的联系。
实体之间的联系通常是指不同实体集之间的联系。
2009年 8月 14日 39
第一章 绪 论
1.2 数据模型
1.2.2 概念模型
两实体之间的联系分为三类:
1) 一对一联系 (1:1)
2) 一对多联系( 1,N)
3) 多对多联系( M,N)
实体型A
实体型B
联系名
1
1
1,1 联系实体型A
实体型B
联系名
1
n
实体型A
实体型B
联系名
1,n 联系
m
n
m,n 联系
2009年 8月 14日 40
第一章 绪 论
1.2 数据模型实际上,一对一联系是一对多联系的特例,而一对多联系又是多对多联系的特例。
一对一一对多多对多三种联系的关系
2009年 8月 14日 41
第一章 绪 论
1.2 数据模型
1.2.2 概念模型
两个以上的实体之间也存在三类联系:
1) 一对一联系 (1:1)
2) 一对多联系( 1,N)
3) 多对多联系( M,N)
讲授课程教员 参考书
1
m n
三个实体型之间的联系
2009年 8月 14日 42
第一章 绪 论
1.2 数据模型供应供应商项目 零件
m
n p
供应商项目 零件
n
m m
m n n
三个实体型之间多对多的联系和三个实体型两两之间的多对多的语义不同
2009年 8月 14日 43
第一章 绪 论
1.2 数据模型
1.2.2 概念模型
同一个实体集内的各实体之间之间也存在三类联系:
1) 一对一联系 (1:1)
2) 一对多联系( 1,N)
3) 多对多联系( M,N)
职工领导
1 N
2009年 8月 14日 44
第一章 绪 论
1.2 数据模型
1.2.2 概念模型
二,概念模型的表示方法
概念模型的表示方法中最著名也是最常用的是实体 -联系方法( Entity – Relationship Approach 简称 E-R 图法)
E-R 图的绘制:
( 1) 实体型,用矩形表示,矩形框内写明实体名
( 2) 属性:用椭圆形表示,并用无向边将其与相应的实体联接起来
( 3) 联系:用菱形表示,菱形框内写明联系名,并用无向边分别与有关实体联接起来,同时在并无向边旁标上联系的类型
( 1,1,1,N,M,N)
特别注意,如果一个联系具有属性,则这些属性也要用无向边与该联系连接起来。
2009年 8月 14日 45
例,某个工厂物资管理 E-R图 (P19)
供应供应商供应商号 姓名电话号地址账号仓 库仓库号面积电话号职 工职工号姓名 年龄职称库存量
m
零件零件号 规格 描述名称单价库存 领导供应量项 目开工日期预算项目号工作
1
n
1
m
n
n
n
p
2009年 8月 14日 46
1.2.3 最常用的数据模型
按 数据结构 的类型来命名数据模型,
常用的有四种:
l 层次模型 ( Hierarchical Model)
l 网状模型 ( Network Model)
l 关系模型 ( Relational Model)
l 面向对象型模型 ( Object Oriented Model)
第一章 绪 论
1.2 数据模型非关系模型
2009年 8月 14日 47
在非关系模型中,实体用记录表示,实体的属性对应记录的数据项 ( 或字段 ) 。
实体之间的联系在非关系模型中转换成记录之间的两两联系 。
非关系模型中数据结构的单位是基本层次联系 。 所谓基本层次联系 是指两个记录以及它们之间一对多 ( 包括一对一 ) 的联系 。
联系的起点叫做 双亲节点 ( Parent),联系的终点叫做 子女节点
( Child) 。
第一章 绪 论
1.2 数据模型
Ri
Rj
Lij
双亲节点子女节点一对多 (包括一对一 )的联系名
2009年 8月 14日 48
第一章 绪 论
1.2 数据模型
1.2.4 层次模型
层次模型是用 树形 结构来表示各类实体以及实体间的联系 。
一,层次数据模型的数据结构
在数据库中定义满足以下两个条件的基本层次联系的集合称为 层次模型 。
( 1) 有且只有一个节点没有双亲节点,这个节点称为根节点;
( 2) 根以外的其他节点有且只有一个双亲节点 。
2009年 8月 14日 49
第一章 绪 论
1.2 数据模型
在层次模型中,同一双亲的子女结点称为兄弟结点,没有子女结点的结点称为叶结点。图中工厂结点为根结点,分厂、处、研究所为兄弟结点,
是工厂结点的子女结点,班组、科、室均为叶结点。
层次模型象一棵倒立的树,树中实体间的联系是单向的,由父结点指向子结点,且一对父子之间只有一种联系,且是父对子的一对多联系。
工厂处 研究所分厂科 室车间班组层次模型示例
2009年 8月 14日 50
第一章 绪 论
1.2 数据模型
在层次模型中,每个 结点 表示一个 记录类型,记录 ( 类型 ) 之间的 联系 用结点之间的 连线 ( 有向边 ) 表示,
这种联系是父子间的一对多类型 。 因此,层次模型使得层次数据库系统只能处理一对多的实体联系 。
每个记录类型可包含若干个字段,记录类型描述的是实体,而字段描述的是实体的属性 。
层次模型的基本特点,任何一个给定的记录值只有按其路径查看时,才能显出它的全部意义,没有一个子女记录值能够脱离双亲记录值而独立存在。
2009年 8月 14日 51
第一章 绪 论
1.2 数据模型
二,多对多联系在层次模型中的表示
l 用层次模型表示多对多联系,必须先将其分解成一对多的联系 。
l 分解方法有两种:
冗余节点法,
优点,结构清晰,允许结点改 变存储位置,
缺点,需额外占用存储空间,有潜在的不一致性,
虚拟节点法,
优点,减少对存储空间的浪费,避免产生潜在的数据不一致性,
缺点,结点改变存储位置,可能引起虚拟结点中指针的修改,
2009年 8月 14日 52
第一章 绪 论
1.2 数据模型用层次模型表示多对多联系
V.C
学号 姓名 成绩 课程号 课程名
V.SC S
CS
(c) 虚拟节点法学生 S 学号 姓名 成绩
S-C
课程号 课程名课程 C
m
n
(a) 多对多联系学号 姓名 成绩课程号 课程名C
S
学号 姓名 成绩课程号 课程名
S
C
(b) 冗余节点法
2009年 8月 14日 53
第一章 绪 论
1.2 数据模型
二,层次模型的数据操纵与完整性约束
l 层次模型的数据操纵主要有查询,插入,删除和修改 。
l 在进行数据操纵时,要满足层次模型的完整性约束条件 。
( 1) 插入节点时,必须知道该节点的父节点 ( 根节点除外 ) ;
( 2) 删除节点时,则相应的子女节点也将删除;
( 3) 修改节点时,应修改所有相应记录以保证数据的一致性;
2009年 8月 14日 54
第一章 绪 论
1.2 数据模型
三,层次数据模型的存储结构
l 层次数据库中不仅要存储数据本身,还要存储 数据之间的层次联系 。
其方法有:
1,邻接法,按照层次树前序穿越的顺序把所有记录值依次邻接存放,即通过物理空间的位置相邻来体现
( 或隐含 ) 层次顺序 。
2,链接法,用指引元来反映数据之间的层次联系 。
2009年 8月 14日 55
第一章 绪 论
1.2 数据模型
四,层次模型的优缺点
优点:
1,层次数据模型本身比较简单; 记录间的联系通过指针,实现容易,查询效率高 。
2,对于实体联系是固定的,且预先定义好的应用系统,采用层次模型来实现,其性能优于关系模型,不低于网状模型 。
3,层次数据模型提供了良好的完整性支持 。
缺点:
1,在处理非层次联系的事物时显得很笨拙;
2,对插入和删除操作的限制比较多;
3,查询子女节点必须通过双亲节点;
4,由于结构严密,层次命令趋于程序化 。
2009年 8月 14日 56
第一章 绪 论
1.2 数据模型
1.2.5 网状模型
网状模型是用 丛 结构来表示各类实体以及实体间的联系 。
一,网状数据模型的数据结构
在数据库中,满足以下两个条件的基本层次联系集合称为网状模型:
( 1) 允许一个以上的节点无双亲;
( 2) 一个节点可以有多于一个的双亲 。
2009年 8月 14日 57
第一章 绪 论
1.2 数据模型
例,多对多的网状数据模型学号 姓名 系别学号 课程号 成绩课程 课程号 课程名 学分学生学生 /选课 /课程的网状数据库模式选课
S-SC C-SC
2009年 8月 14日 58
第一章 绪 论
1.2 数据模型二,网状数据模型的操纵与完整性约束
网状数据模型没有层次模型那样严格的完整性约束条件 。
三,网状数据模型的存储结构
网状数据模型的存储结构关键在于如何实现记录之间的联系 。
常用方法:单向链接,双向链接,环状链接,
向首链接等 。
2009年 8月 14日 59
第一章 绪 论
1.2 数据模型四,网状数据模型的优缺点
优点:
1,可以更直接地描述现实世界;
2,具有良好的性能,存取效率高 。
缺点:
1,结构比较复杂,特别是当环境变大时,数据库的结构会变得越来越复杂,不利于最终用户掌握 。
2,其 DDL,DML语言复杂,用户不容易掌握注,DDL( Data Definition Language)
DML( Data Manipulation Language)
3,记 录之间的联系是通过存取路径实现的,应用程序在访问数据时必须选择适当的存取路径,这样用户必须了解系统结构的细节,
加重了编写应用程序的负担 。
2009年 8月 14日 60
第一章 绪 论
1.2 数据模型
1.2.6 关系模型
关系模型是目前最重要的一种数据模型 。
关系模型是用 关系 ( 二维表 ) 结构来表示各类实体以及实体间的联系 。
一,关系数据模型的数据结构关系模型的常用术语:
l 关系 ( Relation),一个关系通常对应一张表;
l 元组 ( Tuple),表中的一行即为一个元组;
l 属性 ( Attribute),表中的一列即为一个属性,
给每一个属性起一个名称即属性名;
2009年 8月 14日 61
第一章 绪 论
1.2 数据模型
1.2.6 关系模型
l 主码 ( Key),表中的某个属性组,它可以唯一确定一个元组;
l 域 ( Domain),属性的取值范围;
l 分量,元组中的一个属性值;
l 关系模式,对关系的描述,一般表示为:
关系名 ( 属性 1,属性 2,…… 属性 n)
注意,关系模型要求关系必须是 规范化 的,最基本的一条就是关系的每一个分量必须是一个不可再分的数据项,即不允许表中有表 。
2009年 8月 14日 62
第一章 绪 论
1.2 数据模型学号 姓名 年龄 性别 系名 年级
95004 王小明 19 女 社会学 95
95006 黄小明 20 男 心理学 95
95008 张小明 18 女 法律学 95
… … … … … …
元组关系属性列分量主码关系模式,学生(学号,姓名,年龄,性别,系,年级)
2009年 8月 14日 63
第一章 绪 论
1.2 数据模型
二,关系数据模型的操纵与完整性约束
l 关系数据模型的操作主要有:查询,
插入,删除和修改数据 。
l 关系的完整性约束包括三大类:实体完整性,参照完整性,用户定义完整性 。
三,关系数据模型的存储结构
l 在关系数据模型中,实体 及 实体间的联系 都用表来表示 。
2009年 8月 14日 64
第一章 绪 论
1.2 数据模型
四,关系数据模型的优缺点
优点:
1,建立在严格的数学概念基础上;
2,概念单一,其数据结构简单,清晰,用户易懂易用;
3,存取路径对用户透明,具有更高的数据独立性,更好的安全保密性,简化了程序员的工作和数据库开发建立的工作 。
缺点,由于存取路径对用户透明,查询效率往往不如非关系数据模型 。
2009年 8月 14日 65
第一章 绪 论
1.2 数据模型今天要掌握的内容
数据库系统的三层模式结构
2009年 8月 14日 66
第一章 绪 论
1.3 数据库系统结构从数据库管理系统看,常常采用三级模式结构,
这是数据库管理系统 内部的系统结构 ;
从数据库最终用户看,数据库系统的结构分为集中式结构 ( 包括单用户结构,主从式结构 ),
分布式结构,客户 /服务器结构和并发结构 。 这是数据库系统外部的体系结构 。
2009年 8月 14日 67
第一章 绪 论
1.3 数据库系统结构
1.3.2 数据库系统的体系结构单用户数据库系统:
DB DB DB
特点:数据库系统装在一台机上,由一个用户独占,
不同机间不能共享数据,数据大量冗余。
2009年 8月 14日 68
第一章 绪 论
1.3 数据库系统结构主机
DB
主从式结构的数据库系统,
一个主机多个终端,事务由主机完成,终端共享数据 。
优点:结构简单,数据易于管理和维护 。
缺点:当终端用户数目增加到一定程度后,主机的任务会过于繁重,使性能大大下降,系统的可靠性不高。
2009年 8月 14日 69
第一章 绪 论
1.3 数据库系统结构 主机
DB
主机
DB
主机
DB
网络分布式结构的数据库系统分布式结构的数据库系统是指数据库中的数据在逻辑上是一个整体,
但物理地分布在计算机网络的不同接点上 。
优点:适应了地理上分散的公司,团体和组织对数据库应用的需求缺点:数据的分散存放,给数据的处理、管理与维护带来困难。进行远程访问时,系统效率明显会受到网络交通的限制 。
2009年 8月 14日 70
第一章 绪 论
1.3 数据库系统结构客户 /服务器结构的数据库系统客户 /服务器结构的数据库系统可分为集中的服务器结构和分布的服务器结构。
应用工具接口应用工具接口
...
D B M S 功能接口
DB
客户机服务器集中的服务器结构应用工具接口应用工具接口
...
D B M S 功能接口
DB
客户机服务器接口
D B M S 功能
DB
分布的服务器结构优点:减少了网络的数据传输量,提高了系统的性能、吞吐量和负载能力; 更开放、可移植性高。
2009年 8月 14日 71
第一章 绪 论
1.3 数据库系统结构
1.3.1 数据库系统模式的概念
l 数据模型中有,型,和,值,的概念 。
型 是指对某一类数据的结构和属性的说明;
值 是型的一个具体赋值 。
例如,
( 学号,姓名,性别,系别,年龄,籍贯 ) ——型
( 900201,李明,男,计算机,22,江苏 ) ——值
2009年 8月 14日 72
第一章 绪 论
1.3 数据库系统结构
1.3.1 数据库系统模式的概念
模式 ( Schema) 是数据库中全体数据的逻辑结构和特征的描述,它仅仅涉及到型的描述,不涉及具体的值 。
模式的一个具体值称为模式的一个 实例 ( Instance) 。
同一模式可以有很多实例 。
模式是相对稳定的,而实例是相对变动的 。
模式反映的是数据的结构及其联系,而实例反映的是数据库某一时刻的状态 。
2009年 8月 14日 73
第一章 绪 论
1.3 数据库系统结构
1.3.2 数据库系统的三级模式结构
数据库系统的三级模式结构是指数据库系统是由 外模式,模式 和 内模式 三级构成 。 如图 所示:
数据库模 式内模式应用 A 应用 B
外模式 1
应用 C
外模式 2
应用 D 应用 E
外模式 3
外模式 /模式映象内模式 /模式映象数据库系统的三级模式结构
2009年 8月 14日 74
第一章 绪 论
1.3 数据库系统结构一,模式 ( Schema)
模式 ( 逻辑模式 ),是数据库中 全体数据 的逻辑结构和特征的描述,是所有用户的公共数据视图 。
一个数据库只有一个模式 。
定义模式时不仅要 定义数据的逻辑结构,而且要 定义数据之间的联系,定义与数据有关的安全性,完整性要求
2009年 8月 14日 75
第一章 绪 论
1.3 数据库系统结构二,外模式 ( External Schema)
外模式 ( 子模式 Subschema) 或用户模式,是数据库用户能够看见和使用的 局部数据 的逻辑结构和特征的表述,是数据库用户的数据视图,是与某一应用有关的数据的逻辑表示 。
外模式通常是模式的子集,一个数据库可以有多个外模式 。
外模式是保证数据库安全性的一个有力措施 。 每个用户只能看见和访问所对应的外模式中的数据,数据库中的其余数据是不可见的 。
2009年 8月 14日 76
第一章 绪 论
1.3 数据库系统结构三,内模式 ( Internal Schema)
内模式 ( 存储模式 Storage Schema),是数据物理结构和存储方式的描述,是数据在数据库内部的表示方式 。
一个数据库只有一个内模式 。
2009年 8月 14日 77
第一章 绪 论
1.3 数据库系统结构
1.3.3 数据库的二级映象功能与数据独立性
数据库系统的三级模式是对数据的三个抽象级别,它把数据的具体组织留给 DBMS管理,使用户能逻辑地抽象地处理数据,而不必关心数据在计算机中的具体表示方式与存储方式 。
数据库管理系统在三级模式之间提供了两层映象:
外模式 /模式映象模式 /内模式映象
两层映象保证了数据库系统中的数据能够具有较高的逻辑独立性和物理独立性 。
2009年 8月 14日 78
第一章 绪 论
1.3 数据库系统结构一,外模式 /模式映象
对应于同一个模式可以有多个外模式 。
对于每一个外模式,数据库系统都有一个外模式 /模式映象,它定义了该外模式与模式之间的对应关系 。
当模式改变时,由数据库管理员对各个 外模式 /
模式 的映象作相应改变,可以使外模式保持不变 。 从而应用程序不必修改,保证了数据与程序的逻辑独立性,简称 数据的逻辑独立性 。
2009年 8月 14日 79
第一章 绪 论
1.3 数据库系统结构二,模式 /内模式映象
模式 /内模式映象是唯一的,它定义了数据库全局逻辑结构与存储结构之间的对应关系 。
数据库的存储结构改变时,由数据库管理员对各个 模式 /内模式 的映象作相应改变,可以使模式保持不变 。 从而应用程序不必修改,保证了数据与程序的物理独立性,简称 数据的物理独立性 。
2009年 8月 14日 80
第一章 绪 论
1.3 数据库系统结构
数据库的三级模式结构中,数据库模式即全局逻辑结构模式是数据库的中心与关键,独立于数据库的其他层次 。 因此,设计数据库模式结构时,首先确定逻辑模式 。
内模式依赖于逻辑结构模式,独立于外模式,也独立于具体的存储形式 。
外模式面向具体的应用程序,定义在逻辑模式之上,
独立于内模式和存储设备 。
特定的应用程序在外模式描述的数据结构上编制依赖于特定的外模式,独立于模式和内模式 。
2009年 8月 14日 81
第一章 绪 论
1.4 数据库系统的组成数据库系统的组成部分有:
– 硬件平台及数据库
– 软件
– 人员
2009年 8月 14日 82
第一章 绪 论
1.4 数据库系统的组成
一,硬件平台及数据库
( 1) 要有足够大的内存,存放操作系统,
DBMS的核心模块,数据缓冲区和应用程序 。
( 2) 要有足够大的硬盘等直接存取设备,
存放数据库,有足够的磁盘作数据备份;
( 3) 系统有较高的通道能力,以提高数据传送率 。
2009年 8月 14日 83
第一章 绪 论
1.4 数据库系统的组成
二,软件
( 1) DBMS。 DBMS是为数据库的建立,使用和维护配置的软件 。
( 2) 支持 DBMS运行的操作系统 。
( 3) 具有与数据库接口的高级语言及其编译系统,便于开发应用程序 。
( 4) 以 DBMS为核心的 应用开发工具 。
( 5) 为特定应用环境开发的 数据库应用系统 。
2009年 8月 14日 84
第一章 绪 论
1.4 数据库系统的组成三,人员开发,管理和使用数据库系统的人员主要有:数据库管理员 ( DBA),系统分析员,数据库设计人员,应用程序员和最终用户 。用户 应用系统
DBMS
OS
数据表示外模式模 式内模式
DB
DBA,系统分析员图 1.30 各种人员的数据视图应用程序员软件系统层次数据抽象级别
2009年 8月 14日 85
第一章 绪 论
1.5 数据库技术的研究领域有三方面:
一,数据库管理系统软件的研制二,数据库设计三,数据库理论
2009年 8月 14日 86
1.6 小结
数据库的基本概念;
数据库系统的优点:
数据模型:组成要素
概念模型,E-R图
关系模型,非关系模型:
数据库系统的三级模式及其两层映象:
数据库系统的组成,尤其是 DBA:
2009年 8月 14日 2
课程介绍
课程开设的目的数据库技术发展迅速,成为计算机信息系统与应用系统的核心技术和重要基础。数据库的设计、实现和应用不仅仅是一个实践的问题
,也是一个理论的问题。
课程的特点 。
以理论知识的介绍为主,深奥,抽象
理论知识和实践环节密切结合,相辅相成。
与本 课程 有关的后续课程:
1) 软件工程,信息系统分析与设计,信息系统案例分析
2) 毕业设计
3) 其它 ( 如研究生入学考试,程序员考试,计算机等级考试等 )
开 课 篇
2
2009年 8月 14日 3
学什么、教什么?
1,本课程的主要知识体系包括,
第一篇 基础篇第一章 绪 论第二章 关系数据库第三章 关系数据库 标准语言 SQL
第四章 关系系统及其查询优化第五章 关系数据理论开 课 篇
3
2009年 8月 14日 4
学什么、教什么?
1,本课程的主要知识体系包括,
第二篇 系统篇第六章 数据库恢复技术第七章 并发控制第八章 数据库安全性第九章 数据库完整性开 课 篇
4
2009年 8月 14日 5
学什么、教什么?
2,学习本课程的收获
数据库设计
数据库的管理与维护开 课 篇
5
2009年 8月 14日 6
学习方法,态度 -如何学
1。 学习方法本课程主要是侧重于培养学生 数据库应用系统的分析与设计能力及数据库管理与维护的方法与技术,将遵循注重理论教学,理论与实践紧密结合,互为补充,相辅相成 。 在学习过程中,注意对基本概念,基本方法的理解和掌握 。 充分利用上机实习条件,加深对理论知识的理解并动手能力 。
要求,认真完成作业,独立完成上机实践 。
2。 学习态度有压力,认真增强自信心,及早确定奋斗目标开 课 篇
6
2009年 8月 14日 7
参考资料
①,数据库系统教程,史久林主编
②,数据库系统系统原理与应用教程,闪四清编著 清华大学出版社
③,数据库系统原理,[美] J·D厄尔曼主编 国防工业出版社
④,数据库原理与应用,( ORACLE) 刘甫迎 主编 重庆大学出版社
⑤,数据库系统概念,杨冬青 唐世渭译 机械工业出版社
⑥,数据库系统系统原理教程,王珊 陈红 清华大学出版社
⑦,全国计算机等级考试三级教程 ——数据库技术,教育部考试中心
⑧,数据库系统原理及应用教程,机械工业出版社开 课 篇
7
2009-8-14
第一章 绪 论本章内容提要
概述数据库的基本概念,阐述数据库技术产生和发展的背景,说明了数据库系统的优点。
数据模型是数据库系统的核心和基础 。 本章介绍三种常用的数据模型 。
概念模型也称信息模型,用于信息世界的建模,
E-R模型是这类模型的典型代表,E-R方法简单,清晰,应用十分广泛 。
数据库系统的三级模式和两层映象系统结构 。
2009-8-14
第一章 绪 论本章重点,数据库的基本概念;
数据库系统的特点;
数据模型及其三要素;
概念模型与 E-R方法;
数据库系统的三级模式结构本章难点,数据库系统的特点数据库系统的三级模式结构
2009年 8月 14日 10
第一章 绪 论今天需要掌握的内容,
数据,数据库,数据库管理系统,数据库系统的概念。
文件系统和数据库系统有什么不同?
什么是数据结构化、数据的冗余度、数据独立性、
数据的完整性?
2009-8-14
1.1.1 数据、数据库、数据库管理系统、数据库系统一、数据( DATA)
数据,描述事物的符号记录。
数据的语义,数据的含义。
数据和关于数据的解释是不可分的。
例,学生档案
(姓名、性别、出生年月、籍贯、所在系别、入学时间)
张强 男 1982/01 重庆 计算机 2001
第一章 绪 论
1.1 数据库系统概述
2009年 8月 14日 12
第一章 绪 论
1.1 数据库系统概述
1.1.1 数据、数据库、数据库管理系统、数据库系统二、数据库( DATABASE,简称 DB)
数据库 是长期存放在计算机内的,有组织的,可共享的 数据的集合。数据库中的数据按一定的 数据模型组织,描述和储存,
具有较小的冗余度、较高的数据独立性和易扩展性、并可为各用户共享。
2009-8-14
1.1.1 数据、数据库、数据库管理系统、数据库系统三、数据库管理系统( DATABASE MANAGEMENT
SYSTEM,简称 DBMS)
数据库管理系统 是位于用户和操作系统之间的一层管理软件。
它为用户和应用程序提供访问数据库( DB)的方法。
数据库管理系统应有的功能,
1,数据定义功能
(数据定义语言 Data Definition Language DDL)
2,数据操纵功能
(数据操纵语言 Data Manipulation Language DML)
3,数据库运行管理
4,数据库的建立和运行管理第一章 绪 论
1.1 数据库系统概述
2009-8-14
1.1.1 数据、数据库、数据库管理系统、数据库系统四、数据库系统( DATABASE SYSTEM,简称 DBS)
数据库系统 是指在计算机系统中引入数据库后的系统。
数据库系统的组成,
数据库 ( DB)、
数据库管理系统(及其开发工具)( DBMS)
应用系统、
人员(数据库管理员 DBA 和用户)
第一章 绪 论
1.1 数据库系统概述
2009年 8月 14日 15
第一章 绪 论
1.1 数据库系统概述
1.1.1 数据、数据库、数据库管理系统、数据库系统数据库系统的构成相互有关联关系的 数据 的集合
DB
DBMS
管理数据库的系统软件完成某一功能的应用程序 1
应用程序 2
应用程序 n
DBAP 1
DBAP 2
DBAP n
Computer System
DBA
2009年 8月 14日 16
第一章 绪 论
1.1 数据库系统概述
1.1.1 数据、数据库、数据库管理系统、数据库系统应用系统应用开发工具数据库管理系统操作系统数据库用户1 用户2 用户3
数据库管理员数据库系统示意图
2009年 8月 14日 17
第一章 绪 论
1.1 数据库系统概述
1.1.1 数据、数据库、数据库管理系统、数据库系统硬件操作 系 统D
B M S
应工发开用 具应用 系 统数据库系统在计算机系统中的地位
2009-8-14
1.1.2 数据管理技术的产生和发展数据库技术是应数据管理任务的需要而产生的。
数据处理 ------是指对各种数据进行收集、存储、加工和传播的一系列活动的总和。
数据管理 ------是对数据的分类、组织、编码、储存、检索和维护。是数据处理的中心问题。
数据管理随着计算机硬件和软件的发展而不断发展。
第一章 绪 论
1.1 数据库系统概述
2009-8-14
1.1.2 数据管理技术的产生和发展
数据管理技术经历了三个阶段:
人工管理阶段 ( 20世纪 50年代中期以前)
文件系统阶段 ( 20世纪 50年代后期到 60年代中期)
数据库系统阶段( 20世纪 60年代后期以来)
第一章 绪 论
1.1 数据库系统概述
2009-8-14
1.1.2 数据管理技术的产生和发展
一,人工管理阶段特点,(1) 数据不保存
(2)应用程序管理数据
( 3)数据不共享 --数据是面向 应用 的,有大量冗余数据
(4) 数据不具独立性第一章 绪 论
1.1 数据库系统概述
2009年 8月 14日 21
第一章 绪 论
1.1 数据库系统概述访问访问访问数据 1
数据 2
数据 n
程序 1
程序 2
程序 n
人工管理阶段
2009年 8月 14日 22
第一章 绪 论
1.1 数据库系统概述
1.1.2 数据管理技术的产生和发展
二、文件系统阶段特点,(1)数据可以长期保存
( 2)由文件系统管理数据
( 3)数据共享性差,冗余度大 —文件是面向 应用 的
( 4)数据独立性差 —是不具有弹性的无结构的数据集合,文件之间是孤立的,不能反映事物间联系。
2009年 8月 14日 23
第一章 绪 论
1.1 数据库系统概数据 1
数据 2
数据 n
存取方式程序 1
程序 2
程序 n
文件系统阶段
2009年 8月 14日 24
第一章 绪 论
1.1 数据库系统概三、数据库系统阶段数据 1
统一存取数据 2
数据 n
程序 2
程序 1 程序 n
数据库系统阶段
2009年 8月 14日 25
第一章 绪 论
1.1 数据库系统概述
1.1.2 数据管理技术的产生和发展三者在以下特点的比较数据结构化数据共享度数据独立性数据管理者人工管理阶段无结构 无共享、冗余度极大不独立,完全依赖于程序用户(程序员)
文件系统阶段记录内有结构、整体无结构共享性差,
冗余度大独立性差 文件系统数据库系统阶段整体结构化 共享性高,
冗余度小数据独立性高数据库管理系统
2009-8-14
1.1.3 数据库系统的特点
一,数据结构化数据是面向全组织的。
整体 数据结构化是数据库与文件系统的根本区别
二,数据的共享性高,冗余度低,易扩充
三,数据的独立性高(数据的物理独立性和逻辑独立性)
四,数据由 DBMS统一管理和控制
DBMS提供以下几个方面的数据控制功能:
( 1) 数据的安全性( Security)保护
( 2) 数据的完整性( Integrity)检查
( 3) 并发( Concurrency)控制
( 4) 数据库恢复( Recovery)
第一章 绪 论
1.1 数据库系统概述
2009年 8月 14日 27
第一章 绪 论
1.1 数据库系统概述学号 姓名 性别 系别 年龄家庭出身 籍贯 政治面貌 日期 地点 学历名 课程号 学号 学分日期 奖惩条目 姓名 与本人关系 详细情况 课程号 课程学生基本记录学生人事记录 学生学籍记录 学生选课记录奖惩情况记录 家庭成员记录 课程记录学生数据的组织
2009年 8月 14日 28
第一章 绪 论今天需要掌握的内容,
实体间联系的种类?
数据模型的三要素概念模型及 E-R表示方法
2009年 8月 14日 29
第一章 绪 论
1.2 数据模型
模型,是现 实世界特征的模拟和抽象。
数据模型 (Data Model):是一种模型,它是现实世界数据 特征的抽象。
数据模型的作用:
在数据库中用这个工具来抽象、表示和处理 现实世界 中的数据和信息。
数据模型是现实世界的模拟 。
2009年 8月 14日 30
第一章 绪 论
1.2 数据模型
数据模型应满足的要求:
一是能较真实地模拟现实世界;
二是容易为人理解;
三是便于在计算机上实现。
两类 (两层 )模型:
概念模型 (信息模型 ),是按 用户的观点 对数据和信息建模,主要用于数据库设计。
数据模型:是按 计算机的观点 对数据建模,主要用于 DBMS的实现。
2009年 8月 14日 31
第一章 绪 论
1.2 数据模型信息世界计算机世界现实世界 问题概念模型数据模型抽象转换注意相应世界的术语现实世界中客观对象的抽象过程
2009年 8月 14日 32
第一章 绪 论
1.2 数据模型
1.2.1 数据模型的组成要素
一般讲数据模型是严格的一组概念的集合。这些概念精确地描述了:
系统的静态特征系统的动态特性完整性约束条件
数据模型 的 组成要素,
数据结构数据操作数据的完整性约束
2009年 8月 14日 33
第一章 绪 论
1.2 数据模型
1.2.1 数据模型的组成要素
一、数据结构数据结构是所研究的对象 类型 的集合。这些对象是数据库的组成部分,一般可分为两类:
与数据类型、内容、性质有关的对象;
与数据之间联系有关的对象。
数据结构是对系统静态特性的描述。
在数据库系统中通常按照 数据结构的类型 来命名数据模型。
2009年 8月 14日 34
第一章 绪 论
1.2 数据模型
二、数据操作数据操作是对数据库中各种对象的 实例 允许的操作的集合,包括操作及有关的操作规则。
数据库主要有检索和更新(包括插入、修改删除)两大类操作。
数据操作是对系统动态性特性的描述。
2009年 8月 14日 35
第一章 绪 论
1.2 数据模型三、数据的约束条件
数据的约束条件是一组完整性规则的集合。
l 完整性规则是给定的数据模型及其联系所具有的制约和依存法则,用以限定符合数据模型的数据库状态及状态的变化,以 确保数据的正确,有效,相容 。
l 数据模型应该反映和规定本数据模型必须遵守的 基本的通用的 完整性约束条件 。 (通用 )
l 数据模型还应该提供定义完整性约束条件的机制,
以反映 具体应用 所涉及的数据必须遵守的特定的语义约束条件 。 (专用 )
2009年 8月 14日 36
第一章 绪 论
1.2 数据模型
1.2.2 概念模型
概念模型用于信息世界的建模,是现实世界的第一层抽象。
一,信息世界的基本概念
( 1) 实体( Entity)
客观存在的并可区别的事物称为实体。
( 2) 属性( Attribute)
实体具有的某一特性称为属性。
( 3) 码( Key)
唯一标识实体的属性集称为码。
( 4) 域 ( Domain )
属性的取值范围称为该属性的域。
2009年 8月 14日 37
第一章 绪 论
1.2 数据模型
1.2.2 概念模型
( 5)实体型( Entity Type)
具有相同属性的实体具有的共同的特征和性质。
即,用实体名及其属性名集合来抽象和刻画同类实体如:学生(学号、姓名、性别、出生年月、系、入学时间)
( 6)实体集( Entity Set)
同型实体的集合称为实体集。如全体学生即一个实体集。
注意区分,
实体型 属性实体值 属性值
2009年 8月 14日 38
第一章 绪 论
1.2 数据模型
1.2.2 概念模型
( 7)联系( Relationship)
现实世界中事物内部以及事物之间的联系在信息世界中反映为 实体(型)内部 的联系 和 实体(型)之间 的联系
实体内部的联系通常指组成实体的各属性之间的联系。
实体之间的联系通常是指不同实体集之间的联系。
2009年 8月 14日 39
第一章 绪 论
1.2 数据模型
1.2.2 概念模型
两实体之间的联系分为三类:
1) 一对一联系 (1:1)
2) 一对多联系( 1,N)
3) 多对多联系( M,N)
实体型A
实体型B
联系名
1
1
1,1 联系实体型A
实体型B
联系名
1
n
实体型A
实体型B
联系名
1,n 联系
m
n
m,n 联系
2009年 8月 14日 40
第一章 绪 论
1.2 数据模型实际上,一对一联系是一对多联系的特例,而一对多联系又是多对多联系的特例。
一对一一对多多对多三种联系的关系
2009年 8月 14日 41
第一章 绪 论
1.2 数据模型
1.2.2 概念模型
两个以上的实体之间也存在三类联系:
1) 一对一联系 (1:1)
2) 一对多联系( 1,N)
3) 多对多联系( M,N)
讲授课程教员 参考书
1
m n
三个实体型之间的联系
2009年 8月 14日 42
第一章 绪 论
1.2 数据模型供应供应商项目 零件
m
n p
供应商项目 零件
n
m m
m n n
三个实体型之间多对多的联系和三个实体型两两之间的多对多的语义不同
2009年 8月 14日 43
第一章 绪 论
1.2 数据模型
1.2.2 概念模型
同一个实体集内的各实体之间之间也存在三类联系:
1) 一对一联系 (1:1)
2) 一对多联系( 1,N)
3) 多对多联系( M,N)
职工领导
1 N
2009年 8月 14日 44
第一章 绪 论
1.2 数据模型
1.2.2 概念模型
二,概念模型的表示方法
概念模型的表示方法中最著名也是最常用的是实体 -联系方法( Entity – Relationship Approach 简称 E-R 图法)
E-R 图的绘制:
( 1) 实体型,用矩形表示,矩形框内写明实体名
( 2) 属性:用椭圆形表示,并用无向边将其与相应的实体联接起来
( 3) 联系:用菱形表示,菱形框内写明联系名,并用无向边分别与有关实体联接起来,同时在并无向边旁标上联系的类型
( 1,1,1,N,M,N)
特别注意,如果一个联系具有属性,则这些属性也要用无向边与该联系连接起来。
2009年 8月 14日 45
例,某个工厂物资管理 E-R图 (P19)
供应供应商供应商号 姓名电话号地址账号仓 库仓库号面积电话号职 工职工号姓名 年龄职称库存量
m
零件零件号 规格 描述名称单价库存 领导供应量项 目开工日期预算项目号工作
1
n
1
m
n
n
n
p
2009年 8月 14日 46
1.2.3 最常用的数据模型
按 数据结构 的类型来命名数据模型,
常用的有四种:
l 层次模型 ( Hierarchical Model)
l 网状模型 ( Network Model)
l 关系模型 ( Relational Model)
l 面向对象型模型 ( Object Oriented Model)
第一章 绪 论
1.2 数据模型非关系模型
2009年 8月 14日 47
在非关系模型中,实体用记录表示,实体的属性对应记录的数据项 ( 或字段 ) 。
实体之间的联系在非关系模型中转换成记录之间的两两联系 。
非关系模型中数据结构的单位是基本层次联系 。 所谓基本层次联系 是指两个记录以及它们之间一对多 ( 包括一对一 ) 的联系 。
联系的起点叫做 双亲节点 ( Parent),联系的终点叫做 子女节点
( Child) 。
第一章 绪 论
1.2 数据模型
Ri
Rj
Lij
双亲节点子女节点一对多 (包括一对一 )的联系名
2009年 8月 14日 48
第一章 绪 论
1.2 数据模型
1.2.4 层次模型
层次模型是用 树形 结构来表示各类实体以及实体间的联系 。
一,层次数据模型的数据结构
在数据库中定义满足以下两个条件的基本层次联系的集合称为 层次模型 。
( 1) 有且只有一个节点没有双亲节点,这个节点称为根节点;
( 2) 根以外的其他节点有且只有一个双亲节点 。
2009年 8月 14日 49
第一章 绪 论
1.2 数据模型
在层次模型中,同一双亲的子女结点称为兄弟结点,没有子女结点的结点称为叶结点。图中工厂结点为根结点,分厂、处、研究所为兄弟结点,
是工厂结点的子女结点,班组、科、室均为叶结点。
层次模型象一棵倒立的树,树中实体间的联系是单向的,由父结点指向子结点,且一对父子之间只有一种联系,且是父对子的一对多联系。
工厂处 研究所分厂科 室车间班组层次模型示例
2009年 8月 14日 50
第一章 绪 论
1.2 数据模型
在层次模型中,每个 结点 表示一个 记录类型,记录 ( 类型 ) 之间的 联系 用结点之间的 连线 ( 有向边 ) 表示,
这种联系是父子间的一对多类型 。 因此,层次模型使得层次数据库系统只能处理一对多的实体联系 。
每个记录类型可包含若干个字段,记录类型描述的是实体,而字段描述的是实体的属性 。
层次模型的基本特点,任何一个给定的记录值只有按其路径查看时,才能显出它的全部意义,没有一个子女记录值能够脱离双亲记录值而独立存在。
2009年 8月 14日 51
第一章 绪 论
1.2 数据模型
二,多对多联系在层次模型中的表示
l 用层次模型表示多对多联系,必须先将其分解成一对多的联系 。
l 分解方法有两种:
冗余节点法,
优点,结构清晰,允许结点改 变存储位置,
缺点,需额外占用存储空间,有潜在的不一致性,
虚拟节点法,
优点,减少对存储空间的浪费,避免产生潜在的数据不一致性,
缺点,结点改变存储位置,可能引起虚拟结点中指针的修改,
2009年 8月 14日 52
第一章 绪 论
1.2 数据模型用层次模型表示多对多联系
V.C
学号 姓名 成绩 课程号 课程名
V.SC S
CS
(c) 虚拟节点法学生 S 学号 姓名 成绩
S-C
课程号 课程名课程 C
m
n
(a) 多对多联系学号 姓名 成绩课程号 课程名C
S
学号 姓名 成绩课程号 课程名
S
C
(b) 冗余节点法
2009年 8月 14日 53
第一章 绪 论
1.2 数据模型
二,层次模型的数据操纵与完整性约束
l 层次模型的数据操纵主要有查询,插入,删除和修改 。
l 在进行数据操纵时,要满足层次模型的完整性约束条件 。
( 1) 插入节点时,必须知道该节点的父节点 ( 根节点除外 ) ;
( 2) 删除节点时,则相应的子女节点也将删除;
( 3) 修改节点时,应修改所有相应记录以保证数据的一致性;
2009年 8月 14日 54
第一章 绪 论
1.2 数据模型
三,层次数据模型的存储结构
l 层次数据库中不仅要存储数据本身,还要存储 数据之间的层次联系 。
其方法有:
1,邻接法,按照层次树前序穿越的顺序把所有记录值依次邻接存放,即通过物理空间的位置相邻来体现
( 或隐含 ) 层次顺序 。
2,链接法,用指引元来反映数据之间的层次联系 。
2009年 8月 14日 55
第一章 绪 论
1.2 数据模型
四,层次模型的优缺点
优点:
1,层次数据模型本身比较简单; 记录间的联系通过指针,实现容易,查询效率高 。
2,对于实体联系是固定的,且预先定义好的应用系统,采用层次模型来实现,其性能优于关系模型,不低于网状模型 。
3,层次数据模型提供了良好的完整性支持 。
缺点:
1,在处理非层次联系的事物时显得很笨拙;
2,对插入和删除操作的限制比较多;
3,查询子女节点必须通过双亲节点;
4,由于结构严密,层次命令趋于程序化 。
2009年 8月 14日 56
第一章 绪 论
1.2 数据模型
1.2.5 网状模型
网状模型是用 丛 结构来表示各类实体以及实体间的联系 。
一,网状数据模型的数据结构
在数据库中,满足以下两个条件的基本层次联系集合称为网状模型:
( 1) 允许一个以上的节点无双亲;
( 2) 一个节点可以有多于一个的双亲 。
2009年 8月 14日 57
第一章 绪 论
1.2 数据模型
例,多对多的网状数据模型学号 姓名 系别学号 课程号 成绩课程 课程号 课程名 学分学生学生 /选课 /课程的网状数据库模式选课
S-SC C-SC
2009年 8月 14日 58
第一章 绪 论
1.2 数据模型二,网状数据模型的操纵与完整性约束
网状数据模型没有层次模型那样严格的完整性约束条件 。
三,网状数据模型的存储结构
网状数据模型的存储结构关键在于如何实现记录之间的联系 。
常用方法:单向链接,双向链接,环状链接,
向首链接等 。
2009年 8月 14日 59
第一章 绪 论
1.2 数据模型四,网状数据模型的优缺点
优点:
1,可以更直接地描述现实世界;
2,具有良好的性能,存取效率高 。
缺点:
1,结构比较复杂,特别是当环境变大时,数据库的结构会变得越来越复杂,不利于最终用户掌握 。
2,其 DDL,DML语言复杂,用户不容易掌握注,DDL( Data Definition Language)
DML( Data Manipulation Language)
3,记 录之间的联系是通过存取路径实现的,应用程序在访问数据时必须选择适当的存取路径,这样用户必须了解系统结构的细节,
加重了编写应用程序的负担 。
2009年 8月 14日 60
第一章 绪 论
1.2 数据模型
1.2.6 关系模型
关系模型是目前最重要的一种数据模型 。
关系模型是用 关系 ( 二维表 ) 结构来表示各类实体以及实体间的联系 。
一,关系数据模型的数据结构关系模型的常用术语:
l 关系 ( Relation),一个关系通常对应一张表;
l 元组 ( Tuple),表中的一行即为一个元组;
l 属性 ( Attribute),表中的一列即为一个属性,
给每一个属性起一个名称即属性名;
2009年 8月 14日 61
第一章 绪 论
1.2 数据模型
1.2.6 关系模型
l 主码 ( Key),表中的某个属性组,它可以唯一确定一个元组;
l 域 ( Domain),属性的取值范围;
l 分量,元组中的一个属性值;
l 关系模式,对关系的描述,一般表示为:
关系名 ( 属性 1,属性 2,…… 属性 n)
注意,关系模型要求关系必须是 规范化 的,最基本的一条就是关系的每一个分量必须是一个不可再分的数据项,即不允许表中有表 。
2009年 8月 14日 62
第一章 绪 论
1.2 数据模型学号 姓名 年龄 性别 系名 年级
95004 王小明 19 女 社会学 95
95006 黄小明 20 男 心理学 95
95008 张小明 18 女 法律学 95
… … … … … …
元组关系属性列分量主码关系模式,学生(学号,姓名,年龄,性别,系,年级)
2009年 8月 14日 63
第一章 绪 论
1.2 数据模型
二,关系数据模型的操纵与完整性约束
l 关系数据模型的操作主要有:查询,
插入,删除和修改数据 。
l 关系的完整性约束包括三大类:实体完整性,参照完整性,用户定义完整性 。
三,关系数据模型的存储结构
l 在关系数据模型中,实体 及 实体间的联系 都用表来表示 。
2009年 8月 14日 64
第一章 绪 论
1.2 数据模型
四,关系数据模型的优缺点
优点:
1,建立在严格的数学概念基础上;
2,概念单一,其数据结构简单,清晰,用户易懂易用;
3,存取路径对用户透明,具有更高的数据独立性,更好的安全保密性,简化了程序员的工作和数据库开发建立的工作 。
缺点,由于存取路径对用户透明,查询效率往往不如非关系数据模型 。
2009年 8月 14日 65
第一章 绪 论
1.2 数据模型今天要掌握的内容
数据库系统的三层模式结构
2009年 8月 14日 66
第一章 绪 论
1.3 数据库系统结构从数据库管理系统看,常常采用三级模式结构,
这是数据库管理系统 内部的系统结构 ;
从数据库最终用户看,数据库系统的结构分为集中式结构 ( 包括单用户结构,主从式结构 ),
分布式结构,客户 /服务器结构和并发结构 。 这是数据库系统外部的体系结构 。
2009年 8月 14日 67
第一章 绪 论
1.3 数据库系统结构
1.3.2 数据库系统的体系结构单用户数据库系统:
DB DB DB
特点:数据库系统装在一台机上,由一个用户独占,
不同机间不能共享数据,数据大量冗余。
2009年 8月 14日 68
第一章 绪 论
1.3 数据库系统结构主机
DB
主从式结构的数据库系统,
一个主机多个终端,事务由主机完成,终端共享数据 。
优点:结构简单,数据易于管理和维护 。
缺点:当终端用户数目增加到一定程度后,主机的任务会过于繁重,使性能大大下降,系统的可靠性不高。
2009年 8月 14日 69
第一章 绪 论
1.3 数据库系统结构 主机
DB
主机
DB
主机
DB
网络分布式结构的数据库系统分布式结构的数据库系统是指数据库中的数据在逻辑上是一个整体,
但物理地分布在计算机网络的不同接点上 。
优点:适应了地理上分散的公司,团体和组织对数据库应用的需求缺点:数据的分散存放,给数据的处理、管理与维护带来困难。进行远程访问时,系统效率明显会受到网络交通的限制 。
2009年 8月 14日 70
第一章 绪 论
1.3 数据库系统结构客户 /服务器结构的数据库系统客户 /服务器结构的数据库系统可分为集中的服务器结构和分布的服务器结构。
应用工具接口应用工具接口
...
D B M S 功能接口
DB
客户机服务器集中的服务器结构应用工具接口应用工具接口
...
D B M S 功能接口
DB
客户机服务器接口
D B M S 功能
DB
分布的服务器结构优点:减少了网络的数据传输量,提高了系统的性能、吞吐量和负载能力; 更开放、可移植性高。
2009年 8月 14日 71
第一章 绪 论
1.3 数据库系统结构
1.3.1 数据库系统模式的概念
l 数据模型中有,型,和,值,的概念 。
型 是指对某一类数据的结构和属性的说明;
值 是型的一个具体赋值 。
例如,
( 学号,姓名,性别,系别,年龄,籍贯 ) ——型
( 900201,李明,男,计算机,22,江苏 ) ——值
2009年 8月 14日 72
第一章 绪 论
1.3 数据库系统结构
1.3.1 数据库系统模式的概念
模式 ( Schema) 是数据库中全体数据的逻辑结构和特征的描述,它仅仅涉及到型的描述,不涉及具体的值 。
模式的一个具体值称为模式的一个 实例 ( Instance) 。
同一模式可以有很多实例 。
模式是相对稳定的,而实例是相对变动的 。
模式反映的是数据的结构及其联系,而实例反映的是数据库某一时刻的状态 。
2009年 8月 14日 73
第一章 绪 论
1.3 数据库系统结构
1.3.2 数据库系统的三级模式结构
数据库系统的三级模式结构是指数据库系统是由 外模式,模式 和 内模式 三级构成 。 如图 所示:
数据库模 式内模式应用 A 应用 B
外模式 1
应用 C
外模式 2
应用 D 应用 E
外模式 3
外模式 /模式映象内模式 /模式映象数据库系统的三级模式结构
2009年 8月 14日 74
第一章 绪 论
1.3 数据库系统结构一,模式 ( Schema)
模式 ( 逻辑模式 ),是数据库中 全体数据 的逻辑结构和特征的描述,是所有用户的公共数据视图 。
一个数据库只有一个模式 。
定义模式时不仅要 定义数据的逻辑结构,而且要 定义数据之间的联系,定义与数据有关的安全性,完整性要求
2009年 8月 14日 75
第一章 绪 论
1.3 数据库系统结构二,外模式 ( External Schema)
外模式 ( 子模式 Subschema) 或用户模式,是数据库用户能够看见和使用的 局部数据 的逻辑结构和特征的表述,是数据库用户的数据视图,是与某一应用有关的数据的逻辑表示 。
外模式通常是模式的子集,一个数据库可以有多个外模式 。
外模式是保证数据库安全性的一个有力措施 。 每个用户只能看见和访问所对应的外模式中的数据,数据库中的其余数据是不可见的 。
2009年 8月 14日 76
第一章 绪 论
1.3 数据库系统结构三,内模式 ( Internal Schema)
内模式 ( 存储模式 Storage Schema),是数据物理结构和存储方式的描述,是数据在数据库内部的表示方式 。
一个数据库只有一个内模式 。
2009年 8月 14日 77
第一章 绪 论
1.3 数据库系统结构
1.3.3 数据库的二级映象功能与数据独立性
数据库系统的三级模式是对数据的三个抽象级别,它把数据的具体组织留给 DBMS管理,使用户能逻辑地抽象地处理数据,而不必关心数据在计算机中的具体表示方式与存储方式 。
数据库管理系统在三级模式之间提供了两层映象:
外模式 /模式映象模式 /内模式映象
两层映象保证了数据库系统中的数据能够具有较高的逻辑独立性和物理独立性 。
2009年 8月 14日 78
第一章 绪 论
1.3 数据库系统结构一,外模式 /模式映象
对应于同一个模式可以有多个外模式 。
对于每一个外模式,数据库系统都有一个外模式 /模式映象,它定义了该外模式与模式之间的对应关系 。
当模式改变时,由数据库管理员对各个 外模式 /
模式 的映象作相应改变,可以使外模式保持不变 。 从而应用程序不必修改,保证了数据与程序的逻辑独立性,简称 数据的逻辑独立性 。
2009年 8月 14日 79
第一章 绪 论
1.3 数据库系统结构二,模式 /内模式映象
模式 /内模式映象是唯一的,它定义了数据库全局逻辑结构与存储结构之间的对应关系 。
数据库的存储结构改变时,由数据库管理员对各个 模式 /内模式 的映象作相应改变,可以使模式保持不变 。 从而应用程序不必修改,保证了数据与程序的物理独立性,简称 数据的物理独立性 。
2009年 8月 14日 80
第一章 绪 论
1.3 数据库系统结构
数据库的三级模式结构中,数据库模式即全局逻辑结构模式是数据库的中心与关键,独立于数据库的其他层次 。 因此,设计数据库模式结构时,首先确定逻辑模式 。
内模式依赖于逻辑结构模式,独立于外模式,也独立于具体的存储形式 。
外模式面向具体的应用程序,定义在逻辑模式之上,
独立于内模式和存储设备 。
特定的应用程序在外模式描述的数据结构上编制依赖于特定的外模式,独立于模式和内模式 。
2009年 8月 14日 81
第一章 绪 论
1.4 数据库系统的组成数据库系统的组成部分有:
– 硬件平台及数据库
– 软件
– 人员
2009年 8月 14日 82
第一章 绪 论
1.4 数据库系统的组成
一,硬件平台及数据库
( 1) 要有足够大的内存,存放操作系统,
DBMS的核心模块,数据缓冲区和应用程序 。
( 2) 要有足够大的硬盘等直接存取设备,
存放数据库,有足够的磁盘作数据备份;
( 3) 系统有较高的通道能力,以提高数据传送率 。
2009年 8月 14日 83
第一章 绪 论
1.4 数据库系统的组成
二,软件
( 1) DBMS。 DBMS是为数据库的建立,使用和维护配置的软件 。
( 2) 支持 DBMS运行的操作系统 。
( 3) 具有与数据库接口的高级语言及其编译系统,便于开发应用程序 。
( 4) 以 DBMS为核心的 应用开发工具 。
( 5) 为特定应用环境开发的 数据库应用系统 。
2009年 8月 14日 84
第一章 绪 论
1.4 数据库系统的组成三,人员开发,管理和使用数据库系统的人员主要有:数据库管理员 ( DBA),系统分析员,数据库设计人员,应用程序员和最终用户 。用户 应用系统
DBMS
OS
数据表示外模式模 式内模式
DB
DBA,系统分析员图 1.30 各种人员的数据视图应用程序员软件系统层次数据抽象级别
2009年 8月 14日 85
第一章 绪 论
1.5 数据库技术的研究领域有三方面:
一,数据库管理系统软件的研制二,数据库设计三,数据库理论
2009年 8月 14日 86
1.6 小结
数据库的基本概念;
数据库系统的优点:
数据模型:组成要素
概念模型,E-R图
关系模型,非关系模型:
数据库系统的三级模式及其两层映象:
数据库系统的组成,尤其是 DBA: