数据库原理与应用教程与实训(Access版_第1页
数据库原理与应用教程与实训(Access版_第2页
数据库原理与应用教程与实训(Access版_第3页
数据库原理与应用教程与实训(Access版_第4页
数据库原理与应用教程与实训(Access版_第5页
已阅读5页,还剩66页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、第一章 数据库系统概述第二章 Access的开发环境 第三章 创建Access数据库和表第四章 Access查询及其应用 第五章 窗体第六章 Access报表和数据访问页 第七章 Access宏的使用 第八章 VBA编程 第九章 数据安全第十章 数据库应用系统开发 本章教学目的 介绍有关数据库的基本概念和基本理论,重点介绍关系数据库的理论,使读者能够获得基本的数据库应用系统开发观念,掌握数据库设计基本原则和基本步骤,从而能够随着本书的深入讲解,逐步掌握应用Access 开发自己需要的小型数据库应用系统。本章教学重点1、理解数据库的基本概念和基础理论。2、理解数据模型的基本概念,重点掌握关系模型

2、,掌握E-R图的绘制。3、理解关系理论、关系规范化、关系运算,重点掌握关系数据库的特点。4、掌握并理解数据库应用系统开发的原则和基本步骤。1.1 基本概念 1.1.1 信息与数据的关系 信息泛指通过各种方式传播、可被感受的声音、文字、图像、符号等所表示的某一特定事物的消息、情报或知识。 数据是描述客观事物及其活动的并存储在某一种媒体上能够识别的物理符号。 信息是以数据的形式表示的,即数据是信息的载体。另一方面,信息是抽象的,不随数据设备所决定的数据形式而改变;而数据的表示方式却具有可选择性。 数据处理技术到目前为止大致经历了不同发展阶段:1 人工管理阶段 2 文件管理阶段 3 数据库管理阶段

3、4 分布式数据库管理阶段 5 面向对象数据库管理阶段 1.1.2 数据处理1.1.3 1.1.3 数据库系统数据库系统1. 数据库(DB) 是以一定的组织方式将相关的数据组织在一起存放在计算机外存储器上,并能为多个用户共享的与应用程序彼此独立的一组相关数据的集合。2. 数据库管理系统(简称DBMS)是为数据库的建立、使用和维护而配置的软件,它提供了安全性和完整性等统一控制机制,方便用户管理和存取大量的数据资源。 3应用程序 是指系统开发人员利用数据库管理系统资源开发出来的,面向某一类信息处理问题而建立的软件。4.数据库(应用)系统(DBS)它由计算机硬件、DBMS、DB、应用程序、用户等组成的

4、应用系统。 数据库系统层次示意图 1.2 数据模型 1.2.1 数据处理的三个世界 1.现实世界 2.信息世界 3.数据世界 从现实世界、信息世界到数据世界是一个认识的过程,也是抽象和映射的过程,设计数据库也要经历类似的过程,包括用户要求分析、概念结构设计、逻辑结构设计和物理结构设计四个阶段 。概念结构设计是根据用户需求设计的数据库模型,所以称它为概念模型。概念模型可用实体联系模型(E-R模型)表示。逻辑结构设计是将概念模型转换成某种数据库管理系统(DBMS)支持的数据模型。物理结构设计是为数据模型在设备上选定合适的存储结构和存储方法,以获得数据库的最佳存取效率。 1.2.2 实体间的联系 实

5、体(Entity):是信息世界中描述客观事物的概念。属性:指实体具有的某种特性。属性用来描述一个实体。联系:事物之间的联系有两种:一种是实体内部的联系,反映在数据上是记录内部即字段间的联系;另一种是实体与实体间的联系,反映在数据上是记录间的联系。尽管实体间的关系很复杂,但经过抽象化后,可把它们归结为三类: 一对一联系(简记为1:1) 一对多联系(简记为1:n) 多对多联系(简记为m:n) 实体间的联系可用实体联系模型(E-R)来表示,这种模型直接从现实世界中抽象出实体及实体间联系。 图中用矩形表示实体。实体之间的关系用菱形表示,用无向线把菱形与有关实体连接,在线上标明联系的类型。实体的属性可用

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

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

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

9、同元组对同一个属性的取值所限定的范围。 主关键字 是指能唯一标识关系中每一个记录的字段或字段集。 外部关键字 是用于连接另一个关系,并且在另一个关系中为主关键字的字段。将E-R模型转换为关系模型的规则 每一实体集对应于一个关系模式。实体名作为关系名,实体的属性作为对应关系的属性。 实体间的联系一般对应一个关系,联系名作为对应的关系名,不带有属性的联系可以去掉。 实体和联系中关键字对应的属性在关系模式中仍作为关键字。1.3 关系数据库及其特点 1.3.1 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所示关系分解为如下三个关系:学生关系:学号、姓名、班级;课程关系:课程号、课程名;学生选课关系:学号、课程号、成绩;这些关系都符合2NF要

12、求。 学号姓名班级课程号 课程名成绩990011 刘军计算1班101C语言90第三范式(3NF) 所谓第三范式,指的是这种关系不仅满足第二范式,而且它的任何一个非主属性都不依赖于任何非主关键字。例如表1-5所示的关系属第二范式,但不是第三范式。这里,由于班主任姓名依赖于班级名(班级名唯一确定该班级的班主任姓名),班主任电话又依赖于班主任姓名,因而,班主任电话是传递依赖于班级名。这样的关系同样存在着高度冗余和更新异常问题。 表1-5不符合第三范式的班级与班主任关系 消除传递依赖关系的办法,是将原关系分解为如下几个3NF关系:班级关系:班级名、系部、人数、班主任姓名班主任关系:班主任姓名、班主任电

13、话3NF消除了插入、删除异常及数据冗余、修改复杂等问题,已经是比较规范的关系。 1.3.2 关系数据库关系数据库 关系数据库是若干个依照关系模型设计的若干个关系的集合。一个关系数据库由若干个数据表组成,一个数据表又是由若干个记录组成,而每一个记录是由若干个以字段属性加以分类的数据项组成。关系数据库有以下特点: 关系数据库以面向系统的方式组织数据,从而使数据库具有较少的数据冗余。 关系数据库具有高度的数据和程序的相对独立性,从而使应用程序与数据的逻辑结构和数据的物理存储方式无关。 关系数据库中的数据具有较高的数据共享性。 关系数据库具有较好的数据一致性,便于统一管理和控制。 关系数据库具有较灵活

14、和方便的数据更新能力,便于扩充。1.3.3 1.3.3 关系运算关系运算(1)传统的集合运算 并:两个相同结构关系的并是由属于这两个关系的元组组成的集合。 差:设有两个相同结构的关系R和S,R差S的结果是由属于R但不属于S的元组组成的集合,即差运算的结果是从R中去掉S中也有的元组。 交:两个具有相同结构的关系R和S,它们的交是既属于R又属于S的元组组成的集合。交运算的结果是R和S的共同元组。1.3.3 1.3.3 关系运算关系运算(2)专门的关系运算 选择:从关系中找出满足给定条件的元组的操作就称为选择。 投影:从关系模式中指定若干个属性组成新的关系称为投影。 连接:连接是关系的横向结合,连接

15、运算将两个关系模式拼接成一个更宽的关系模式,生成的新关系中包含满足连接条件的元组。 自然连接:在连接运算中,按照字段值对应相等为条件进行的连接操作称为等值联接。 关系代数关系代数关系代数是一种抽象的查询语言,通关系代数是一种抽象的查询语言,通过对关系的运算来表达查询。过对关系的运算来表达查询。关系代数的运算对象是关系,运算结关系代数的运算对象是关系,运算结果也是关系。果也是关系。 1 1 普通的集合运算普通的集合运算并、交、差并、交、差2 2 删除一部分关系的运算删除一部分关系的运算选择运算选择运算“”会删除某些行会删除某些行投影运算投影运算“”会删除某会删除某些列些列3 3 合并两个关系的运

16、算合并两个关系的运算“笛卡儿积笛卡儿积”运算把两个关系的元组以运算把两个关系的元组以所有可能的方式组合起来所有可能的方式组合起来. .“连接连接”运算有选择地从两个关系取运算有选择地从两个关系取出元组组合在一起出元组组合在一起4 4 改名运算改名运算不改变关系的元组,只改变关系的模式:不改变关系的元组,只改变关系的模式:改变属性的名字或者关系本身的名字改变属性的名字或者关系本身的名字关系的集合运算关系的集合运算 三种最普通的集合运算:并、交和差:三种最普通的集合运算:并、交和差: RSRS,R R和和S S的并,它是的并,它是R R中的元素和中的元素和S S中的元素共同组成的集合。中的元素共同

17、组成的集合。 RSRS,R R和和S S的交,它是既出现在的交,它是既出现在R R中中又出现在又出现在S S中的元素组成的集合。中的元素组成的集合。 RSRS,R R和和S S的差,它是只在的差,它是只在R R中出现,中出现,不在不在S S中出现的元素组成的集合。中出现的元素组成的集合。 要想对两个关系要想对两个关系R R和和S S进行上述运进行上述运算,算,R R和和S S必须满足如下条件:必须满足如下条件: l.l. R R和和S S的模式具有相同的属性集的模式具有相同的属性集2.2. 在对在对R R和和S S进行集合运算之前,进行集合运算之前,要对要对R R和和S S的属性列进行排序,保

18、的属性列进行排序,保证两个关系的属性顺序相同证两个关系的属性顺序相同 StudentNoStudentNameAgeDept990011 李明 19 计算机 900548 高亮亮 20 自动化 StudentNoStudentNameAgeDept990011 李明 19 计算机 990203 方平 18 外语 并集并集RSRS: StudentNoStudentNameAge Dept990011 李明 19 计算机 990548 高亮亮 20 自动化 990203 方平 18 外语 交集交集RSRS: StudentNoStudentNameAge Dept990011 李明李明 19 1

19、9 计算机计算机 差集差集RSRS: StudentNoStudentNameAgeDept900548 高亮亮 20 自动化 投影投影 投影运算符是投影运算符是,该运算作用于,该运算作用于关系关系R R将产生一个新关系将产生一个新关系S S,S S只具有只具有R R的某几个属性列。投影运算的一般表的某几个属性列。投影运算的一般表达式如下:达式如下:S = S = A1, A2, A1, A2, , An , An (R)(R)S S是投影运算产生的新关系,它只是投影运算产生的新关系,它只具有具有R R的属性的属性A1, A2, A1, A2, , An , An所对应所对应的列。的列。 现在

20、考虑一下学生关系现在考虑一下学生关系StudentStudent,它的当前实例如下,它的当前实例如下: :StudentNoStudentNameAge Dept9900011 李明 19 计算机 9900548 高亮亮 20 自动化 9900203 方平 18 外语 StudentNo, StudentName(Student): StudentNo(学号) StudentName(姓名) 9900011 李明 9900548 高亮亮 9900203 方平 选择选择 选择运算符是选择运算符是,该运算符作用于,该运算符作用于关系关系R R也将产生一个新关系也将产生一个新关系S S,S S的元组

21、集的元组集合是合是R R的一个满足某条件的一个满足某条件C C的子集。选择的子集。选择运算的一般表达式为:运算的一般表达式为:S = S = C C(R R)S S的模式与的模式与R R的模式完全相同。的模式完全相同。C C是我们所熟悉的条件表达式。是我们所熟悉的条件表达式。 仍然用上面的例子,那么作如下运算:仍然用上面的例子,那么作如下运算:AgeAge 18 18(StudentStudent) 应该是:应该是: StudentNoStudentName AgeDept990011 李明 19 计算机 900548 高亮亮 20 自动化 查询计算机系年龄大于查询计算机系年龄大于1818的学

22、生资料,的学生资料,可以用如下表达式:可以用如下表达式:AgeAge 18 AND Dept = “ 18 AND Dept = “计算机计算机”(Student)(Student)StudentNoStudentNameAgeDept990011 李明 19 计算机 笛卡尔积笛卡尔积 两个关系两个关系R R和和S S的笛卡尔积记作的笛卡尔积记作RSRS,它的关系模式是,它的关系模式是R R和和S S的的模式模式的并集的并集。RSRS是把是把R R和和S S的的元组元组以所有可能以所有可能的方式组合起来,因此,的方式组合起来,因此,RSRS拥有拥有的元组数量应该是的元组数量应该是R R的元组数

23、与的元组数与S S的的元组数的乘积元组数的乘积。 假设关系假设关系R R有两个属性,分别是有两个属性,分别是A A和和B B;关系;关系S S有三个属性,分别是有三个属性,分别是B B、C C和和D D。R R的当前实例有两个元组,的当前实例有两个元组,S S的当前实例有三个元组:的当前实例有三个元组: ABalbn关系R B C Dfghlxynpx关系S 在关系在关系RSRS中,关系模式应有五个属性:中,关系模式应有五个属性:A A、R.BR.B、S.BS.B、C C和和D D,RSRS有六个元组:有六个元组: AR.BS.BCDalfghallxyalnpxbnfghbnlxybnnpx

24、自然连接自然连接 两个关系两个关系R R和和S S的自然连接,记作的自然连接,记作R SR S,得到的关系模式是,得到的关系模式是R R和和S S模式的并集模式的并集。R SR S的的元组元组是:假设是:假设A1, A1, A2 , A2 , , An , An是是R R和和S S的模式中的的模式中的公公共属性共属性,那么如果,那么如果R R的元组的元组r r和和S S的元的元组组s s在这些属性上在这些属性上取值取值都都相同相同,r r和和s s组合而成的元组就归入组合而成的元组就归入R SR S中。中。 例如,对上例中的两个关系例如,对上例中的两个关系R R和和S S,它们,它们的自然连接

25、应该是:的自然连接应该是: ABCDalxybnpx连接连接 两个关系两个关系R R和和S S基于条件基于条件C C的的连接连接 用用R c SR c S表示,它是这样得到表示,它是这样得到的:先作的:先作R R和和S S的笛卡尔积,然后从的笛卡尔积,然后从R RS S的元组中选择满足条件的元组中选择满足条件C C的元组集合。的元组集合。 R R R.BS.B R.BS.B S S AR.BS.BCDAlfghAlnpxBnfghBnlxy改改 名名 运算运算S S ( A1, A2, ( A1, A2, , An ) , An )(R R)用来把关系)用来把关系R R改名为关系改名为关系S

26、S,同时,同时把关系把关系S S的属性从左至右依次命名为的属性从左至右依次命名为A1, A1, A2, A2, , An , An。 假如我们只想改变关系名,不想改假如我们只想改变关系名,不想改变关系模式中的属性名,那么用如下变关系模式中的属性名,那么用如下形式形式S S(R R) 将将S S的的B B属性改为属性改为X X属性:属性:S S ( X, C, D ) ( X, C, D )(S S)这样,改名后的笛卡尔积这样,改名后的笛卡尔积R R S S ( X, C, D ) ( X, C, D )(S S) 其结果如下图所示:其结果如下图所示: ABXCDalfghallxyalnpxb

27、nfghbnlxybnnpx复合运算:复合运算:假定我们现在想查询计算机系年假定我们现在想查询计算机系年龄大于龄大于1818岁的学生的学号和姓名:岁的学生的学号和姓名: StudentNo, StudentNameStudentNo, StudentName ( ( AgeAge 18 18 AND AND Dept = “Dept = “计算机计算机” ” (StudentStudent)) ) StudentNoStudentName9900011李明李明StudentNoCourseNoScore9900011123489990054856787399005480463909900548

28、123482假设学生选课表SC如下所示:查询成绩超过查询成绩超过8080分的学生姓名(只要有一门分的学生姓名(只要有一门课的成绩超过课的成绩超过8080分即可),可用如下表达式:分即可),可用如下表达式:StudentName(Score80(Student SC))StudentName李明高亮亮1.4 数据库设计基础数据库设计基础1.4.1 数据库设计的基本原则数据库设计的基本原则 关系数据库的设计应遵循多表少字段原则 避免在表之间出现重复字段 表中的字段应是原始数据和基本数据元素 表与表之间的联系应通过相同的主关键字建立1.4.2 1.4.2 数据库设计的基本步骤数据库设计的基本步骤 数

29、据库的设计一般分为四步:数据库的设计一般分为四步:需求分析需求分析概念设计概念设计逻辑设计逻辑设计物理设计物理设计 需求分析需求分析首先必须确认数据库的用户和用途。首先必须确认数据库的用户和用途。由于数据库是一个单位的模拟,数据库由于数据库是一个单位的模拟,数据库设计者必须对一个单位的基本情况有所设计者必须对一个单位的基本情况有所了解。收集和分析这些资料的过程称为了解。收集和分析这些资料的过程称为需求分析。需求分析。 概念设计概念设计用概念数据模型,例如用概念数据模型,例如E-RE-R模型,模型,表示数据及其相互间的联系,产生反表示数据及其相互间的联系,产生反映用户信息需求和处理需求的数据库映

30、用户信息需求和处理需求的数据库概念模式。数据库概念模式是独立于概念模式。数据库概念模式是独立于任何数据库管理系统、面向现实世界任何数据库管理系统、面向现实世界的数据模型。的数据模型。 逻辑设计逻辑设计在逻辑设计阶段,将第二步所在逻辑设计阶段,将第二步所得到的数据库概念模式,转换成得到的数据库概念模式,转换成以以DBMSDBMS的逻辑数据模型表示的逻的逻辑数据模型表示的逻辑模式。辑模式。 物理设计物理设计根据数据库的逻辑和概念模式、根据数据库的逻辑和概念模式、DBMSDBMS及计算机系统所提供的功能和及计算机系统所提供的功能和 施加的限制,设计数据库文件的物施加的限制,设计数据库文件的物 理存储

31、结构、各种存取路径。理存储结构、各种存取路径。在不同的设计阶段将形成数据库的三层模式。在不同的设计阶段将形成数据库的三层模式。1 1)需求分析阶段,综合用户应用需求;)需求分析阶段,综合用户应用需求;2 2)概念设计阶段,形成独立于数据库管理系统)概念设计阶段,形成独立于数据库管理系统DBMSDBMS的概念模式;的概念模式; 3 3)逻辑设计阶段,将概念模式(可用)逻辑设计阶段,将概念模式(可用E-RE-R图描图描述)转换成述)转换成DBMSDBMS支持的数据模型(如关系模支持的数据模型(如关系模型),形成数据库的逻辑模式;型),形成数据库的逻辑模式; 4 4)据用户处理的要求和安全性的)据用

32、户处理的要求和安全性的考虑,在基本表的基础上建立必要考虑,在基本表的基础上建立必要的视图,形成数据库的外模式;的视图,形成数据库的外模式;5 5)物理设计阶段,根据)物理设计阶段,根据DBMSDBMS的特点的特点和处理的需要,选择存储结构,建和处理的需要,选择存储结构,建立索引,形成数据库的内模式。立索引,形成数据库的内模式。 数据库的设计阶段与数据库的模式数据库的设计阶段与数据库的模式结构之间的联系如图所示。结构之间的联系如图所示。 二叉树的遍历概念遍历概念 所谓遍历(Traversal)是指沿着某条搜索路线,依次对树中每个结点均做一次且仅做一次访问。访问结点所做的操作依赖于具体的应用问题。

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

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论