您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 企业文化 > 30第02章 关系数据库理论基础
2020/2/18数据库原理及开发1第2章关系数据库理论基础本章重点内容关系的数学定义和性质关系模式的完整性约束条件关系代数关系的规范化原则,范式的基本概念和分解方法2020/2/18数据库原理及开发22.1关系的基本概念2.1.1关系的数学定义1.域(Domain)域:是一组具有相同数据类型的值集合。例如:{自然数},{男,女},{0,1}等都可以是域。基数:域中数据的个数称为域的基数。域被命名后用如下方法表示:D1={白亚春,陈韬,王雪莲},表示姓名的集合,基数是3;D2={计算机系,电子系}2020/2/18数据库原理及开发32.笛卡尔积(CartesianProduct)给定一组域D1,D2,…,Di,…,Dn(可以有相同的域),则笛卡尔积定义为:D1D2…Di…Dn={(d1,d2,…,di,…,dn)∣di∈Di,i=1,2,…,n}D1D2={(陈韬,计算机系),(陈韬,电子系),(王雪莲,计算机系),(王雪莲,电子系),(白亚春,计算机系),(白亚春,电子系)}其中每个(d1,d2,…,di,…,dn)叫做元组,元组中的每一个值di叫做分量,di必须是Di中的一个值。显然,笛卡尔积的基数就是构成该积所有域的基数累乘积,若Di(i=1,2,…,n)为有限集合,其基数为mi(i=1,2,…,n),则D1D2…Di…Dn笛卡尔积的基数M为:niimM12020/2/18数据库原理及开发4该笛卡尔积的基数是M=m1m2=3*2=6,即该笛卡尔积共有6个元组,它可组成一张二维表姓名籍贯陈韬计算机系陈韬电子系王雪莲计算机系王雪莲电子系白亚春计算机系白亚春电子系2020/2/18数据库原理及开发53.关系(Relation)关系:笛卡尔积D1D2…Di…Dn的子集R称作在域D1,D2,…,Dn上的关系,记作:R(D1,D2,…,Di,…,Dn)其中:R为关系名,n为关系的度或目(Degree),Di是域组中的第i个域名.当n=1时,称该关系为单元关系;当n=2时,称该关系为二元关系;以此类推,关系中有n个域,称该关系为n元关系。把列称为属性(Attribute)。一般来说,一个取自笛卡尔积的子集才有意义。2020/2/18数据库原理及开发6关系可以分为三种类型:基本关系(又称基本表):是实际存在的表,它是实际存储数据的逻辑表示;查询表:是对基本表进行查询后得到的结果表;视图表:是由基本表或其它视图导出的表,是一个虚表,不对应实际存储的数据。姓名籍贯陈韬计算机系王雪莲电子系白亚春计算机系2020/2/18数据库原理及开发72.1.2关系的性质1.列是同质的。2.关系中行的顺序、列的顺序可以任意互换,不会改变关系的意义。学号姓名性别出生日期所在系0022102王雪莲女1980-9-15电子系计算机系白亚春男1981-1-2500513090052201陈韬男计算机系1981-5-60052217袁更旭男1980-12-8计算机系2020/2/18数据库原理及开发83.关系中的任意两个元组不能相同。4、关系中的元组分量具有原子性,即每一个分量都必须是不可分的数据项。学号姓名性别出生日期所在系0022102王雪莲女1980-9-15电子系0051309白亚春男1981-1-25计算机系0051309白亚春男1981-1-25计算机系0052217袁更旭男1980-12-8计算机系2020/2/18数据库原理及开发92.2关系的完整性2.2.1键1.候选键(Candidatekey)若关系中的某一属性组的值能惟一地标识一个元组,则称该属性组为候选键。2.主键(Primarykey)若一个关系中有多个候选键,则选定一个为主键。2020/2/18数据库原理及开发103.主属性(PrimaryAttribute)主键的属性称为主属性。4.外键(Foreignkey)设F是基本关系R的一个或一组属性,但不是R的键(主键或候选键),如果F与基本关系S的主键K相对应,则称F是R的外键,并称R为参照关系,S为被参照关系。2.2关系的完整性2020/2/18数据库原理及开发11学号姓名性别出生日期所在系0022102王雪莲女1980-9-15电子系0051309白亚春男1981-1-25计算机系0052201陈韬男1981-5-6计算机系0052217袁更旭男1980-12-8计算机系课程号学号成绩C201002210275C505005130995C508005220192C5060052217802020/2/18数据库原理及开发122.2.2实体完整性实体完整性规则:关系中的主键不能为空值(Null)。空值就是“不知道”或“无意义”2.2.3参照完整性参照完整性规则:表的外键必须是另一个表主键的有效值,或者是空值。2.2关系的完整性2020/2/18数据库原理及开发13学号姓名性别出生日期所在系0022102王雪莲女1980-9-15电子系0051309白亚春男1981-1-25计算机系0052201陈韬男1981-5-6计算机系0052217袁更旭男1980-12-8计算机系课程号学号成绩C201002210275C505005130995C508A10286992C506005221780实体完整性和参照完整性实例2020/2/18数据库原理及开发142.2.4用户定义完整性用户按照实际的数据库运行环境要求,对关系中的数据所定义的约束条件,它反映的是某一具体应用所涉及的数据必须要满足的条件。2.2关系的完整性2020/2/18数据库原理及开发152.3关系代数2.3.1传统的集合运算当集合运算并、交、差用于关系时,要求参与运算的两个关系必须时相容的,即两个关系的度数一致,并且关系属性的性质必须一致。2020/2/18数据库原理及开发161.并并:是将两个关系中的所有元组构成新的关系,并运算的结果中必须消除重复值。关系R与S的并运算记作:R∪S。学号姓名性别出生日期所在系0022101何芊女1982-6-5电子系0022102王雪莲女1980-9-15电子系0022201叶媛媛女1982-3-5电子系0051309白亚春男1981-1-25计算机系0052201陈韬男1981-5-6计算机系0052217袁更旭男1980-12-8计算机系2020/2/18数据库原理及开发172.交交:将两个关系中的公共元组构成新的关系。关系R与S的交运算记作:R∩S。学号姓名性别出生日期所在系0051309白亚春男1981-1-25计算机系0052217袁更旭男1980-12-8计算机系2020/2/18数据库原理及开发183.差差:运算结果是由属于一个关系并且不属于另一个关系的元组构成的新关系,就是从一个关系中减去另一个关系。关系R与S的差运算记作:R-S。学号姓名性别出生日期所在系0022102王雪莲女1980-9-15电子系0052201陈韬男1981-5-6计算机系2020/2/18数据库原理及开发192.3.2专门的关系运算专门的关系运算包括:选择、投影和连接,用于数据查询服务。1.选择(Selection)选择:是按照给定条件从指定的关系中挑选出满足条件的元组构成新的关系。或者说,选择运算的结果是一个表的行的子集。记作)(R条件表达式学号姓名性别出生日期所在系0051309白亚春男1981-1-25计算机系0052201陈韬男1981-5-6计算机系0052217袁更旭男1980-12-8计算机系)(R所在系=“计算机系”2020/2/18数据库原理及开发202.投影(Projection)投影:是从指定的关系中挑选出某些属性构成新的关系。或者说,选择运算的结果是一个表的列的子集。记作,其中A为R的属性列。投影的结果将取消由于取消了某些列而产生的重复元组。)(RA)(R学号、姓名、性别学号姓名性别0022102王雪莲女0051309白亚春男0052201陈韬男0052217袁更旭男2020/2/18数据库原理及开发213.连接(Join)连接:是将两个和多个关系连接在一起,形成一个新的关系。连接运算是按照给定条件,把满足条件的各关系的所有元组,按照一切可能组合成新的关系。或者说,连接运算的结果是在两关系的笛卡尔积上的选择。记作:自然连接:当连接的两关系有相同的属性名时,称这种连接为自然连接,它是连接的一个特例。记作:2020/2/18数据库原理及开发22学号姓名性别出生日期所在系课程号成绩0022102王雪莲女1980-9-15电子系C201750051309白亚春男1981-1-25计算机系C505950052201陈韬男1981-5-6计算机系C508920052217袁更旭男1980-12-8计算机系C50680学生基本情况表学生选课表2020/2/18数据库原理及开发232.4关系规范化2.4.1问题的提出在设计关系数据库时,经常采用一种自下而上的设计方法。这种方法是对涉及的所有数据进行收集,然后按照栏目进行归纳分类。插入异常:如果某个教师的所开课程某学期没有,或者学生没有选修他开的该课程,那么就无法将该教师及其所开课程的信息存入数据库。删除异常:如果某届学生全部毕业,在删除该系学生时会将课程及相关教师删除。数据冗余:比如,一门课程及其教师要与选修该课程的每一个学生出现的次数一样多解决这些问题的办法就是重新设计数据库。2020/2/18数据库原理及开发24学号姓名性别出生日期所在系课程名称成绩课程教师职称0052201陈韬男1981-5-6计算机系数据库技术90陈刚副教授0052201陈韬男1981-5-6计算机系操作系统85温翠灵讲师0052201陈韬男1981-5-6计算机系C语言75陈刚副教授0051309白亚春男1981-1-25计算机系数据库技术95陈刚副教授0051309白亚春男1981-1-25计算机系操作系统88温翠灵讲师0051309白亚春男1981-1-25计算机系编译技术85李建义讲师2020/2/18数据库原理及开发251.函数依赖的概念在数据库中,属性值之间会发生联系。例如每一本图书只有一个书号,每本书入库只有一个操作员等等。这类联系,称为函数依赖。关系理论中函数依赖是指关系中属性间的对应关系。如关系中对于属性(组)X的每一个值,属性(组)Y只有唯一的值与之对应,则称Y函数依赖于X,或称X函数决定Y,记为X→Y。其中,X称为决定因素。X→Y为模式R的一个函数依赖。【例2.8】设有一个职工关系(职工编号,姓名,性别,所在部门),职工编号是关系的主键。对于该关系中的每一个职工的职工编号,都对应着姓名属性中的唯一值,即该职工的姓名也就是说,一个职工的姓名由他的职工编号唯一确定,所以称职工编号函数决定姓名,或者称姓名函数依赖于职工编号,记作:职工编号→姓名,职工编号为该函数依赖的决定因素。同理,职工编号决定性别、所在部门等属性,分别记作:职工编号→性别,职工编号→所在部门。2020/2/18数据库原理及开发26在一个关系中,可分析出许多依赖关系。函数依赖可区分为完全依赖、部分依赖和传递依赖三类。2.完全函数依赖若X、Y是关系R中属性(组),Y函数依赖X(X→Y)但Y函数不依赖X的任一真子集,则称Y完全函数依赖于X,记作XY。【例2.9】在职工关系(职工编号,姓名,性别,所在部门)中,职工编号同其他每个属性之间的函数依赖都是完全函数依赖,即职工编号姓名,职工编号性别,职工编号所在部门。因为职工编号不可能再包含其他的任何属性,也不可能存在真子集函数决定其他每一个属性的情况。FFFF2020/2/18数据库原理及开发273.部分函数依赖若X、Y为关系R中的属性(组),如Y函数依赖X(X→Y),且X中存在真子集X'(X'≠X,且X'X),满足Y函数依赖X'(X'→Y),则称Y部分函数依赖于X,记作X。【例2.10
本文标题:30第02章 关系数据库理论基础
链接地址:https://www.777doc.com/doc-3884679 .html