数据库基础与应用课件.ppt

上传人:豆**** 文档编号:65291560 上传时间:2022-12-04 格式:PPT 页数:251 大小:492.50KB
返回 下载 相关 举报
数据库基础与应用课件.ppt_第1页
第1页 / 共251页
数据库基础与应用课件.ppt_第2页
第2页 / 共251页
点击查看更多>>
资源描述

《数据库基础与应用课件.ppt》由会员分享,可在线阅读,更多相关《数据库基础与应用课件.ppt(251页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、数据库基础与应用课件 Still waters run deep.流静水深流静水深,人静心深人静心深 Where there is life,there is hope。有生命必有希望。有生命必有希望第一章数据库系统概述第一章数据库系统概述n n学习目标学习目标学习目标学习目标n n了解数据处理技术的各个阶段的不同特点;了解数据处理技术的各个阶段的不同特点;n n了解和掌握实体、联系、属性、码等概念的含义,了解和掌握实体、联系、属性、码等概念的含义,以及以及ERER图的应用;图的应用;n n了解数据库设计中的各种逻辑结构模型和特点,了解数据库设计中的各种逻辑结构模型和特点,特别是关系数据模型的

2、特点;特别是关系数据模型的特点;n n了解数据库系统的构成,数据库用户的分类,数了解数据库系统的构成,数据库用户的分类,数据库体系结构,存取数据库中数据的大致工程等据库体系结构,存取数据库中数据的大致工程等内容。内容。1.1数据处理技术发展经历数据处理技术发展经历基本概念:数据:是人们描述客观事务及其活动的抽象符号表示。是人们互相之间进行思想文化交流的工具。是数据库系统研究和处理的对象。通常指用符号记录下来的、可以识别的信息。数据可以是声音、文字、图形、绘画、图像等。基本概念:数据处理:是对数据进行加工的过程,对数据进行的查找、统计、分类、修改、变换等运算都属于加工。数据处理是指从某些已知的数

3、据出发,推导加工出一些新的数据,这些新的数据又表示了新的信息。数据处理手段的发展:n n人工管理n n文件管理n n数据库管理n n分布式数据库管理1.1.1人工管理阶段人工管理阶段人工管理阶段的数据管理有下列特点:人工管理阶段的数据管理有下列特点:数据不保存在计算机内。没有专用的软件对数据进行管理。只有程序(program)的概念,没有文件(file)的概念。数据的组织方式必须由程序员自行设计与安排。数据面向程序。即一组数据对应一个程序。1.1.2文件管理阶段文件管理阶段文件系统阶段的数据管理有以下特点:文件系统阶段的数据管理有以下特点:文件系统阶段的数据管理有以下特点:文件系统阶段的数据管

4、理有以下特点:数据以数据以“文件文件”形式可长期保存在外部存储器的磁盘上。形式可长期保存在外部存储器的磁盘上。数据的逻辑结构与物理结构有了区别,但比较简单。数据的逻辑结构与物理结构有了区别,但比较简单。文件组织已多样化。有索引文件、链接文件和直接存取文文件组织已多样化。有索引文件、链接文件和直接存取文件等。件等。数据不再属于某个特定的程序,可以重复使用,即数据面数据不再属于某个特定的程序,可以重复使用,即数据面向应用。向应用。对数据的操作以记录为单位。对数据的操作以记录为单位。随着数据管理规模的扩大,数据量急剧增加,文件系统显露随着数据管理规模的扩大,数据量急剧增加,文件系统显露随着数据管理规

5、模的扩大,数据量急剧增加,文件系统显露随着数据管理规模的扩大,数据量急剧增加,文件系统显露出三个缺陷:出三个缺陷:出三个缺陷:出三个缺陷:数据冗余(数据冗余(redundancyredundancy)数据不一致(数据不一致(inconsistencyinconsistency)数据联系弱(数据联系弱(poor data relationshippoor data relationship)1.1.3数据库管理阶段数据库管理阶段数据库阶段的数据管理具有以下特点:数据库阶段的数据管理具有以下特点:数据库阶段的数据管理具有以下特点:数据库阶段的数据管理具有以下特点:采用数据模型表示复杂的数据结构。采

6、用数据模型表示复杂的数据结构。数据共享。数据共享。有较高的数据独立性。有较高的数据独立性。增加了系统的灵活性,数据粒度缩小。增加了系统的灵活性,数据粒度缩小。数据库系统为用户提供了方便的用户接口。数据库系统为用户提供了方便的用户接口。数据库管理系统提供以下四方面的数据控制功能:数据库管理系统提供以下四方面的数据控制功能:数据安全性,数据的一致性,数据库的并发控制数据安全性,数据的一致性,数据库的并发控制和数据库的恢复。和数据库的恢复。1.1.4分布式数据库管理阶段分布式数据库管理阶段分布式数据库系统主要有以下特点分布式数据库系统主要有以下特点分布式数据库系统主要有以下特点分布式数据库系统主要有

7、以下特点 数据库的数据物理上分布在各个场地,但逻辑数据库的数据物理上分布在各个场地,但逻辑上是一个整体。上是一个整体。每个场地既可以执行局部应用(访问本地每个场地既可以执行局部应用(访问本地DBDB),),也可以执行全局应用(访问异地也可以执行全局应用(访问异地DBDB)。)。各地的计算机由数据通信网络相联系。本地计各地的计算机由数据通信网络相联系。本地计算机单独不能胜任的处理任务,可以通过通信算机单独不能胜任的处理任务,可以通过通信网络取得其它网络取得其它DBDB和计算机的支持。和计算机的支持。1.2概念数据模型概念数据模型概念数据模型:概念数据模型:是人们对现实世界的认识和抽象,不考虑在计

8、算是人们对现实世界的认识和抽象,不考虑在计算机上的具体实现,也可以说与计算机的具体实现机上的具体实现,也可以说与计算机的具体实现无关,而只考虑数据本身的结构和相互之间的自无关,而只考虑数据本身的结构和相互之间的自然联系。然联系。表示概念数据模型最常用的工具:实体联系(表示概念数据模型最常用的工具:实体联系(Entity Entity RelationshipRelationship)模型,简称)模型,简称ERER模型。由于是以图形方模型。由于是以图形方式表现,又称为实体联系图,简称式表现,又称为实体联系图,简称ERER图。图。1.2.1 ER模型的有关概念模型的有关概念1 1、实体:、实体:、

9、实体:、实体:是现实世界中存在的可以相互区别的事务是现实世界中存在的可以相互区别的事务或活动的抽象(数据描述)。通常,直接称事务或活动的抽象(数据描述)。通常,直接称事务或活动为实体。例如:一本书。或活动为实体。例如:一本书。实体集:实体集:实体集:实体集:是指同一个实体的集合。例如:一个是指同一个实体的集合。例如:一个班级的学生。班级的学生。实体型:实体型:实体型:实体型:是对同类实体的共有特征的抽象定义。是对同类实体的共有特征的抽象定义。例如:人的共有特征为姓名、年龄、籍贯、职业、例如:人的共有特征为姓名、年龄、籍贯、职业、学历等由此可以定义学历等由此可以定义 人人 这个实体型。这个实体型

10、。实体值:实体值:实体值:实体值:就是符合实体型定义的每个具体实体。就是符合实体型定义的每个具体实体。例如:由上面实体型定义张三、例如:由上面实体型定义张三、3535、江苏、教、江苏、教师、研究生师、研究生 实体、实体集、实体型、实体值在以后的叙述中实体、实体集、实体型、实体值在以后的叙述中实体、实体集、实体型、实体值在以后的叙述中实体、实体集、实体型、实体值在以后的叙述中均用均用均用均用 实体实体实体实体 一词代替。一词代替。一词代替。一词代替。2、联系:、联系:是实体之间的相互联系,它通常表示一种活动。例如:在一张订单中涉及商品、顾客和销售员之间的关系,即某个客户从某个销售员手里订购某件商

11、品。联系集:联系集:是同一类联系的集合。例如:一次展销会上的全部订单。联系型:联系型:是对同类联系的共有特征的抽象定义。联系、联系集、联系型在本课程中也将由联系、联系集、联系型在本课程中也将由联系联系一词代替。一词代替。3、属性:、属性:是描述实体或联系中的一种特征,一个实体或联系通常具有多个特征,需要多个相应属性来描述。例如:描述人需要使用姓名、年龄、籍贯、职业、学历、住址、电话等属性。码:码:或称键是实体间互相区别的一种唯一标识。例如:人的身份证号码。主属性与主属性与非主属性非主属性 域:域:是实体中相应属性的取值范围。例如:性别E男,女4 4、联系分类:、联系分类:、联系分类:、联系分类

12、:是讨论两实体型之间的联系情况。是讨论两实体型之间的联系情况。按照一个实体型中的实体个数与另一个实体型中按照一个实体型中的实体个数与另一个实体型中的实体个数的对应关系,可分类为:的实体个数的对应关系,可分类为:1 1对对1 1联系、联系、1 1对多联系、多对多联系。对多联系、多对多联系。(1 1)1 1对对1 1联系联系 若一个实体型中的一个实体至多与另一个实体型若一个实体型中的一个实体至多与另一个实体型中的一个实体发生关系,同时另一个实体型中的中的一个实体发生关系,同时另一个实体型中的一个实体至多与该实体型中的一个实体发生关系,一个实体至多与该实体型中的一个实体发生关系,则这两个实体型之间的

13、联系被定义为则这两个实体型之间的联系被定义为1 1对对1 1联系,联系,简记为简记为1:11:1。例如:一个学生与其学生证号码。例如:一个学生与其学生证号码。(2 2)1 1对多联系对多联系 若一个实体型中的一个实体与另一个实体型中的任若一个实体型中的一个实体与另一个实体型中的任意多个实体(含意多个实体(含0 0个)发生关系,而另一个实体型个)发生关系,而另一个实体型中的一个实体至多与该实体型中的一个实体发生中的一个实体至多与该实体型中的一个实体发生关系,则这两个实体型之间的联系被定义为关系,则这两个实体型之间的联系被定义为1 1对多对多联系,简记为联系,简记为1:n1:n。例如:一个班级对多

14、个学生。例如:一个班级对多个学生。(3 3)多对多联系)多对多联系 若一个实体型中的一个实体与另一个实体型中的若一个实体型中的一个实体与另一个实体型中的任意多个实体(含任意多个实体(含0 0个)发生关系,而另一个实体个)发生关系,而另一个实体与该实体型中的任意多个实体(含与该实体型中的任意多个实体(含0 0个)发生关系,个)发生关系,则这两个实体型之间的联系被定义为多对多联系,则这两个实体型之间的联系被定义为多对多联系,简记为简记为m:nm:n。例如:一个学生选修多门课程;一。例如:一个学生选修多门课程;一门课程被多个学生选修。门课程被多个学生选修。1.2.2 ER模型模型 ER模型是人们描述

15、数据及其联系的概念数据模型,是数据库应用系统设计人员和普通非计算机专业用户进行数据建模和沟通与交流的有力工具。特点:直观易懂、简单易行。进行数据库应用系统设计时,首先要根据用户需要建立合理的ER模型,然后再建立与计算机管理系统相匹配的逻辑数据模型和物理数据模型,最后才能在计算机系统上安装、调试和运行数据库。1、ER模型中的基本构件 矩形实体,框内标注实体名 菱形联系,框内标注联系名 椭圆型属性,框内标注属性名 连线表示实体、联系与属性之间的所属关系或实体与联系之间的相连关系。2、各种联系的ER图表示1对1 1 11 1实体实体实体实体1 1联系联系联系联系实体实体实体实体2 21对n 1 n1

16、 nmm对对对对n n mm n n3、使用ER模型举例 book page16 实体实体实体实体1 1联系联系联系联系实体实体实体实体2 2实体实体实体实体1 1联系联系联系联系实体实体实体实体2 21.3逻辑数据模型逻辑数据模型 数据库的逻辑数据模型又称为结构数据模型,或直接简称为数据模型,相继出现:层次、网状、关系和对象四种数据模型。1.3.1层次数据模型层次数据模型 层次数据模型是最早出现和使用的数据模型,层层次数据模型是最早出现和使用的数据模型,层次模型是一个树型结构模型,整个树有且只有一次模型是一个树型结构模型,整个树有且只有一个根结点;其余结点都是它的孩子或子孙;每个个根结点;其

17、余结点都是它的孩子或子孙;每个结点只有结点只有1 1个双亲结点,但可以有个双亲结点,但可以有0n0n个孩子结点,个孩子结点,没有孩子的结点被称为叶子结点。每个结点对应没有孩子的结点被称为叶子结点。每个结点对应一个记录型,即概念模型中的一个实体型。一个记录型,即概念模型中的一个实体型。层次模型有两个缺点:一是只能表示层次模型有两个缺点:一是只能表示1:N1:N联系,虽联系,虽然系统有多种辅助手段实现然系统有多种辅助手段实现M:NM:N联系但较复杂,联系但较复杂,用户不易掌握;二是由于层次顺序的严格和复杂,用户不易掌握;二是由于层次顺序的严格和复杂,引起数据的查询和更新操作很复杂,因此应用程引起数

18、据的查询和更新操作很复杂,因此应用程序的编写也比较复杂。序的编写也比较复杂。1.3.2网状数据模型网状数据模型 网状数据模型是一个图结构模型,是对层次模型的扩展。允许有多个结点无双亲,允许每个结点无双亲。层次模型是网状模型的一个特例。网状模型的特点是记录之间联系通过指针实现,M:N联系也容易实现(一个M:N联系可拆成两个1:N联系),查询效率较高。网状模型的缺点是数据结构复杂和编程复杂。1.3.3关系数据模型关系数据模型 关系数据模型是数据库产品的主导数据模型。它是关系数据模型是数据库产品的主导数据模型。它是建立在集合论、数理逻辑、关系理论等数学理论建立在集合论、数理逻辑、关系理论等数学理论基

19、础之上。关系数据模型结构简单,符合人的思基础之上。关系数据模型结构简单,符合人的思维逻辑。维逻辑。关系模型是一种简单的二维表格结构,概念模型关系模型是一种简单的二维表格结构,概念模型中的每个实体和实体之间的联系都可以直接转化中的每个实体和实体之间的联系都可以直接转化为二维表格形式。每个二维表称为一个关系。表为二维表格形式。每个二维表称为一个关系。表头称为关系的型;表体称为关系的值;每一行数头称为关系的型;表体称为关系的值;每一行数据称为一个元组;每一列数据称为属性,列标题据称为一个元组;每一列数据称为属性,列标题称为属性名。称为属性名。采用关系模型建立数据库具有的特点:采用关系模型建立数据库具

20、有的特点:1 1、数据结构单一、数据结构单一 二维表,符合人的习惯,也便于计算机实现。二维表,符合人的习惯,也便于计算机实现。2 2、采用集合运算、采用集合运算 操作对象是关系,结果依然是关系,对关系的操操作对象是关系,结果依然是关系,对关系的操作可以一次一集合。作可以一次一集合。3 3、数据完全独立、数据完全独立 用户对数据库的查询和更新,只要知道数据的逻辑用户对数据库的查询和更新,只要知道数据的逻辑表示以及数据间的逻辑结构,就可以直接操作数表示以及数据间的逻辑结构,就可以直接操作数据库中的数据。据库中的数据。4 4、数学理论支持、数学理论支持 关系模型具有严格的数学定义,具有成熟的数学关系

21、模型具有严格的数学定义,具有成熟的数学理论依据。理论依据。1.3.4对象数据模型对象数据模型 对象数据模型是数据库技术与面向对象程序设计对象数据模型是数据库技术与面向对象程序设计的方法相结合的成果。主要适用于一些特殊领域,的方法相结合的成果。主要适用于一些特殊领域,处理对象不仅是数值、文本还包括图形、图像、处理对象不仅是数值、文本还包括图形、图像、声音等多媒体数据信息。面向对象数据模型表达声音等多媒体数据信息。面向对象数据模型表达信息的基本单位为对象。信息的基本单位为对象。面向对象模型中也有型和值的区别。对象型(类)面向对象模型中也有型和值的区别。对象型(类)是对具有共同特征的事务的抽象定义。

22、对象值是是对具有共同特征的事务的抽象定义。对象值是对象型中的一个具体事务。对象型中的一个具体事务。面向对象模型区别于传统数据模型的本质特征在面向对象模型区别于传统数据模型的本质特征在于对象具有封装性、继承性和多态性。于对象具有封装性、继承性和多态性。1.4数据库系统简介数据库系统简介1.4.11.4.1数据库系统构成数据库系统构成数据库系统构成数据库系统构成 数据库系统是安装了数据库和数据库管理系统的数据库系统是安装了数据库和数据库管理系统的计算机系统。计算机系统。数据库管理系统在计算机操作系统的支持下对保数据库管理系统在计算机操作系统的支持下对保存在外部存储器上的数据库进行有效的管理、维存在

23、外部存储器上的数据库进行有效的管理、维护和使用。在数据库管理系统之上通常需要数据护和使用。在数据库管理系统之上通常需要数据库应用系统开发工具软件,应用程序系统。数据库应用系统开发工具软件,应用程序系统。数据库应用系统通常提供可视化操作界面共终端用户库应用系统通常提供可视化操作界面共终端用户使用。使用。1.4.21.4.2数据库系统用户数据库系统用户数据库系统用户数据库系统用户数据库系统用户通常包括四种:数据库系统用户通常包括四种:数据库管理员数据库管理员DBADBA:负责数据库系统的建立、管理、:负责数据库系统的建立、管理、运行、维护、监控等系统工作,以及用户登记、运行、维护、监控等系统工作,

24、以及用户登记、存取数据权限分配等服务性工作。存取数据权限分配等服务性工作。数据库设计员:根据用户的需求,负责建立相应的数据库设计员:根据用户的需求,负责建立相应的数据库。数据库。应用程序员:负责相关数据库的程序开发。应用程序员:负责相关数据库的程序开发。终端用户:使用数据库的群体,是建立数据库为之终端用户:使用数据库的群体,是建立数据库为之服务的对象。服务的对象。1.4.3数据库体系结构数据库体系结构三级模式结构和两级存储结构三级模式结构和两级存储结构概念模式是数据库中全部数据的整体逻辑结构的描概念模式是数据库中全部数据的整体逻辑结构的描述。述。外模式是用户与数据库系统的接口,是用户用到的外模

25、式是用户与数据库系统的接口,是用户用到的那部分数据的描述。那部分数据的描述。内模式是数据库在物理存储方面的描述,定义所有内模式是数据库在物理存储方面的描述,定义所有内部记录类型、索引和文件的组织方式,以及数内部记录类型、索引和文件的组织方式,以及数据控制方面的细节。据控制方面的细节。模式内模式映象存在于概念级和内部级之间,用模式内模式映象存在于概念级和内部级之间,用于定义概念模式和内模式之间的对应性。于定义概念模式和内模式之间的对应性。外模式模式映象存在于外部级和概念级之间,用外模式模式映象存在于外部级和概念级之间,用于定义外模式和概念模式之间的对应性。于定义外模式和概念模式之间的对应性。数据

26、库系统的三级模式和两级映像确保了数据的逻辑独立性和物理独立性。数据的逻辑独立性是当数据库的整体逻辑结构发生变化时,通过调整外模式和模式之间的映像使得外模式中的局部数据及其结构(外模式定义)不变,从而使外模式上的应用程序也不用修改。数据的物理独立性是当数据库的存储结构(内模式定义)发生变化时,通过调整模式和内模式之间的映像,仍然能够保持数据库的整体模式不变,当然其所有的外模式及应用程序都不变。1.4.4 DBMS的主要功能的主要功能1 1、数据的定义和操纵、数据的定义和操纵 DBMS DBMS提供数据定义语言提供数据定义语言DDLDDL和数据操纵语言和数据操纵语言DMLDML及其相应的编及其相应

27、的编译或解释程序,使用户能够进行数据库系统的各级模式定义,译或解释程序,使用户能够进行数据库系统的各级模式定义,并能够对数据库进行查询、插入、删除、修改等操纵数据库的并能够对数据库进行查询、插入、删除、修改等操纵数据库的操作。操作。2 2、数据库管理控制、数据库管理控制 DBMS DBMS提供一组数据库管理控制程序,用以控制数据库系统的提供一组数据库管理控制程序,用以控制数据库系统的正常运行。正常运行。3 3、数据库辅助服务、数据库辅助服务 DBMS DBMS提供一组数据库服务程序,完成诸如数据库初始创建、提供一组数据库服务程序,完成诸如数据库初始创建、数据库转存、数据库恢复等辅助服务。数据库

28、转存、数据库恢复等辅助服务。4 4、提供使用数据库工具、提供使用数据库工具 DBMS DBMS提供一组高效、简单方便的使用数据库的工具,帮助用提供一组高效、简单方便的使用数据库的工具,帮助用户按照提示内容操作完成各种相应的任务。户按照提示内容操作完成各种相应的任务。5 5、建立和维护数据字典、建立和维护数据字典 数据库系统的三级模式定义都被数据库系统的三级模式定义都被DBMSDBMS保存到数据字典。保存到数据字典。DBMSDBMS的每一步操作都得到数据字典的检查和验证,以确保数据库操的每一步操作都得到数据字典的检查和验证,以确保数据库操作的合法、安全、有效。作的合法、安全、有效。1.4.5使用

29、数据库系统存取数据过程使用数据库系统存取数据过程 Book page291.4.6关系数据库系统简介关系数据库系统简介 Book page30第二章第二章 关系运算关系运算n n学习目标学习目标n n了解和掌握关系数据结构中涉及到的域、笛卡尔积、关系、关系模式等有关内容的含义。n n掌握关系的实体完整性和参照完整性的定义。n n掌握关系代数中的并、交、差、笛卡尔积运算,以及选择、投影和连接运算。2.1关系数据结构关系数据结构 关系数据结构非常单一,它就是一张具有行列结关系数据结构非常单一,它就是一张具有行列结构的二维表。构的二维表。1 1、域:是具有相同特性的数据集合。、域:是具有相同特性的数

30、据集合。例如:东、南、西、北例如:东、南、西、北2 2、笛卡尔积:是定义在一组域上的集合。、笛卡尔积:是定义在一组域上的集合。例如:一组域例如:一组域D1D1、D2DnD2Dn,笛卡尔积表,笛卡尔积表 示为示为D1xD2xDnD1xD2xDn 笛卡尔积的每个元素由下式求出:笛卡尔积的每个元素由下式求出:D1xD2xDnD1xD2xDn|(d1|(d1,d2dn)|di d2dn)|di E E DiDi,11i=ni=1n=13 3、关系:是笛卡尔积的一个子集,若笛卡尔积具有、关系:是笛卡尔积的一个子集,若笛卡尔积具有n n个域,则该笛卡尔积上的关系被称为个域,则该笛卡尔积上的关系被称为n n

31、元关系。元关系。一个一个n n元关系具有下面六个性质:元关系具有下面六个性质:(1 1)关系中每列的数据属于同一个域,每一列称)关系中每列的数据属于同一个域,每一列称为一个属性,列名称为属性名,每一列的值称为为一个属性,列名称为属性名,每一列的值称为属性值,同一关系中的所有属性名必须是可区分属性值,同一关系中的所有属性名必须是可区分的。的。(2 2)不同列允许对应同一个域,此时列名不宜直)不同列允许对应同一个域,此时列名不宜直接采用域名,当一个列对应一个域时,既可以直接采用域名,当一个列对应一个域时,既可以直接采用域名,也可以重新命名。接采用域名,也可以重新命名。(3)一个关系中属性的次序在理

32、论上可以任意。(4)一个关系中的任意两个元组不允许完全相同。(5)一个关系中的元组的次序可以任意。(6)一个元组中的每个属性值都必须是单值,不可再分。4、关系模式:是一个关系的型,即一个关系的具体结构,通常被形式化定义为:R(U,D,DOM,F,I)R为关系名;U为该关系中的所有属性名集合;D为该关系的所有定义域的集合;DOM为属性向域映射的集合,给出属性和域之间的对应关系;F为该关系中各属性之间的数据依赖的集合;属性间的数据依赖的分析主要是找出关系的主码属性间的数据依赖的分析主要是找出关系的主码属性。属性。I为该关系中所定义的完整性规则的集合。关系的完整性规则的建立是为了保证数据库数据的正确

33、性和一致性。一个关系模式可以简化为R(A1、A2、.An)R为关系名;A1、A2、.An为各属性名;主码属性下用下划线标记。一个关系可以只有模式而没有值(空关系),但不能没有模式只有值。5 5、码:又称为键、码:又称为键(1 1)超键:关系中能唯一标识每个元组属性或属性)超键:关系中能唯一标识每个元组属性或属性组。组。(2 2)候选码:关系中能唯一标识每个元组的最少属)候选码:关系中能唯一标识每个元组的最少属性或属性组。性或属性组。(3 3)主码:从候选码中选择一个作为该关系的主码,)主码:从候选码中选择一个作为该关系的主码,数据库系统将按主码标识和排序每个元组。数据库系统将按主码标识和排序每

34、个元组。(4 4)备用码:除了主码之外的所有候选码。)备用码:除了主码之外的所有候选码。(5 5)外码:在关系)外码:在关系R1R1中的属性或属性组在关系中的属性或属性组在关系R2R2中作为主码。中作为主码。(6 6)主属性和非主属性:包含在任何候选码中的属)主属性和非主属性:包含在任何候选码中的属性称为主属性,其他属性称为非主属性。性称为主属性,其他属性称为非主属性。2.2关系完整性关系完整性 关系完整性就是关系模型中的数据的正确性、一致性和有效性。1、实体完整性 在一个关系中,主码是对象的唯一标识,若主码为空,则表明该对象无法表示,主码绝对不能为空值。实体完整性规则:关系的主码不能取空值。

35、2、参照完整性 在一个关系模型中,关系R1的外码对应关系R2的主码,外码与主码不仅要定义在同一个域上,而且外码的取值不能超出主码的取值,否则将为非法数据。参照完整性规则:在两个参照和被参照关系中,参照关系中每个元组的外码或者为空,或者等于被参照关系中的某个元素的主码。3、用户定义完整性 当用关系模型来描述对象时,关系中的每个属性除了用定义域或对应的数据类型进行取值约束外,有时还需要定义一些附加条件。用户定义完整性规则包括对每个关系每个属性的取值限制的具体定义,它和其它两个完整性规则都被记录在DBMS的数据字典中。2.3关系运算关系运算 关系是元组的集合,因此关系比一般的集合运算复杂,对关系运算

36、不仅可以采用传统的集合运算,还可以采用专门的运算。2.3.1传统的集合运算传统的集合运算 传统的集合运算包括并(传统的集合运算包括并()、)、交(交()、差()、差()和笛卡尔积(和笛卡尔积()。)。设一个元组变量设一个元组变量t t t t属于关系属于关系R R:t tR R;t t不属于关系不属于关系R R:t tR R;假定关系假定关系R R中一个属性中一个属性A A,则,则t.At.A表示属性表示属性A A在元组在元组t t中的值;中的值;六个比较运算符(六个比较运算符(运算符运算符):):大于(大于()、小于()、小于(=)、)、小于等于(小于等于(=)、等于()、等于(=)、不等于

37、()、不等于()逻辑表达式由与逻辑表达式由与、或或、非连接比较运算符构非连接比较运算符构成成1 1、并运算、并运算 设两个关系设两个关系R R和和S S具有完全相同的结构,则具有完全相同的结构,则R R和和S S并并仍是一个关系,结构与仍是一个关系,结构与R R和和S S相同,值是相同,值是R R和和S S的所的所有元组组成的集合。(有元组组成的集合。(R R和和S S的共同元组,则结果的共同元组,则结果只出现一个)只出现一个)R RS=t|tS=t|tR Rt tS S (满足交换率(满足交换率R RS=SS=SR R)2 2、交运算、交运算 设两个关系设两个关系R R和和S S具有完全相同

38、的结构,则具有完全相同的结构,则R R和和S S交交仍是一个关系,结构与仍是一个关系,结构与R R和和S S相同,值是相同,值是R R和和S S共同共同具有的元组组成的集合。具有的元组组成的集合。R RS=t|tS=t|tR Rt tS S (满足交换率(满足交换率R RS=SS=SR R)3 3、差运算、差运算 设两个关系设两个关系R R和和S S具有完全相同的结构,则具有完全相同的结构,则R R和和S S差差仍是一个关系,结构与仍是一个关系,结构与R R和和S S相同,值是从相同,值是从R R中去中去掉掉S S中同时出现的元组后,有中同时出现的元组后,有R R中剩余的元组组成中剩余的元组组

39、成的集合。的集合。R RS=t|tS=t|tR Rt tSS4 4、笛卡尔积、笛卡尔积 设一个具有设一个具有n n个属性的关系个属性的关系R R和另一个具有和另一个具有mm个属个属性的关系性的关系S S,则,则R R和和S S的笛卡尔积仍是一个关系,的笛卡尔积仍是一个关系,结构是结构是R R和和S S的结构之连接,即前的结构之连接,即前n n个属性来自个属性来自R R,后后mm个属性来自个属性来自S S,属性个数为,属性个数为n+mn+m,值是,值是R R中每中每个元素连接个元素连接S S中每个元素构成的元组集合。中每个元素构成的元组集合。R RS=tS=tR Rt tS S|t|tR RR

40、Rt tS SSS2.3.2专门的关系运算专门的关系运算 专门的关系运算包括选择(专门的关系运算包括选择()、投影()、投影()、连接)、连接()和除()和除()。)。1 1、选择运算(、选择运算(selectselect)单目运算,它从一个关系单目运算,它从一个关系R R中选择满足条件的所有元组,中选择满足条件的所有元组,同同R R具有相同的结构。选择运算提供横向划分关系的手段。具有相同的结构。选择运算提供横向划分关系的手段。设设F F(t t)为元组逻辑表达式)为元组逻辑表达式 F F(R R)t|tR F t|tR F(t t)=true=true 2 2、投影运算(、投影运算(proj

41、ectproject)单目运算,它从一个关系单目运算,它从一个关系R R中按所需顺序选择若干个属性中按所需顺序选择若干个属性构成新关系,新关系的元组数小于等于原关系的元组数。构成新关系,新关系的元组数小于等于原关系的元组数。选择运算提供纵向划分关系的手段。选择运算提供纵向划分关系的手段。A A(R R)t.A|tR t.A|tR 3 3、连接运算(、连接运算(joinjoin)双目运算,把两个关系双目运算,把两个关系R R和和S S按相应的属性值的比按相应的属性值的比较条件连接起来,它是较条件连接起来,它是R R和和S S的笛卡尔积的一个子的笛卡尔积的一个子集。比较条件就是比较运算表达式,相应

42、的连接集。比较条件就是比较运算表达式,相应的连接就称为该运算符连接。就称为该运算符连接。4 4、除法(除法(divisiondivision)设关系设关系R R和和S S的元数分别为的元数分别为r r和和s s(设(设rs0rs0),那么),那么R R S S是一个(是一个(r-sr-s)元的元组的集合。()元的元组的集合。(R R S S)是)是满足下列条件的最大关系:其中每个元组满足下列条件的最大关系:其中每个元组t t与与S S中中每个元组每个元组u u组成的新元组组成的新元组tu必在关系必在关系R R中。中。2.3.3综合运算举例综合运算举例Book Page 47第三章第三章 关系规

43、范化基础关系规范化基础n n学习目的:n n会根据一个关系的定义,分析出属性间的各种函数依赖,并能够得出相应的最小函数依赖集。n n掌握关系的第一、第二、第三以及BC范式的定义,会根据一个关系的最小函数依赖集确定它的规范化级别。n n会对一个具体关系进行规范化,使之达到所要求的规范化级别。3.1数据依赖数据依赖 每一种类型的数据和数据之间的联系,在关系数据库系统中都是利用相应的关系来描述的。这样事务之间以及事务内部的各特征之间的相互依赖和相互制约关系就自然反映到关系数据库中的各个关系之间和关系内部的各属性之间。因为关系是由属性构成的,所以数据依赖的基础是属性之间的数据依赖。数据依赖包括函数依赖

44、和多值依赖,本课只讨论函数依赖。定义1:设一个关系为R(U),X和Y为属性集U上的子集,若对于元组中X上的每个值都有Y上的一个唯一值一个唯一值与之对应,则称X和Y具有函数依赖关系,并称X函数决定Y,或称Y函数依赖于X,记作X-Y,称X为决定因素。例如:身份证号码-姓名定义2:设一个关系为R(U),X和Y为属性集U上的子集,若X-Y且Y不属于X,则称X-Y 为非平凡函数依赖非平凡函数依赖,否则若Y属于X则必有X-Y,称此X-Y 为平凡函数依赖平凡函数依赖。例如:身份证号-姓名 非平凡函数依赖 身份证号、性别-性别 平凡函数依赖定义3:设一个关系为R(U),X和Y为属性集U上的子集,若X-Y,同时

45、X的一个真子集X也能够函数决定Y,即X-Y,则称X部分函数决部分函数决定定Y,或Y部分函数依赖部分函数依赖于X,记作XPY,否则若不存在一个真子集X,使得X也能够函数决定Y,则称X完全函数决定完全函数决定Y,或Y完全函完全函数依赖数依赖于X,记作XFY。X-Y的部分函数依赖也称为局部函数依赖。例如:book page 53定义4:设一个关系为R(U),X、Y和Z为属性集U上的子集,其中X-Y、Y-Z,但Y十十 X,Z不属于Y,则存在X-Z,称为传递函数依赖,即X传递函数决定Z,Z传递函数依赖于X。必须强调Y十十 X,否则X-Z则称为直接函数依赖,而非传递函数依赖。同理必须强调Z不属于Y。例如:

46、学号-系号;系号-系主任;则学号-系主任定义5:设一个关系为R(U),X、Y和Z为属性集U上的子集,若X-Y,则存在XZ-YZ和XZ-Y。(增广性规则)例如:职工号-职务 则(职工号、性别)-(职务、性别)定义6:设一个关系为R(U),X和Y为属性集U上的子集,若若X-Y,并且为完全非平凡函数依赖,同时Y为单属性,则称X-Y为R的最小函数依赖最小函数依赖。由R中所有最小函数依赖构成R的最小函数依赖集,其中不含有冗余的传递函数依赖。例如:book page 54 例3-4、3-5定义7:设一个关系为R(U),X为U的子集,若若X能够函数决定U中的每个属性,并且X的任何真子集都不能函数决定U中的每

47、个属性,则称X为关系R的一个候选码。例如:book page 55 例3-7 分析一个关系的函数依赖,完全是根据关系模式的语义进行,绝不能根据一个关系的某个实例来判定。例如属性在元组上是否可以为空或重复,由语义决定而非实例。函数依赖的一些常用规则:(1)自反性(2)增广性(3)传递性(4)合并性(5)分解性(6)伪传递性(7)复合性(8)自增性3.2关系规范化关系规范化 在关系数据库中的每个关系都需要进行规范化,使之达到一定的规范化程度,从而提高数据的结构化程度、共享性、一致性和可操作性。关系规范化分为六个级别,从低到高:第一范式、第二范式、第三范式、BC范式、第四范式、第五范式 通常只要求规

48、范到第三范式,再向后有可能破坏数据的无损连接性和函数依赖性。3.2.1第一范式第一范式定义8:设一个关系为R(U),若U中的每个属性都是不可再分的,或者都是不被其他属性所包含的独立属性,则称关系R(U)符合第一范式(1NF)。关系数据库中的每个关系都必须达到第一范式(最低要求),否则称为非规范化的关系。若一个关系数据库中的所有关系都达到第一范式要求,则称为第一范式数据库。3.2.2第二范式第二范式定义定义9 9:设一个关系为设一个关系为R R(U U),它满足第一范式,若),它满足第一范式,若R R中不中不存在非主属性对候选码的部分函数依赖,则称关存在非主属性对候选码的部分函数依赖,则称关系符

49、合第二范式(系符合第二范式(2NF2NF)。)。一个关系只满足第一范式,那可能会带来数据冗一个关系只满足第一范式,那可能会带来数据冗余和操作异常。操作异常具体包括插入异常、删余和操作异常。操作异常具体包括插入异常、删除异常和修改异常。操作异常又常常称为更新异除异常和修改异常。操作异常又常常称为更新异常或存储异常。常或存储异常。若一个关系的所有候选码都是单属性,满足第一若一个关系的所有候选码都是单属性,满足第一范式也就满足第二范式。范式也就满足第二范式。1 1、修改异常。譬如教师教三门课程,在关系中就会、修改异常。譬如教师教三门课程,在关系中就会有三个元组。如果他的地址变了,这三个元组有三个元组

50、。如果他的地址变了,这三个元组中的地址都要改变。若有一个元组中的地址未中的地址都要改变。若有一个元组中的地址未更改,就会造成这个教师的地址不惟一,产生更改,就会造成这个教师的地址不惟一,产生不一致现象。不一致现象。2 2、插入异常。如果一个教师刚调来,尚未分派教学、插入异常。如果一个教师刚调来,尚未分派教学任务,那么要将教师的姓名和地址存储到关系任务,那么要将教师的姓名和地址存储到关系中去时,在属性课程和课程号上就没有值(空中去时,在属性课程和课程号上就没有值(空值)。在数据库技术中空值的语义是非常复杂值)。在数据库技术中空值的语义是非常复杂的,对带空值元组的检索和操作也十分麻烦。的,对带空值

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 小学资料

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁