(正用)第一章数据库系统概述.ppt_第1页
(正用)第一章数据库系统概述.ppt_第2页
(正用)第一章数据库系统概述.ppt_第3页
(正用)第一章数据库系统概述.ppt_第4页
(正用)第一章数据库系统概述.ppt_第5页
已阅读5页,还剩66页未读 继续免费阅读

下载本文档

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

文档简介

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,实体间的联系可用实体联系模型(E

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

7、型 层次数据模型是数据库系统最早使用的一种数据模型,它的数据结构是一棵有向树,其特点是: 有且仅有一个结点无父结点,这个结点为树的根,称为根结点。 其余的结点有且仅有一个父结点。 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,属于第一范式的关系应满足的基本条件是元组中的每一个分量都必须是不可分割的数据项。例如,表1-2所

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

12、,第三范式(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, , An所对

17、应的列,现在考虑一下学生关系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和S的模式的并

18、集。 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亦称(先序遍历) 访问结点的操作发生在遍历其左右子树之前。 LNR:中序遍历(InorderTraversal) 访问结点的操作发生在遍历其左右子树之中(间)。 LRN:后序遍历(PostorderTraversal) 访问结点的操作发生在遍历其左右子树之后。 注意: 由于被访问的结点必是某子树的根,所以N(Node)、L(Left subtree)和R(Right subtree)又可解释为根、根的左子树和根的右子树。NLR、LNR和LRN分别又称为先根遍历、中根遍历和后根遍历,遍历算法,1中序遍历的递归算法定义: 若二叉树非空,

温馨提示

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

评论

0/150

提交评论