计算机软件基础精选PPT.ppt
计算机软件基础计算机软件基础第1页,此课件共81页哦上节内容总结(一)上节内容总结(一)l一基本知识一基本知识l1.1.什么是数据库及相关概念(数据、库、系统),什么是数据库及相关概念(数据、库、系统),l功功能能(高高级级的的用用户户接接口口、查查询询和和优优化化、数数据据目目录录管管理理、并并发发控制、恢复功能、完整性约束检查、访问控制控制、恢复功能、完整性约束检查、访问控制)、l 数据的定义、建立和维护、管理、通信数据的定义、建立和维护、管理、通信l特特点点(最最小小冗冗余余、可可以以以以最最优优方方式式提提供供数数据据共共享享、数数据据的的独立性、实现数据的统一管理独立性、实现数据的统一管理)l2.2.数数据据库库管管理理的的四四个个发发展展阶阶段段(手手工工管管理理阶阶段段、文文件件系系统统阶段、数据库系统阶段、分布式数据库系统阶段)阶段、数据库系统阶段、分布式数据库系统阶段),发展趋势发展趋势(可视化、多媒体、面向对象的处理、交可视化、多媒体、面向对象的处理、交叉平台、开放式叉平台、开放式)l3.3.常见的数据库系统常见的数据库系统2第2页,此课件共81页哦上节内容总结(二)上节内容总结(二)l二二 数据模型数据模型l 1.1.数据加工的三个领域数据加工的三个领域(现实、概念、数据)(现实、概念、数据),l 2.2.实体模型实体模型(实体、属性、总体、个体、(实体、属性、总体、个体、l 总体间的关系)、总体间的关系)、E-RE-R图图l3.3.数据模型数据模型、l 数据模型的三种类型数据模型的三种类型(层次、网络、关系)(层次、网络、关系)l三三 数据库系统的结构数据库系统的结构l 1.1.数据库系统的组成数据库系统的组成l 2.2.数据库的三种视图数据库的三种视图 (用户、全局、物理视图)(用户、全局、物理视图)l 三级模式结构三级模式结构(用户、逻辑、存储模式)(用户、逻辑、存储模式)l四四 计算模式计算模式l单主机、分布式单主机、分布式Client/Server、网络计算模式)、网络计算模式)3第3页,此课件共81页哦教学目标教学目标l了解关系数据库有关概念了解关系数据库有关概念l了解关系运算、关系代数了解关系运算、关系代数l了解关系模型的数学定义了解关系模型的数学定义l了解关系的规范化理论了解关系的规范化理论4第4页,此课件共81页哦教学要求教学要求l了解关系数据库有关概念了解关系数据库有关概念数据库记录、字段、类型、值域数据库记录、字段、类型、值域l了解关系运算、关系代数了解关系运算、关系代数选择运算、投影运算、联结运算选择运算、投影运算、联结运算关系的并、交、差、选择、投影等运算关系的并、交、差、选择、投影等运算l了解关系模型的数学定义了解关系模型的数学定义l了解关系的规范化理论了解关系的规范化理论第一范式、第二范式、第三范式第一范式、第二范式、第三范式5第5页,此课件共81页哦本单元涉及内容本单元涉及内容l第第7 7章章 关系数据库系统基础关系数据库系统基础7.1 7.1 关系模型的数学定义和关系代数关系模型的数学定义和关系代数7.1.1 7.1.1 关系模型的数学定义关系模型的数学定义7.1.1 7.1.1 关系代数及关系运算关系代数及关系运算7.3 7.3 关系数据库理论关系数据库理论7.3.1 7.3.1 概述概述7.3.2 7.3.2 数据依赖数据依赖7.3.3 7.3.3 规范化规范化6第6页,此课件共81页哦一、关系模型的数学定义和关系代数一、关系模型的数学定义和关系代数l关关系系DBDB是是建建立立在在关关系系理理论论和和关关系系代代数数严严格格的的数数学学基基础础之之上上。前前面面介介绍绍了了基基于于RDBSRDBS上上的的关关系系运运算算,下下面面对对关关系系数数据据模模型型进进行行较较为为严严格的数学定义和描述。格的数学定义和描述。7第7页,此课件共81页哦1.1.关系模型的数学定义关系模型的数学定义l(1)(1)域、元组和关系域、元组和关系l域(域(DomainDomain)同类型值的集合。例如,整数集合、字母集合等。同类型值的集合。例如,整数集合、字母集合等。l元元组组(TupleTuple)设设有有一一组组域域D D1 1,D D2 2,,D,Dn n,则则以以下下集集合合中中的的每每个个元元素素(d(d1 1,d,d2 2,d,dn n)称称为为一一个个元元组组(n(n元元组组););每每个个d di i值值称称为为一个分量一个分量:D D1 1xDxD2 2 x xxDxDn n=(d=(d1 1,d,d2 2,d,dn n)|d)|di i D Di i,i=1,2,i=1,2,n,nl关关系系(RelationRelation)D D1 1xDxD2 2 x xxDxDn n 的的子子集集称称为为域域D D1 1,D D2 2,D Dn n 上的一个关系。上的一个关系。8第8页,此课件共81页哦(2)(2)笛卡尔乘积笛卡尔乘积l设设D D1 1,D D2 2,,D,Dn n为为n n个任意集合。定义个任意集合。定义D D1 1,D D2 2,,D,Dn n的笛卡尔的笛卡尔乘积为乘积为:D1xD2 D1xD2.Dn=(Dn=(d d1 1,d,d2 2,d,dn n)|)|d di i D Di i,i=1,2,i=1,2,n,n 可读作可读作:笛卡尔乘积中的每一个元素笛卡尔乘积中的每一个元素(d(d1 1,d,d2 2,d,dn n)叫做一个叫做一个n n元元组元元组,元元组中的组中的didi称为该元组的称为该元组的第第i i个分量个分量。元组中个分量元组中个分量didi的位置不能任意颠倒的位置不能任意颠倒,因为,因为d di i D Di i 。9第9页,此课件共81页哦举例举例l设有三个集合:设有三个集合:NAMENAME、AGEAGE、SEXSEX NAME AGE SEX NASNAME AGE SEX NAS =刘刘王王2120男男女女NAME AGE SEXNAME AGE SEX刘刘 21 男男刘刘 21 女女刘刘 20 男男刘刘 20 女女王王 21 男男王王 21 女女王王 20 男男王王 20 女女NAME NAME AGE AGE SEX=SEX=(d1,d2,d3d1,d2,d3)|di|di Di,i=1,2,3 Di,i=1,2,3 其中其中(刘刘,21,男男)是一个是一个元组元组,刘刘,21,男分别为男分别为3个个分量分量.一个元组一个元组从从NAS中选出与刘有关的元组,就构成中选出与刘有关的元组,就构成一个一个关系关系。10第10页,此课件共81页哦(3)n(3)n元关系元关系l笛笛卡卡尔尔乘乘积积D1D1 D2D2.DnDn的的任任何何有有限限子子集集称称为为域域(集集合合)D1,D2,)D1,D2,Dn,Dn上上的的一一个个n n元元关系。关系。l将将n n元元关关系系看看成成一一个个有有n n列列元元素素的的二二维维表表,给给 表表 中中 的的 每每 一一 列列 起起 一一 个个 名名 字字 叫叫 属属 性性(AttributeAttribute),则则n n元元关关系系有有n n个个属属性性。在在同同一一个个关关系系中中,属属性性名名必必须须是是唯唯一一的的。属属性性的的取取值值范范围围DiDi(i=1,2,i=1,2,n),n)称称为为值值域域。11第11页,此课件共81页哦(4)(4)关系模式关系模式l一个关系的属性名表称为该关系的关系模式,其记法为:一个关系的属性名表称为该关系的关系模式,其记法为:(,2,)n)l例如关系例如关系SHOPSHOP个关系模式为个关系模式为:SHOP(SHOP(店名店名,地址地址,经办人经办人,电话电话)l关系模式的集合,称为关系模式的集合,称为关系数据库模式关系数据库模式l注意注意:关系模式是型,关系是值,关系模式:关系模式是型,关系是值,关系模式是静态的,关系是动态的。是静态的,关系是动态的。l关系数据库模式关系数据库模式=数据结构数据结构+关系操作关系操作+完整性约束完整性约束12第12页,此课件共81页哦(5)完整性约束完整性约束数据在语义上的约束,称为完整性约束数据在语义上的约束,称为完整性约束l实体完整性实体完整性:一个实体能与其他实体区分:一个实体能与其他实体区分开来,要求关系的主属性非空开来,要求关系的主属性非空l参照完整性参照完整性(引用完整性)一个关系中的(引用完整性)一个关系中的属性在另一个关系中也有反映,并且它们属性在另一个关系中也有反映,并且它们的值应该相等。的值应该相等。l用户定义完整性用户定义完整性:用户定义的取值条件等。:用户定义的取值条件等。13第13页,此课件共81页哦(6)(6)关系模型关系模型数据模型是用来描述数据的一组概念和定义。数据模型是用来描述数据的一组概念和定义。l关系模型关系模型是以集合论中的关系的概念发展起来的数据模型是以集合论中的关系的概念发展起来的数据模型l在在某某数数据据处处理理工工作作中中的的所所有有关关系系模模式式及及其其属属性性名名、关关键键字字的的汇汇集集。(关关系系数数据库模式据库模式)l例例如如,某某大大学学采采用用计计算算机机管管理理教教学学工工作作。涉涉及及到到三三类类实实体体:教教师师、课课程程、学学生生,同同时时教教师师和和课课程程、课课程程和和学学生生之之间间都都有有联联系系。从从而而确定了以下关系模式:确定了以下关系模式:teachersteachers(工作证号、单位、姓名、职称)(工作证号、单位、姓名、职称)studentsstudents(学号、班级、姓名)(学号、班级、姓名)subjectssubjects(课程号、课程名称、学分)(课程号、课程名称、学分)t_S(t_S(工作证号、课程号、教室工作证号、课程号、教室)s_s(s_s(学号、课程号、成绩学号、课程号、成绩)及其属性名(班级、姓名等)和关键字(学号等)。及其属性名(班级、姓名等)和关键字(学号等)。14第14页,此课件共81页哦(7)(7)关系数据库关系数据库l对应于一个关系模型的所有对应于一个关系模型的所有关系关系(表)(表)的集合称为的集合称为关系数据库(值)关系数据库(值)。l例如,前述的例如,前述的STUDENTSSTUDENTS、PEPE等就是等就是关系数据库。关系数据库。15第15页,此课件共81页哦2.2.数据库管理系统中的关系模型数据库管理系统中的关系模型l(1)(1)关系模型关系模型 是数学化的模型,它把数据看作二维表中是数学化的模型,它把数据看作二维表中的元素,表就是其关系。其的元素,表就是其关系。其特点特点是:是:表中每一列属性都是不能再细分的基本单表中每一列属性都是不能再细分的基本单元元不允许有重复的列不允许有重复的列不允许有相同的记录不允许有相同的记录行、列次序均无关行、列次序均无关16第16页,此课件共81页哦关系概念的图解关系概念的图解 关系(库名)关系(库名)SHOP 店店 名名 地地 址址 经办人经办人 电话电话解放路食品店解放路食品店 解放路解放路262262号号 李国基李国基 2-50362-5036桃园商场桃园商场 桃园路桃园路6号号 张山张山 6-6161香香瓜果店香香瓜果店 北大街北大街26号号 王宏王宏 3-6201白塔干鲜果店白塔干鲜果店 西大街西大街56号号 宋良宋良 3-3637北大街果品店北大街果品店 北大街北大街231号号 林青林青 3-1116关系框架关系框架或或库结构库结构元组元组或或记录记录属性(字段)属性(字段)属性属性“电话电话”的值的值17第17页,此课件共81页哦(2)(2)关系的其它概念关系的其它概念l这样的二维表被称为数据库文件这样的二维表被称为数据库文件l表中行被称为表中行被称为记录记录(RecordRecord)或)或元组元组l列称为列称为字段字段(FieldField)或)或属性属性l表表的的第第一一行行是是字字段段名名的的集集合合,被被称称为为库库结构结构(关系框架或库结构)关系框架或库结构)l列列中中的的元元素素为为该该字字段段(属属性性)的的值值,且且值值总总是限定在某个值域是限定在某个值域(domain)(domain)内内18第18页,此课件共81页哦(3)(3)关键字(关键字(KeyKey)l候选关键字(候选关键字(Candidate KeyCandidate Key)(候选码)(候选码)在在给给定定关关系系中中,具具有有唯唯一一标标识识特特性性的的一一个个或或多多个个属属性性被被称为该关系的候选关键字。例如,学生关系中的学号。称为该关系的候选关键字。例如,学生关系中的学号。l主关键字(主关键字(Primary KeyPrimary Key)(主码)(主码)有有时时候候选选关关键键字字多多于于一一个个,从从中中选选取取一一个个作作为为操操作作的的根根据据,称其为主关键字。称其为主关键字。l外码外码 假假设设有有两两个个关关系系,第第一一个个关关系系中中除除候候选选码码之之外外的的一一组组属属性性,又又成成为为第第二二个个关关系系中中的的候候选选码码,则则称称第第一一个个关关系系中中的的这这组组属属性性为为外外码码。第第一一个个关关系系称称为为参参照照关关系系,第第二个关系称为二个关系称为被参照关系。被参照关系。19第19页,此课件共81页哦(4)(4)基本数据类型基本数据类型l数数据据是是程程序序的的必必要要组组成成部部分分,也也是是程程序序处处理理的的对对象,象,数据类型体现数据结构的特点数据类型体现数据结构的特点:数据间的逻辑关系(线性、非线性的)数据间的逻辑关系(线性、非线性的)数数据据在在计计算算机机中中的的存存储储方方式式(顺顺序序存存储储、链表存储)链表存储)数数据据的的运运算算 提提供供的的数数据据类类型型越越丰丰富富,说说明明这这种种语语言言的的数数据据结结构构越越丰丰富富,处处理理功功能能也就越强。也就越强。20第20页,此课件共81页哦字段类型(字段类型(1010种)规则种)规则l文本类型文本类型 最大长度最大长度255255个字符,用于存放文本数据个字符,用于存放文本数据l备注类型备注类型 最大长度最大长度6553565535个字符,用于存放不同于文个字符,用于存放不同于文 本数据的文本信息(可以是特殊字符)。本数据的文本信息(可以是特殊字符)。l数值类型数值类型 长度可以是长度可以是1 1、2 2、4 4、8 8、1616个字节,分别用个字节,分别用 来存放不同精度要求的数值数据。来存放不同精度要求的数值数据。l日期日期/时间时间 长度是长度是8 8个字节,用来存放日期和时间个字节,用来存放日期和时间 类型类型 日期形式为:日期形式为:yy/mm/dd;yy/mm/dd;时间形式为:时间形式为:hh:mm:ss hh:mm:ssl货币类型货币类型 8 8个字节,最多包含个字节,最多包含4 4位小数。位小数。l自动编号自动编号 4 4个字节个字节l是是/否否 1 1位;存放位;存放“真真”(TrueTrue)和)和“假假”(FalseFalse)lOLEOLE对象对象 最大长度最大长度1GB1GB;用于存放超级链接地址。;用于存放超级链接地址。l查阅向导查阅向导 4 4个字节,允许使用另一个表中某字段的值来个字节,允许使用另一个表中某字段的值来 定义当前字段的值。定义当前字段的值。21第21页,此课件共81页哦3 3、关系代数、关系代数l在介绍关系代数之前,先介绍一些有关的符号及其含在介绍关系代数之前,先介绍一些有关的符号及其含义。义。P P Q P Q P并且并且Q Q 与与P P Q P Q P或或Q Q 或或a a A a A a是集合是集合A A中的元素(中的元素(a a属于属于A A)a a A a A a不属于不属于A AA A B B 集合集合A A和集合和集合B B的的并并A A B B 集合集合A A和集合和集合B B的的交交A A B B 集合集合A A包含包含于集合于集合B B中中A A B B 集合集合A A真包含真包含于集合于集合B B中中 22第22页,此课件共81页哦同类关系同类关系l同一关系模式(关系框架)填以不同的同一关系模式(关系框架)填以不同的值所生成的诸关系称为值所生成的诸关系称为同类关系同类关系。l同类关系之间可以进行下列运算:同类关系之间可以进行下列运算:并、交、差运算并、交、差运算选择运算选择运算投影运算投影运算关系的关系的笛卡尔乘积运算笛卡尔乘积运算自然联结运算自然联结运算23第23页,此课件共81页哦并运算并运算l并运算并运算 如果如果R R和和S S为为同类关系同类关系,则它们,则它们的并记为的并记为R R S S,仍然是,仍然是R R和和S S的同类的同类关系,由属于关系,由属于R R或属于或属于S S的元组组成。的元组组成。记为:记为:R R S=t|t S=t|tR R tS tS l示意图为:示意图为:R R S S24第24页,此课件共81页哦交运算交运算l交运算交运算 同类关系同类关系R R和和S S的交记为的交记为R R S S,由既,由既属于属于R R又属于又属于S S的元组组成。记为:的元组组成。记为:R R S=t|t S=t|t R R t t S S l示意图为:示意图为:RSR R S S25第25页,此课件共81页哦差运算差运算l差运算差运算 同类关系同类关系R R和和S S的差记为的差记为R-SR-S,由,由属于属于R R而不属于而不属于S S的元组组成;记为:的元组组成;记为:R-S=t|tR-S=t|t R R t t S S l示意图为:示意图为:RSR-SR-S26第26页,此课件共81页哦并运算举例并运算举例l有同类关系有同类关系R R和和S S,如下所示:,如下所示:名称名称 颜色颜色 长度长度的确良的确良 白白 10001000华达呢华达呢 黑黑 20002000名称名称 颜色颜色 长度长度的确良的确良 黑黑 20002000华达呢华达呢 黑黑 2000 2000 名称名称 颜色颜色 长度长度的确良的确良 白白 10001000的确良的确良 黑黑 20002000华达呢华达呢 黑黑 20002000关系关系S S关系关系R RS S关系关系R R27第27页,此课件共81页哦交运算举例交运算举例 关系关系R RS S 名称名称 颜色颜色 长度长度 华达呢华达呢 黑黑 20002000 名称名称 颜色颜色 长度长度的确良的确良 白白 10001000华达呢华达呢 黑黑 20002000名称名称 颜色颜色 长度长度的确良的确良 黑黑 20002000华达呢华达呢 黑黑 2000 2000 关系关系S S关系关系R R28第28页,此课件共81页哦差运算举例差运算举例 名称名称 颜色颜色 长度长度的确良的确良 白白 10001000 关系关系R R-S S 名称名称 颜色颜色 长度长度的确良的确良 白白 10001000华达呢华达呢 黑黑 20002000名称名称 颜色颜色 长度长度的确良的确良 黑黑 20002000华达呢华达呢 黑黑 2000 2000 关系关系S S关系关系R R29第29页,此课件共81页哦选择运算数学表示选择运算数学表示l设设f f(t t)是一逻辑函数,其自变量)是一逻辑函数,其自变量t t为元组变量,函数值只为元组变量,函数值只能取逻辑值能取逻辑值“真真”(TrueTrue)或)或“假假”(FalseFalse),则关系),则关系R R关关于焕数于焕数f f(t t)的选择运算定义为:)的选择运算定义为:f f(R R)=t|t=t|t R R f f(t t)=True=True l例如,从关系例如,从关系STUDENTSSTUDENTS中选择出三好学生候选名单。中选择出三好学生候选名单。可记为可记为:EXC_ST=EXC_ST=f(STUDENTS)f(STUDENTS)其中其中f(t)f(t)为为:操评操评=优优.AND.AND.数学数学+英语英语+自控原理自控原理=270=27030第30页,此课件共81页哦投影运算数学表示投影运算数学表示l设设R R为为K K元关系元关系,Ai1,Ai2,Ai1,Ai2,Aim,Aim分别是分别是R R的第的第i1,i2,i1,i2,im,im个属性个属性(i,j(i,j K,j=1,K,j=1,m),m),ti1,ti2,ti1,ti2,tim,tim是元组的第是元组的第i1,i2,i1,i2,im,im个个属性值属性值,则关系则关系R R在属性序列在属性序列Ai1,Ai2,Ai1,Ai2,Aim,Aim上的投影是一个上的投影是一个m m元关系元关系,其其属性集合为属性集合为Ai1,Ai2,Ai1,Ai2,Aim,Aim,记为记为:i1,i2,i1,i2,im(R)=,im(R)=t|t=(ti1,ti2,t|t=(ti1,ti2,tim),tim)(t1,t2,(t1,t2,tk),tk)R R 例如,投影生成新关系例如,投影生成新关系ENGLISHENGLISH ENGLISH=ENGLISH=2,3,7(STUDENTS)2,3,7(STUDENTS)l属性值的子集属性值的子集 31第31页,此课件共81页哦关系的笛卡尔乘积运算关系的笛卡尔乘积运算l设设R R为为K1K1元关系元关系,S,S为为K2K2元关系元关系,则则R R和和S S的笛卡尔乘积的笛卡尔乘积R R S S是一个是一个(K1+K2)(K1+K2)元元组集合元元组集合,其中元组的前其中元组的前K1K1个分个分量来自量来自R,R,后后K2K2个分量来自个分量来自S S。R R S S是所有满足这个是所有满足这个条件的元组的集合。条件的元组的集合。l例,设有关系例,设有关系R R和和S S如下所示,其笛卡尔乘积为:如下所示,其笛卡尔乘积为:质料质料颜色颜色单价单价式样式样品种品种规格规格涤涤 卡卡 蓝蓝 16.00华达呢华达呢 黑黑 43.00毛毛 涤涤 褐褐 20.00 男男 中山装中山装 中中 女女 裤裤 子子 小小 女女 大大 衣衣 大大32第32页,此课件共81页哦笛卡尔乘积运算举例笛卡尔乘积运算举例 关系关系R R S S质质 料料 颜色颜色 单单 价价 式样式样 品品 种种 规规 格格 涤涤 卡卡 蓝蓝 16.00涤涤 卡卡 蓝蓝 16.00涤涤 卡卡 蓝蓝 16.00华达呢华达呢 黑黑 43.00华达呢华达呢 黑黑 43.00华达呢华达呢 黑黑 43.00毛毛 涤涤 褐褐 20.00毛毛 涤涤 褐褐 20.00毛毛 涤涤 褐褐 20.00男男 中山装中山装 中中女女 裤裤 子子 小小女女 大大 衣衣 大大男男 中山装中山装 中中女女 裤裤 子子 小小女女 大大 衣衣 大大男男 中山装中山装 中中女女 裤裤 子子 小小女女 大大 衣衣 大大33第33页,此课件共81页哦自然联结运算数学表示自然联结运算数学表示l设设K1K1元关系元关系R R与与K2K2元关系元关系S S有相同的属性名有相同的属性名B1,B2,B1,B2,Bn,Bn,则关系则关系R R和关系和关系S S的自然联结记为的自然联结记为:R S=R S=R(f(Rf(R S)S)其中其中f(Rf(R S)S)为一逻辑函数为一逻辑函数,当当t1t1 R,t2 R,t2 S,t1S,t1和和t2t2中同中同名属性值相等时名属性值相等时,该函数的函数值为该函数的函数值为“真真”(True)(True)。l例如,选三好优秀生的自然联结运算可记为:例如,选三好优秀生的自然联结运算可记为:ST_MARK=STUDENTS PE=ST_MARK=STUDENTS PE=1,2,3,4,5,6,7,8,12(1,2,3,4,5,6,7,8,12(f(STUDENTS f(STUDENTS PE)PE)l按属性名相同的原则建立联结按属性名相同的原则建立联结 34第34页,此课件共81页哦条件条件连接运算举例连接运算举例35第35页,此课件共81页哦4 4、数据库中的关系运算、数据库中的关系运算l这这里里从从数数据据库库操操作作的的角角度度讨讨论论关关系运算。包括:系运算。包括:选择运算选择运算 针对元组针对元组投影运算投影运算 针对属性针对属性联结运算联结运算自然联结运算自然联结运算36第36页,此课件共81页哦学生关系学生关系STUDENTSTUDENTSTUDENTSTUDENT 1 2 3 4 5 6 7 8 1 2 3 4 5 6 7 8学号学号 姓名姓名 班级班级 性别性别 操行操行 数学数学 英语英语 自控原理自控原理 86121018612101沈小平沈小平 自控自控86 86 女女 优优 85 76 7685 76 768612162 8612162 陆华陆华 自控自控86 86 女女 优优 96 92 9596 92 958612104 8612104 王华王华 自控自控86 86 女女 优优 91 92 99 91 92 99 8612106 8612106 郭勇郭勇 自控自控86 86 男男 优优 89 96 9689 96 968612107 8612107 魏明魏明 自控自控86 86 男男 优优 89 85 8289 85 8237第37页,此课件共81页哦选择运算选择运算l概概念念:从从指指定定关关系系中中选选择择出出符符合合条条件件的的元元组(记录)组成一个新的关系。组(记录)组成一个新的关系。l举举例例:从从STUDENTSSTUDENTS关关系系中中,选选出出三三好好学学生生候候选选人人名名单单,条条件件是是:操操行行为为优优,其其它它三三门门功课的总成绩不低于功课的总成绩不低于270270分。分。l选择运算条件选择运算条件:CP=CP=“操行操行=优优 AND 数学数学+英语英语+自控原理自控原理=270 38第38页,此课件共81页哦优秀学生关系优秀学生关系EXC_STEXC_STEXC_STEXC_ST 1 2 3 4 5 6 7 8 1 2 3 4 5 6 7 8学号学号 姓名姓名 班级班级 性别性别 操行操行 数学数学 英语英语 自控原理自控原理 8612162 8612162 陆华陆华 自控自控86 86 女女 优优 96 92 9596 92 958612104 8612104 王华王华 自控自控86 86 女女 优优 91 92 99 91 92 99 8612106 8612106 郭勇郭勇 自控自控86 86 男男 优优 89 96 9689 96 96满足满足:“操行操行=优优 AND 数学数学+英语英语+自控原理自控原理=27039第39页,此课件共81页哦选择运算举例选择运算举例 记录的集合记录的集合A、B、C、D、E、F、G、H、G、X、Y、Z选择运算(选取小于选择运算(选取小于H且跳过且跳过间隔的两个记录的那些记录)间隔的两个记录的那些记录)A、D、G40第40页,此课件共81页哦投影运算投影运算l概概念念:从从指指定定关关系系的的属属性性(字字段段)集集合合中中选选取取部部分分属属性性组组成成同同类类的的一一个个新新关关系系。由由于于属属性性减减少少而而出出现现的的重重复复元元组组被被自自动动删除。删除。l举举例例:生生成成学学生生英英语语成成绩绩关关系系ENGLISHENGLISH,只只包包含含“姓姓名名”、“班班级级”、“英英语语”三项属性。三项属性。41第41页,此课件共81页哦英语成绩关系英语成绩关系ENGLISHENGLISH 姓名姓名 班级班级 英语英语 陆华陆华 自控自控86 92 86 92 王华王华 自控自控86 92 86 92 郭勇郭勇 自控自控86 9686 96ENGLISHENGLISH42第42页,此课件共81页哦投影运算举例投影运算举例 记录的集合:记录的集合:1.A1(a1、a2、a3、a4、a5、a6)2.A2(a1、a2、a3、a4、a5、a6)3.A3(a1、a2、a3、a4、a5、a6)10.A10(a1、a2、a3、a4、a5、a6)1.A1(a1、a3、a5)2.A2(a1、a3、a5)3.A3(a1、a3、a5)10.A10(a1、a3、a5)投影运算投影运算(选择记录选择记录中奇数的属性中奇数的属性,组成组成新的记录新的记录)。43第43页,此课件共81页哦联结运算联结运算l概概念念:将将两两个个关关系系中中的的元元组组按按指指定定条条件件进进行行组组合合,生生成成一一个个新新的的关关系系。组组合合的的原原则则是是从从两两个个关关系系元元组组的的广广义义笛笛卡卡尔尔乘乘积积中中选选取取满满足足条条件的元组。件的元组。l笛卡尔乘积的含义为笛卡尔乘积的含义为:两两个个关关系系AmAm和和BnBn的的笛笛卡卡尔尔乘乘积积是是一一个个元元组组集集合合CmxnCmxn。关系。关系C C中属性个数为中属性个数为A A和和B B的属性之和。的属性之和。l在广义笛卡尔乘积的基础上加条件在广义笛卡尔乘积的基础上加条件 44第44页,此课件共81页哦笛卡尔乘积举例笛卡尔乘积举例l举例,设关系举例,设关系A A和关系和关系B B的内容分别如下,求关系的内容分别如下,求关系C=AxBC=AxB。关系关系A关系关系BX Y ZX Y Z U VU Vx1 y1 1x2 y2 2u1 v11 v2关系关系C=AxB X Y Z U Vx1 y1 1 u1 v1x1 y1 1 1 v2x2 y2 2 u1 v1x2 y2 2 1 v245第45页,此课件共81页哦自然联结自然联结l概概念念:对对于于两两个个有有公公共共属属性性的的关关系系,把把其其中中公公共共属属性性值值相相同同的的元元组组挑挑选选出出来来,构成一个新的关系,称之为自然联结。构成一个新的关系,称之为自然联结。l自然连接的特点:自然连接的特点:关系关系A A和关系和关系B B中有同名属性;中有同名属性;构构成成新新关关系系的的条条件件是是关关系系A A和和B B中中同同名名属属性性值相等;值相等;形形成成新新关关系系的的属属性性集集合合是是关关系系A A、B B属属性性集合的并集。集合的并集。l按公共属性值相同的原则建立联结按公共属性值相同的原则建立联结 46第46页,此课件共81页哦体育关系体育关系PEPE 1 2 31 2 3学号学号 姓名姓名 体育体育 8612162 8612162 陆华陆华 良良 8612104 8612104 王华王华 良良 8612106 8612106 郭勇郭勇 优优PEPE47第47页,此课件共81页哦自然联结举例自然联结举例l设设有有体体育育成成绩绩关关系系PEPE。三三好好学学生生的的标标准准之之一一是是体体育育成成绩绩达达到到优优或或良良。将将PEPE和和STUDENTSSTUDENTS关关系系合合并并,生生成成新新的的关关系系ST_MARKST_MARK,并从中选出三好学生简况表。如下图所示。并从中选出三好学生简况表。如下图所示。学号学号 姓名姓名 班级班级 性别性别 操行操行 数学数学 英语英语 自控原理自控原理 体育体育 8612162 8612162 陆华陆华 自控自控86 86 女女 优优 96 92 95 96 92 95 良良 8612104 8612104 王华王华 自控自控86 86 女女 优优 91 92 99 91 92 99 良良 8612106 8612106 郭勇郭勇 自控自控86 86 男男 优优 89 96 96 89 96 96 优优l定义查询条件:定义查询条件:操行操行=“优优”.AND.数学数学+英语英语+自控原理自控原理=270 AND (体育体育=优优.OR.体育体育=良良)48第48页,此课件共81页哦二、关系的规范化理论基础二、关系的规范化理论基础l如何评价关系模型的好坏,这关系到如何设计关系模型(关系框架)如何评价关系模型的好坏,这关系到如何设计关系模型(关系框架)的至关重要的问题。以的至关重要的问题。以SCTSCT关系为例说明存在的问题:关系为例说明存在的问题:SCTSCT关系是由关系是由S#S#(学号)、(学号)、C#C#(课程号),(课程号),GRADEGRADE(成绩)、(成绩)、TNAMETNAME(教师姓名)、(教师姓名)、TAGETAGE(教师年龄)、(教师年龄)、OFFICEOFFICE(办公室)属性组(办公室)属性组成。成。SCTSCT关系关系 (学生课程教师关系)(学生课程教师关系)S#C#GRADE TNAME TAGE OFFICES#C#GRADE TNAME TAGE OFFICE S1 C1 90 S1 C1 90 周周 45 30145 301 S1 C2 91 S1 C2 91 刘刘 39 30239 302 S1 C3 85 S1 C3 85 刘刘 39 30239 302 S1 C4 87 S1 C4 87 王王 51 30151 301 S2 C1 92 S2 C1 92 周周 45 30145 301 S3 C1 75 S3 C1 75 周周 45 30145 301 S3 C2 56 S3 C2 56 刘刘 39 30239 302 49第49页,此课件共81页哦关系模式的存储异常问题关系模式的存储异常问题l在上述在上述SCTSCT关系中,至少存在下列问题:关系中,至少存在下列问题:数据冗余数据冗余 如果某门课程有如果某门课程有100100个学生选修,个学生选修,就要出现就要出现100100个元组(记录),相应的教这门个元组(记录),相应的教这门功课的教师的姓名、年龄、办公室也要出现功课的教师的姓名、年龄、办公室也要出现100100次。次。更新异常更新异常 对对SCTSCT关系中的元组进行修改,可关系中的元组进行修改,可能导致出现存储数据不一致的情况。例如,能导致出现存储数据不一致的情况。例如,要修改第一元组中的要修改第一元组中的OFFICEOFFICE值时,将值时,将301301改为改为303303,会出现周老师的办公室号码不,会出现周老师的办公室号码不一致,除非修改所有周老师元组(记录)中一致,除非修改所有周老师元组(记录)中的办公室号码。的办公室号码。50第50页,此课件共81页哦关系模式的存储异常问题(续)关系模式的存储异常问题(续)l插入异常插入异常 如果某课程决定由张老师担任,但如果某课程决定由张老师担任,但在还不知道哪些学生选修前,无法将张老师在还不知道哪些学生选修前,无法将张老师的记录插入关系中。因为,在的记录插入关系中。因为,在SCTSCT关系中(关系中(S#S#,C#C#)是主关键字,在)是主关键字,在C#C#不确定的情况下,不确定的情况下,根据关系模型的实体完整性规则,不允许主根据关系模型的实体完整性规则,不允许主关键字中出现空值。因此,在关键字中出现空值。因此,在C#C#不确定的情不确定的情况下,不能插入该记录。况下,不能插入该记录。l删除异常删除异常 如果要删除某门课程的所有成绩,如果要删除某门课程的所有成绩,则会将教这门功课的教师信息也删除掉。例则会将教这门功课的教师信息也删除掉。例如,若要删除如,若要删除C4C4的元组,结果会丢失王的元组,结果会丢失王老师的有关信息。显然,这是不希望发生的老师的有关信息。显然,这是不希望发生的事情。事情。51第51页,此课件共81页哦关系的规范化举例关系的规范化举例l显然,显然,SCTSCT关系的性能是很差的。如果将关系的性能是很差的。如果将SCTSCT关系分关系分解为两个子关系解为两个子关系SCSC和和CTCT,即,即 SCSC(S#S#,C#C#,GRADEGRADE)、)、CTCT(C#C#,TNAMETNAME,TAGETAGE,OFFICEOFFICE)上述存储异常问题将消失。上述存储异常问题将消失。S#C#GRADE S#C#GRADE S1 C1 90 S1 C1 90 S1 C2 91 S1 C2 91 S1 C3 85 S1 C3 85 S1 C4 87 S1 C4 87 S2