1
普通高等教育,十一五,国家级规划教材数据库技术及应用陈刚 主编中国水利水电出版社
2
第 1章 数据库系统概述
本章重点内容
数据库技术的基本概念、数据库系统的组成
数据模型的概念及分类
数据库管理系统的概念
3
1.1 问题的提出
1.1 数据库理论及其应用技术
– 数据库理论及其应用技术是计算机学科的一个重要分支,它是在人们运用计算机进行数据处理过程中,
产生的一门有关数据采集、整理、存储、分类、排序、检索、维护、加工、统计和传输等一系列操作过程的知识和技术。
– 数据库技术是计算机科学中最活跃、应用最广泛的分支之一,也是近年得到广泛应用和快速发展的领域。
4
1.1 问题的提出
1.1.2 数据库应用实例分析
教学案例:发票管理系统
发票样本:
5
1.1 问题的提出
发票管理系统的软件设计人员和用户的沟通过程用户:我要管理我的销售发票,软件可以开具新发票,并打印在已经 由 税务部门印好的发票上。
软件设计人员:需要你提供发票的样本格式,提供你的发票开具过程,提供你的发票管理制度。
用户:给设计人员发票原始样张,发票开具流程为,客户购买商品,输入收费名目(要求能够从计算机中选择),输入数量,软件自动根据收费项目得到单价,并计算出金额,转换成人民币大写。
软件设计人员:对于发票的收费项目是不是固定有一个对应的收费单价?
发票开错了怎么办?数据库中是否保留错了的发票数据?
用户:发票收费项目的收费单价相对固定,但是可以调整的;发票如果开错了并打印出来了,那么打印的发票作废,同时计算机中的数据也不能丢失,
标记为作废。
软件设计人员:发票的安全性问题那?发票的数据都需要进行什么样的报表输出?
用户:发票由专人开具,每张发票有一个唯一的发票号,在右上角印刷好,
每张发票右下角要打印上开票人的姓名;软件可以对当前的发票按时间进行统计,并能够打印出统计表和转成 Excel l 文件输出。
6
1.2 基本概念
1.2.1 信息与数据
1,信息
信息 是现实世界中各种事物的存在方式、运动形态以及它们之间的相互联系等诸要素在人脑中的反映,通过人脑的抽象后形成概念。
2,数据
数据 一般是指信息的一种符号化表示方法,就是说用一定的符号表示信息,而采用什么符号,完全是人为规定。所以数据的概念包括两个方面含义:一是数据的内容是信息,二是数据的表现形式是符号。
7
3,信息与数据的关系
数据是承载信息的物理符号或称之为载体,而信息是数据的内涵 。
二者的区别是:数据可以表示信息,但不是任何数据都能表示信息,同一数据也可以有不同的解释 。 信息是抽象的,同一信息可以有不同的数据表示方式 。
1.2.2 数据处理
数据处理是指将数据转换成信息的过程 。
数据 → 处理 → 信息
8
数据处理实例
人们有时说的,信息处理,,其真正含义应该是为了产生信息而处理数据。例如,学生的,出生日期,是有生以来不可改变的基本特征之一,属于原始数据,
而,年龄,是当年与出生日期相减而得到的数字,具有相对性,可视为二次数据。同样道理,,参加工作时间,,产品的,购置日期,是职工和产品的原始数据,工龄、产品的报废日期则是经过简单计算得到的结果。
数据处理任务的矛盾焦点不是计算,而是把数据管理好。
数据管理是指:数据的收集、整理、组织、存储、查询、维护和传送等各种操作,是数据处理的基本环节
,是任何数据处理任务必有的共性部分
9
1.3 数据库技术的发展
1.3.1 数据库技术发展的阶段划分
1,人工管理阶段
( 1)人工管理阶段的背景
20世纪 50年代中期以前
( 2)人工管理阶段的特点:
1)数据不保存
2)应用程序管理数据
3)数据不能共享
4)数据不具有独立性
10
( 3) 人工管理阶段的程序与数据的关系程序 2 数据 2
程序 1 数据 1
11
2,文件系统阶段
( 1) 文件系统阶段的背景
20世纪 50年代后期至 60年代中期
在数据文件中常涉及下列术语:
数据项,描述事物性质的最小单位 。
记录,若干数据项的集合,一个记录表达一个具体事物 。
文件,若干记录的集合 。
( 2) 文件系统阶段的特点:
1) 数据可以长期保存
2) 文件系统管理数据
3) 数据具有较低的共享性差,冗余度大
4) 数据独立性差
12
( 3) 文件系统阶段程序与数据的关系文件管理系 统程序 1
程序 2
程序 3
文件 1
文件 2
文件 3
13
3,数据库系统阶段
( 1) 数据库系统阶段的背景
从 20世纪 60年代后期
( 2) 数据库系统阶段的特点:
1) 数据结构化
是数据库系统与文件系统的本质区别 。 例:
学生人事记录 。 数据面向整个系统 。
14
2) 数据共享性高,冗余度低,易扩充
3) 数据独立性高
物理数据独立性:指用户的应用程序与存储在磁盘上的数据库数据是相互独立的 。 数据在磁盘上的数据库存储是由
DBMS管理的 。
逻辑数据独立性:指用户的应用程序与数据库的逻辑结构是相互独立的 。
4)数据由 DBMS统一管理和控制
15
3.数据库系统阶段程序与数据的关系数据库管理系统应用 1
应用 2
应用 3
数据库
16
( 4) 具有数据控制功能
数据 完整性 控制:是指存储数据的正确性,有效性,用以将数据控制在有效的范围内 。
数据 安全性 控制:是保护数据不被非法使用,从而造成数据的泄密和破坏 。
并发 控制:对多用户的并发操作加以控制和协调 。
数据库 恢复,将数据库从错误状态恢复到某一已知的正确转换 。
( 5) 数据库的概念
数据库 是以一定组织方式长期存储在计算机内的,独立于应用并可被多用户,多应用程序共享的数据集合 。
1.3.2 现代数据库发展阶段
20世纪 80年代以来,数据库技术得到了极大的发展。
17
1.4 数据库系统的组成与结构
1.4.1 数据库系统的组成
数据库系统是指引进数据库技术后的计算机系统。数据库系统一般由支持数据库运行的软硬件、数据库、数据库管理系统、数据库管理员和用户等部分组成的。
硬件操作系统数据库管理系统数据库应用系统 用户数据库管理员
18
1,硬件与软件
( 1) 硬件,( 2) 软件,( 3) 应用程序
2,数据库
数据库是长期存贮在计算机内有组织的大量的共享数据集合 。
它可以是各种用户互不影响,具有最小冗余度和较高的数据独立性 。
3,数据库管理员
大型数据库通常由专业人员设计,还要有专职的数据库管理员( DBA,DataBase Administrator) 进行管理。
4,用户
数据库系统的用户分为以下两类:
最终用户:分为:偶然用户,简单用户和复杂用户 。
专业用户:这类用户主要是应用系统开发人员。
19
1.4.2 数据库系统结构
从数据库管理系统的角度,数据库系统通常采用三级模式结构,这是数据库管理系统内部的系统结构 。 从数据库最终用户的角度看,数据库结构分为集中式,分布式,客户 /服务器和并行结构等 。
美国国家标准委员会( ANSI) 所属的标准计划和要求委员会( SPARC,Standards Planning And
Requirements Committee) 在 1975年公布了关于数据库标准报告,提出了数据库的三级组织结构,
称为 SPARC分级结构。
20
应用程序 1 应用程序 2 应用程序 2
外模式 1 外模式 2
模 式内模式物理数据库外模式 / 模式映射模式 / 内模式映射外模式(用户级数据库)
模 式(概念级数据库)
内模式(物理级数据库)
操作系统
DBMS
21
1,内模式
内模式也称为存储模式,它是数据库在物理存储器上具体实现的描述,是数据在数据库内部的表示方法,也是数据物理结构和存储方式的描述 。 一个数据库只有一个内模式 。
2,模式
模式也称为逻辑模式或概念模式,是对数据库中全体数据的逻辑结构和特征的描述,是数据库系统模式结构的中间层 。 一个数据库只有一个模式 。
模式是数据项值的框架。数据库系统模式通常还包含有访问控制、保密定义、完整性检查等方面的内容。
22
3,外模式
外模式也称为子模式或用户模式,它是数据和用户能够看见和使用的局部数据的逻辑结构和特征的描述,是数据和用户的数据视图,是与某一应用有关的数据的逻辑表示 。
外模式一般是模式的子集 。 一个模式可以有多个外模式 。 一个应用程序只能使用一个外模式 。
外模式是保证数据库安全性的一个有力措施。
23
4,模式之间的映射
( 1),外模式 /模式,之间的映射
这种映射将用户数据库与概念数据库联系起来;实现了数据与程序的逻辑独立性,
简称数据的逻辑独立性 。
( 2),模式 /内模式,之间的映射
这种映射把概念数据库与物理数据库联系起来。模式与内模式的映射使全局逻辑数据独立于物理数据,保证了数据与程序的物理独立性,简称数据的物理独立性。
24
应用程序 1 应用程序 2 应用程序 2
外模式 1 外模式 2
模 式内模式物理数据库外模式 / 模式映射模式 / 内模式映射外模式(用户级数据库)
模 式(概念级数据库)
内模式(物理级数据库)
操作系统
DBMS
25
1.5 数据模型
1.5.1 数据模型的概念
1.数据模型的分类
一种类型是概念模型,也称为信息模型,
它是按照用户的观点进行数据信息建模,
主要用于数据库的设计。另一种模型是数据模型,这种模型是按计算机系统的观点对数据建模,主要用于 DBMS的设计。
26
27
2,数据模型的组成
( 1) 数据结构
数据结构是所研究对象类型的集合,这些对象组成数据库 。 按照数据结构类型的不同,
将数据模型划分为层次模型,网状模型和关系模型 。
( 2) 数据操纵
数据操纵是指对数据库中各种对象实例的操作 。
( 3) 数据的完整性约束
数据的完整性约束是指在给定的数据模型中,
数据及其数据关联所遵守的一组规则。用以保证数据库中数据的正确性、一致性。
28
1.5.2 概念模型
概念模型也称为,信息模型,。 信息模型就是人们为正确直观地反映客观事物及其联系,对所研究的信息世界 建立的一个抽象的模型。是现实世界到信息世界的第一层抽象,是数据库设计人员和用户之间进行交流的语言。
29
1,概念模型的名词术语
( 1) 实体 ( Entity),客观存在并可相互区别的事物称为实体 。 实体既可以是实际的事物,也可以是抽象的概念或联系 。
( 2) 属性 ( Attribute),属性就是实体所具有的特性,
一个实体可以由若干个属性描述 。
( 3) 域 ( Domain),属性的取值范围称为该属性的域 。
( 4) 实体集 ( Entity Set),具有相同属性的实体的集合称为实体集 。
( 5) 键 ( Key),键是能够惟一地标识出一个实体集中每一个实体的属性或属性组合,键也被称为关键字或码 。
( 6) 联系 ( Relationship),联系分为两种:一种是实体内部各属性之间的联系,另一种是实体之间的联系 。
30
2,实体之间的联系
( 1) 一对一联系,如果对于实体集 A中的每个实体,
实体集 B中至多有一个 ( 可以没有 ) 与之相对应,反之亦然,则称实体集 A与实体集 B具有一对一联系,记作,1:1。
( 2) 一对多联系,如果对于实体集 A中的每个实体,
实体集 B中有 n个实体 ( n≥0) 与之相对应,反过来,
实体集 B中的每个实体,实体集 A中至多只有一个实体与之联系,则称实体集 A与实体集 B具有一对多联系 。
记作,1:n。
( 3) 多对多联系,如果对于实体集 A中的每个实体,
实体集 B中有 n个实体 ( n≥ 0) 与之相对应,反过来,
实体集 B中的每个实体,实体集 A中也有 m个实体
( m≥ 0) 与之联系,则称实体集 A与实体集 B具有多对多联系,记作,m:n。
31
3,E―R 模型
信息模型有很多种,其中最为流行的一种是由美籍华人陈平山于 1976年提出的实体联系模型 ( Entity-Relationship Model,简称 E―R
模型 ),这种图称为实体 ― 联系图,简称
E― R图 。
E―R 图有三个要素:
实体,用矩形表示实体,矩形内标注实体名称 。
属性,用椭圆表示属性,椭圆内标注属性名称 。
并用连线与实体连接起来 。
实体之间的联系,用菱形表示,菱形内注明联系名称,并用连线将菱形框分别与相关实体相连,并在连线上注明联系类型。
32
(a) 1:1 联系 (b) 1:n 联系 (c)m:n 联系任职班长班级
1
1
所属班级学生
1
n
授课教师课程
m
n
学号 姓名 性别
33
34
1.5.3 层次模型
层次模型按树型结构组织数据,它是以记录类型为结点,以结点间联系为边的有序树,数据结构为有序树或森林。
学院系 处教研室 班级
35
层次模型有以下两个特点,
有且仅有一个结点无父结点,该结点称为根;
其它结点有且仅有一个父结点 。
上面特点就使得用层次模型表示 1:n联系非常简便,但是它不能直接表示 m:n的联系。
1.5.3 层次模型
36
1.5.4 网状模型
网状模型用网状结构表示实体及其之间的联系,网中结点之间的联系不受层次限制,可以任意发生联系。
学生班级 社团
37
1.5.4 网状模型
网状模型有如下几个特点:
一个子结点可以有两个或多个父结点 。
在两个结点之间可以有两种或多种联系 。
可能有回路存在 。
网状模型的优点:
能够更为直接地描述现实世界 。
具有良好的性能,存取效率高 。
主要缺点:结构复杂,不利于扩充;不容易实现。
38
1.5.5 关系模型
关系数据模型是由 IBM公司的 E.F.Codd于
1970年首次提出,以关系数据模型为基础的数据库管理系统,称为关系数据库系统 (RDBMS),目前广泛使用 。
1,关系数据模型的定义
实体和联系均用二维表来表示的数据模型称之为关系数据模型。
39
关系 /
表关系模式记录 / 行属性名 / 列名
fp
关系名 / 表名属性 / 列
40
2,关系数据模型的基本概念
( 1) 关系 ( Relation),
对应于关系模式的一个具体的表称为关系,
又称表 ( Table) 。
( 2) 关系模式 ( Relation Scheme),
二维表的表头那一行称为关系模式,又称表的框架或记录类型,是对关系的描述 。
关系模式可表示为:关系模式名 ( 属性名 1,
属性名 1,...,属性名 n) 的形式 。 例如:学生 ( 学号,姓名,性别,出生日期,籍贯 )
( 3) 记录 ( Record),
关系中的每一行称为关系的一个记录,又称行 ( Row) 或元组 。
41
( 4) 属性 ( Attributes),
关系中的每一列称为关系的一个属性,又称列
( Column) 。 给每一个属性起一个名称即属性名 。
( 5) 变域 ( Domain),
关系中的每一属性所对应的取值范围叫属性的变域,
简称域 。
( 6) 主键 ( Primary Key),
如果关系模式中的某个或某几个属性组成的属性组能惟一地标识对应于该关系模式的关系中的任何一个记录,这样的属性组为该关系模式及其对应关系的主键 。
( 7) 外键 ( Foreign Key),
如果关系 R的某一属性组不是该关系本身的主键,而是另一关系的主键,则称该属性组是 R的外键。
42
3,关系数据模型完整性约束
4,关系数据模型优缺点
关系数据模型具有如下优点:
由于实体和联系都用关系描述,保证了数据操作语言的一致性;
结构简单直观,用户易理解
有严格的设计理论
存取路径对用户透明,从而具有更高的独立性,更好的安全保密性,也简化了程序员的工作和数据库开发建立的工作量 。
主要缺点是:由于存取路径对用户透明,造成查询速度慢,效率低于非关系型数据模型 。
43
本章小结
数据库技术代表着当代的先进的数据管理技术,具有非常广泛的应用。随着计算机的软、硬件技术、网络技术和多媒体技术的发展,数据库技术也在不断前进,
应用的领域不断扩大。
本章首先从实际的客户需要出发,介绍了用户的需求来源、开发设计人员与用户沟通的过程;又介绍了数据库的发展历程。分析了数据库系统的组成与结构,
又进一步提出了数据模型的概念,并介绍了几种常见数据模型。
本章涉及的名词术语较多,它们是进一步学习数据库课程的基础,对于初学者应在理解的基础之上掌握。