收藏 分享(赏)

数据库原理与应用教程与实训(Access版.ppt

上传人:dreamzhangning 文档编号:2259131 上传时间:2018-09-08 格式:PPT 页数:71 大小:1.42MB
下载 相关 举报
数据库原理与应用教程与实训(Access版.ppt_第1页
第1页 / 共71页
数据库原理与应用教程与实训(Access版.ppt_第2页
第2页 / 共71页
数据库原理与应用教程与实训(Access版.ppt_第3页
第3页 / 共71页
数据库原理与应用教程与实训(Access版.ppt_第4页
第4页 / 共71页
数据库原理与应用教程与实训(Access版.ppt_第5页
第5页 / 共71页
点击查看更多>>
资源描述

1、,数据库原理与应用教程与实训(Access版),第一章 数据库系统概述 第二章 Access的开发环境 第三章 创建Access数据库和表 第四章 Access查询及其应用 第五章 窗体 第六章 Access报表和数据访问页 第七章 Access宏的使用 第八章 VBA编程 第九章 数据安全 第十章 数据库应用系统开发,本书章节,第1章 数据库系统概述,1.1 基本概念 1.2 数据模型 1.3 关系数据库及其特点 1.4 数据库设计基础,本章教学目的,介绍有关数据库的基本概念和基本理论,重点介绍关系数据库的理论,使读者能够获得基本的数据库应用系统开发观念,掌握数据库设计基本原则和基本步骤,从

2、而能够随着本书的深入讲解,逐步掌握应用Access 开发自己需要的小型数据库应用系统。,本章教学重点,1、理解数据库的基本概念和基础理论。 2、理解数据模型的基本概念,重点掌握关系模型,掌握E-R图的绘制。 3、理解关系理论、关系规范化、关系运算,重点掌握关系数据库的特点。 4、掌握并理解数据库应用系统开发的原则和基本步骤。,1.1 基本概念,1.1.1 信息与数据的关系 信息泛指通过各种方式传播、可被感受的声音、文字、图像、符号等所表示的某一特定事物的消息、情报或知识。 数据是描述客观事物及其活动的并存储在某一种媒体上能够识别的物理符号。信息是以数据的形式表示的,即数据是信息的载体。另一方面

3、,信息是抽象的,不随数据设备所决定的数据形式而改变;而数据的表示方式却具有可选择性。,数据处理技术到目前为止大致经历了不同发展阶段: 1 人工管理阶段 2 文件管理阶段 3 数据库管理阶段 4 分布式数据库管理阶段 5 面向对象数据库管理阶段,1.1.2 数据处理,1.1.3 数据库系统,1. 数据库(DB)是以一定的组织方式将相关的数据组织在一起存放在计算机外存储器上,并能为多个用户共享的与应用程序彼此独立的一组相关数据的集合。 2. 数据库管理系统(简称DBMS) 是为数据库的建立、使用和维护而配置的软件,它提供了安全性和完整性等统一控制机制,方便用户管理和存取大量的数据资源。 3应用程序

4、 是指系统开发人员利用数据库管理系统资源开发出来的,面向某一类信息处理问题而建立的软件。 4.数据库(应用)系统(DBS) 它由计算机硬件、DBMS、DB、应用程序、用户等组成的应用系统。,数据库系统层次示意图,1.2 数据模型,1.2.1 数据处理的三个世界 1.现实世界 2.信息世界 3.数据世界 从现实世界、信息世界到数据世界是一个认识的过程,也是抽象和映射的过程,设计数据库也要经历类似的过程,包括用户要求分析、概念结构设计、逻辑结构设计和物理结构设计四个阶段 。 概念结构设计是根据用户需求设计的数据库模型,所以称它为概念模型。概念模型可用实体联系模型(E-R模型)表示。 逻辑结构设计是

5、将概念模型转换成某种数据库管理系统(DBMS)支持的数据模型。 物理结构设计是为数据模型在设备上选定合适的存储结构和存储方法,以获得数据库的最佳存取效率。,1.2.2 实体间的联系,实体(Entity):是信息世界中描述客观事物的概念。 属性:指实体具有的某种特性。属性用来描述一个实体。 联系:事物之间的联系有两种:一种是实体内部的联系,反映在数据上是记录内部即字段间的联系;另一种是实体与实体间的联系,反映在数据上是记录间的联系。尽管实体间的关系很复杂,但经过抽象化后,可把它们归结为三类:一对一联系(简记为1:1)一对多联系(简记为1:n)多对多联系(简记为m:n),实体间的联系可用实体联系模

6、型(E-R)来表示,这种模型直接从现实世界中抽象出实体及实体间联系。,图中用矩形表示实体。实体之间的关系用菱形表示,用无向线把菱形与有关实体连接,在线上标明联系的类型。实体的属性可用椭圆表示,并用无向线把实体与属性联系起来。,例:,E-R模型是对现实世界的一种抽象,它抽取了客观事物中人们所关心的信息、忽略了非本质的细节,并对这些信息进行了精确地描述。E-R图所表示的概念模型与具体的DBMS所支持的数据模型相独立,是各种数据模型的共同基础,因而是抽象描述现实世界的有力工具。,1.2.3数据模型的分类,数据模型是对客观事物及其联系的数据化描述。目前,在实际数据库系统中支持的数据模型主要有以下几种:

7、 1. 层次模型层次数据模型是数据库系统最早使用的一种数据模型,它的数据结构是一棵有向树,其特点是: 有且仅有一个结点无父结点,这个结点为树的根,称为根结点。 其余的结点有且仅有一个父结点。 2. 网状模型网状模型是用网状结构表示实体及其之间联系的一种模型,也称为网络模型。网中的每一个结点代表一个记录型。其特点是: 可以有一个以上结点无父结点。 至少有一个结点有多于一个的父结点。 3. 关系模型关系模型是把数据的逻辑结构归结为满足一定条件的二维表的模型。在关系模型中,每一个关系是一个二维表,用来描述实体与实体之间的联系 。 4. 对象模型,层次模型,网状模型,关系模型,关系模型,关系模型中的关

8、系具有如下性质: 在一个关系中,每一个数据项不可再分,它是最基本的数据单位。 在一个关系中,每一列数据项要具有相同的数据类型。 在一个关系中,不允许有相同的字段名。 在一个关系中,不允许有相同的记录行。 在一个关系中,行和列的次序可以任意调换,不影响它们的信息内容。,关系模型中的主要术语,关系:一个关系就是一张二维表,关系可以用关系模式来描述,其格式为关系名(属性1,属性2,属性n)。 属性(字段):二维表中垂直方向的列称为属性,每一列有一个属性名,是数据库中可以命名的最小逻辑数据单位。 元组(记录):在一个二维表中,水平方向的行称为元组,每一行是一个元组。元组对应存储文件中的一个具体记录。

9、域:属性的取值范围,即不同元组对同一个属性的取值所限定的范围。 主关键字 是指能唯一标识关系中每一个记录的字段或字段集。 外部关键字 是用于连接另一个关系,并且在另一个关系中为主关键字的字段。,将E-R模型转换为关系模型的规则, 每一实体集对应于一个关系模式。实体名作为关系名,实体的属性作为对应关系的属性。 实体间的联系一般对应一个关系,联系名作为对应的关系名,不带有属性的联系可以去掉。 实体和联系中关键字对应的属性在关系模式中仍作为关键字。,1.3 关系数据库及其特点,1.3.1 关系规范化关系规范化理论认为,关系数据库中的每一个关系都需要进行规范化,使之达到一定的规范化程度,从而提高数据的

10、结构化、共享性、一致性和可操作性。根据满足规范条件的不同,可划分为六个等级,分别称为第一范式(1NF),第二范式(2NF),第三范式(3NF),BC范式,第四范式(4NF)和第五范式(5NF)。关系规范化的基本思想是逐步消除数据依赖关系中不合适的部分,从而使依赖于同一个数据模型的数据达到有效的分离。需要特别指出的是,在实际操作中,并不是关系规范的等级越高就越好,通常情况下,只要把关系规范到第三范式标准就可以满足需要。(1)第一范式(1NF)(2)第二范式(2NF)(3)第三范式(3NF),第一范式(1NF),属于第一范式的关系应满足的基本条件是元组中的每一个分量都必须是不可分割的数据项。例如,

11、表1-2所示的关系不符合第一范式,表1-3则是经过规范化处理,去掉了重复项而符合第一范式的关系。,第二范式(2NF),所谓第二范式,指的是这种关系不仅满足第一范式,而且所有非主属性完全依赖于其主关键字。例如表1-4所示的关系虽满足1NF,但不满足2NF . 其主关键字是(学号,课程号),不能只是学号。而如非主属性姓名就是部分依赖于它,解决的方法是将一个非2NF的关系模式分解为多个2NF的关系模式。表1-4 不符合第二范式的学生与课程关系 在本例中,可将表1.4所示关系分解为如下三个关系: 学生关系:学号、姓名、班级; 课程关系:课程号、课程名; 学生选课关系:学号、课程号、成绩; 这些关系都符

12、合2NF要求。,第三范式(3NF),所谓第三范式,指的是这种关系不仅满足第二范式,而且它的任何一个非主属性都不依赖于任何非主关键字。例如表1-5所示的关系属第二范式,但不是第三范式。这里,由于班主任姓名依赖于班级名(班级名唯一确定该班级的班主任姓名),班主任电话又依赖于班主任姓名,因而,班主任电话是传递依赖于班级名。这样的关系同样存在着高度冗余和更新异常问题。表1-5不符合第三范式的班级与班主任关系 消除传递依赖关系的办法,是将原关系分解为如下几个3NF关系: 班级关系:班级名、系部、人数、班主任姓名 班主任关系:班主任姓名、班主任电话 3NF消除了插入、删除异常及数据冗余、修改复杂等问题,已

13、经是比较规范的关系。,1.3.2 关系数据库,关系数据库是若干个依照关系模型设计的若干个关系的集合。一个关系数据库由若干个数据表组成,一个数据表又是由若干个记录组成,而每一个记录是由若干个以字段属性加以分类的数据项组成。关系数据库有以下特点: 关系数据库以面向系统的方式组织数据,从而使数据库具有较少的数据冗余。关系数据库具有高度的数据和程序的相对独立性,从而使应用程序与数据的逻辑结构和数据的物理存储方式无关。关系数据库中的数据具有较高的数据共享性。关系数据库具有较好的数据一致性,便于统一管理和控制。关系数据库具有较灵活和方便的数据更新能力,便于扩充。,1.3.3 关系运算,(1)传统的集合运算

14、并:两个相同结构关系的并是由属于这两个关系的元组组成的集合。差:设有两个相同结构的关系R和S,R差S的结果是由属于R但不属于S的元组组成的集合,即差运算的结果是从R中去掉S中也有的元组。 交:两个具有相同结构的关系R和S,它们的交是既属于R又属于S的元组组成的集合。交运算的结果是R和S的共同元组。,1.3.3 关系运算,(2)专门的关系运算选择:从关系中找出满足给定条件的元组的操作就称为选择。 投影:从关系模式中指定若干个属性组成新的关系称为投影。 连接:连接是关系的横向结合,连接运算将两个关系模式拼接成一个更宽的关系模式,生成的新关系中包含满足连接条件的元组。自然连接:在连接运算中,按照字段

15、值对应相等为条件进行的连接操作称为等值联接。,关系代数,关系代数是一种抽象的查询语言,通过对关系的运算来表达查询。关系代数的运算对象是关系,运算结果也是关系。,1 普通的集合运算并、交、差2 删除一部分关系的运算选择运算“”会删除某些行 投影运算“”会删除某些列,关系代数运算可以分为四类:,3 合并两个关系的运算“笛卡儿积”运算把两个关系的元组以所有可能的方式组合起来.“连接”运算有选择地从两个关系取 出元组组合在一起 4 改名运算不改变关系的元组,只改变关系的模式:改变属性的名字或者关系本身的名字,关系的集合运算,三种最普通的集合运算:并、交和差:RS,R和S的并,它是R中的元素和S中的元素

16、共同组成的集合。RS,R和S的交,它是既出现在R中又出现在S中的元素组成的集合。RS,R和S的差,它是只在R中出现,不在S中出现的元素组成的集合。,要想对两个关系R和S进行上述运算,R和S必须满足如下条件: l. R和S的模式具有相同的属性集2. 在对R和S进行集合运算之前, 要对R和S的属性列进行排序,保 证两个关系的属性顺序相同,关系R,关系S,并集RS:,交集RS:,差集RS:,投影,投影运算符是,该运算作用于关系R将产生一个新关系S,S只具有R的某几个属性列。投影运算的一般表达式如下:S = A1, A2, , An (R)S是投影运算产生的新关系,它只具有R的属性A1, A2, ,

17、An所对应的列。,现在考虑一下学生关系Student,它的当前实例如下:,StudentNo, StudentName(Student):,选择,选择运算符是,该运算符作用于关系R也将产生一个新关系S,S的元组集合是R的一个满足某条件C的子集。选择运算的一般表达式为:S = C(R)S的模式与R的模式完全相同。C是我们所熟悉的条件表达式。,仍然用上面的例子,那么作如下运算:Age 18(Student) 应该是:,查询计算机系年龄大于18的学生资料,可以用如下表达式: Age 18 AND Dept = “计算机”(Student),笛卡尔积,两个关系R和S的笛卡尔积记作RS,它的关系模式是R

18、和S的模式的并集。RS是把R和S的元组以所有可能的方式组合起来,因此,RS拥有的元组数量应该是R的元组数与S的元组数的乘积。,假设关系R有两个属性,分别是A和B;关系S有三个属性,分别是B、C和D。R的当前实例有两个元组,S的当前实例有三个元组:,关系R,关系S,在关系RS中,关系模式应有五个属性:A、R.B、S.B、C和D,RS有六个元组:,自然连接,两个关系R和S的自然连接,记作R S,得到的关系模式是R和S模式的并集。R S的元组是:假设A1, A2 , , An是R和S的模式中的公共属性,那么如果R的元组r和S的元组s在这些属性上取值都相同,r和s组合而成的元组就归入R S中。,例如,

19、对上例中的两个关系R和S,它们的自然连接应该是:,连接,两个关系R和S基于条件C的连接用R c S表示,它是这样得到的:先作R和S的笛卡尔积,然后从RS的元组中选择满足条件C的元组集合。,R R.BS.B S,其结果应该是:,改 名,运算S ( A1, A2, , An )(R)用来把关系R改名为关系S,同时把关系S的属性从左至右依次命名为A1, A2, , An。 假如我们只想改变关系名,不想改变关系模式中的属性名,那么用如下形式S(R),将S的B属性改为X属性:S ( X, C, D )(S)这样,改名后的笛卡尔积R S ( X, C, D )(S),其结果如下图所示:,复合运算:假定我们

20、现在想查询计算机系年龄大于18岁的学生的学号和姓名: StudentNo, StudentName (Age 18 AND Dept = “计算机” (Student)),假设学生选课表SC如下所示:,查询成绩超过80分的学生姓名(只要有一门课的成绩超过80分即可),可用如下表达式: StudentName(Score80(Student SC)),1.4 数据库设计基础,1.4.1 数据库设计的基本原则 关系数据库的设计应遵循多表少字段原则避免在表之间出现重复字段表中的字段应是原始数据和基本数据元素 表与表之间的联系应通过相同的主关键字建立,1.4.2 数据库设计的基本步骤,数据库的设计一般

21、分为四步:需求分析概念设计逻辑设计物理设计,需求分析首先必须确认数据库的用户和用途。由于数据库是一个单位的模拟,数据库设计者必须对一个单位的基本情况有所了解。收集和分析这些资料的过程称为需求分析。,概念设计用概念数据模型,例如E-R模型,表示数据及其相互间的联系,产生反映用户信息需求和处理需求的数据库概念模式。数据库概念模式是独立于任何数据库管理系统、面向现实世界的数据模型。,逻辑设计在逻辑设计阶段,将第二步所得到的数据库概念模式,转换成以DBMS的逻辑数据模型表示的逻辑模式。,物理设计根据数据库的逻辑和概念模式、DBMS及计算机系统所提供的功能和施加的限制,设计数据库文件的物理存储结构、各种

22、存取路径。,在不同的设计阶段将形成数据库的三层模式。1)需求分析阶段,综合用户应用需求;2)概念设计阶段,形成独立于数据库管理系统DBMS的概念模式;3)逻辑设计阶段,将概念模式(可用E-R图描述)转换成DBMS支持的数据模型(如关系模型),形成数据库的逻辑模式;,4)据用户处理的要求和安全性的考虑,在基本表的基础上建立必要的视图,形成数据库的外模式;5)物理设计阶段,根据DBMS的特点和处理的需要,选择存储结构,建立索引,形成数据库的内模式。,数据库的设计阶段与数据库的模式结构之间的联系如图所示。,应用1,应用需求,应用n,应用需求,概念模式,逻辑模式,内模式,应用1,应用n,外模式,外模式

23、,综合,转换,映象,映象,1.数据库管理技术的发展经历了哪几个阶段? 2.数据库中数据模型有哪几类?它们的主要特征是什么? 3.什么是关系数据库?其特点是什么? 4.数据库设计的基本步骤? 5.E-R图举例说明学生管理系统中,实体型之间具有一对一、一对多和多对多等不同的联系。 6.在著书工作中,一位作者可以编写多本图书,一本书也可由多位作者合写。设作者的属性有:作者号、姓名、单位、电话;书的属性有:书号、书名、出版社、日期。试画出其E-R图,并将这个E-R图转换为关系模式。,课后作业,二叉树的遍历概念,遍历概念所谓遍历(Traversal)是指沿着某条搜索路线,依次对树中每个结点均做一次且仅做

24、一次访问。访问结点所做的操作依赖于具体的应用问题。遍历是二叉树上最重要的运算之一,是二叉树上进行其它运算之基础。遍历方案1遍历方案从二叉树的递归定义可知,一棵非空的二叉树由根结点及左、右子树这三个基本部分组成。因此,在任一给定结点上,可以按某种次序执行三个操作:(1)访问结点本身(N),(2)遍历该结点的左子树(L),(3)遍历该结点的右子树(R)。 以上三种操作有六种执行次序:NLR、LNR、LRN、NRL、RNL、RLN。注意:前三种次序与后三种次序对称,故只讨论先左后右的前三种次序。,三种遍历的命名,根据访问结点操作发生位置命名: NLR:前序遍历(PreorderTraversal亦称

25、(先序遍历) 访问结点的操作发生在遍历其左右子树之前。 LNR:中序遍历(InorderTraversal) 访问结点的操作发生在遍历其左右子树之中(间)。 LRN:后序遍历(PostorderTraversal) 访问结点的操作发生在遍历其左右子树之后。 注意: 由于被访问的结点必是某子树的根,所以N(Node)、L(Left subtree)和R(Right subtree)又可解释为根、根的左子树和根的右子树。NLR、LNR和LRN分别又称为先根遍历、中根遍历和后根遍历。,遍历算法,1中序遍历的递归算法定义: 若二叉树非空,则依次执行如下操作: (1)遍历左子树; (2)访问根结点; (

26、3)遍历右子树。 2先序遍历的递归算法定义: 若二叉树非空,则依次执行如下操作: (1) 访问根结点; (2) 遍历左子树; (3) 遍历右子树。 3后序遍历得递归算法定义: 若二叉树非空,则依次执行如下操作: (1)遍历左子树; (2)遍历右子树; (3)访问根结点。,遍历序列,1遍历二叉树的执行踪迹 三种递归遍历算法的搜索路线相同(如下图虚线所示)。 具体线路为: 从根结点出发,逆时针沿着二叉树外缘移动,对每个结点均途径三次,最后回到根结点。,遍历序列,(1) 中序序列 中序遍历二叉树时,对结点的访问次序为中序序列 【例】中序遍历上图所示的二叉树时,得到的中序序列为: D B A E C

27、F (2) 先序序列 先序遍历二叉树时,对结点的访问次序为先序序列 【例】先序遍历上图所示的二叉树时,得到的先序序列为: A B D C E F (3) 后序序列 后序遍历二叉树时,对结点的访问次序为后序序列 【例】后序遍历上图所示的二叉树时,得到的后序序列为: D B E F C A 注意: (1) 在搜索路线中,若访问结点均是第一次经过结点时进行的,则是前序遍历;若访问结点均是在第二次(或第三次)经过结点时进行的,则是中序遍历(或后序遍历)。只要将搜索路线上所有在第一次、第二次和第三次经过的结点分别列表,即可分别得到该二叉树的前序序列、中序序列和后序序列。 (2) 上述三种序列都是线性序列,有且仅有一个开始结点和一个终端结点,其余结点都有且仅有一个前趋结点和一个后继结点。为了区别于树形结构中前趋(即双亲)结点和后继(即孩子)结点的概念,对上述三种线性序列,要在某结点的前趋和后继之前冠以其遍历次序名称。 【例】上图所示的二叉树中结点C,其前序前趋结点是D,前序后继结点是E;中序前趋结点是E,中序后继结点是F;后序前趋结点是F,后序后继结点是A。但是就该树的逻辑结构而言,C的前趋结点是A,后继结点是E和F。,

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 网络科技 > 数据库

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报