1、关系模型的概念关系模型的概念(ginin)数据结构的概念数据结构的概念(ginin)关系完整性的描述关系完整性的描述关系操作的应用关系操作的应用本章本章(bn zhn)(bn zhn)目标目标第一页,共25页。v关系关系(gun x)模型的数据结构模型的数据结构v关系关系(gun x)模型的完整性约束模型的完整性约束v关系关系(gun x)模型的数据操作和关系模型的数据操作和关系(gun x)代代数数第二页,共25页。关系模型(mxng)的结构示例:学生登记表基本概念:关系模式、元组与关系 属性和值域、关键字(Key)或主码 候选(hu xun)关键字、主关键字、非主属性 外部关键字、主表与从
2、表第三页,共25页。关系关系(gun x)(gun x)模型的数据结模型的数据结构(续)构(续)v关系模式:关系模式:v 一般表示形式一般表示形式(xngsh):关系名(属性关系名(属性1,属性,属性2,属性,属性n)v 如:如:学生(学号,姓名,性别,年龄,学部号,原单位)学生(学号,姓名,性别,年龄,学部号,原单位)v元组与关系元组与关系关系元组(行)关系名学生关系模式(行定义)关系模型示例第四页,共25页。A、连接运算:(join)它反映某一具体应用所涉及的数据必须满足的语义要求。这是针对某一具体数据的约束条件,由应用环境决定。A、连接运算:(join)选择、投影(tuyng)、连接、除
3、外部关键字、主表与从表用户定义(dngy)的完整性规则:供应商关系S(主码是“供应商号”)从表:学生(学号,姓名,性别,专业号,年龄)前提是目数和类型必须(bx)相同。第二十一页,共25页。1)、集合运算:积、并、交、差。每一个属性是不可分的,也不允许出现重复属性。B、并运算(Union)这条规则要求关系中的元组在组成主键的属性上不能有空值。关系数据(shj)模型概述A、连接运算:(join)关系模型关系模型(mxng)(mxng)的数据结构的数据结构(续)(续)v属性属性(shxng)和值域和值域v关键字关键字(Key)或码或码学生登记表属性(列)和属性名码值域(15=年龄=30)关系模型示
4、例第五页,共25页。关系关系(gun x)(gun x)模型的数据结模型的数据结构(续)构(续)v候选候选(hu xun)关键字或候选关键字或候选(hu xun)码码v主关键字或主码主关键字或主码v非主属性或非码属性非主属性或非码属性第六页,共25页。关系模型关系模型(mxng)(mxng)的数据结的数据结构(续)构(续)v外部外部(wib)关键字或外键关键字或外键v主表与从表主表与从表学生(主表)成绩(从表)主键外键两表的关联第七页,共25页。第二十三页,共25页。精品(jn pn)课件!关系(gun x)模型的数据结构(续)B、并运算(Union)关系(gun x)模型的数据结构(续)第二
5、十四页,共25页。从表:学生(学号,姓名,性别,专业号,年龄)关系模型(mxng)的数据结构(续)1 关系(gun x)操作符精品(jn pn)课件!关系模型的数据(shj)完整性本章(bn zhn)目标数据结构的概念(ginin)关系(gun x)模型的完整性约束今要向关系P中插入新行,新行的值分别列出如下(rxi)。关系关系(gun x)(gun x)模型中对关模型中对关系系(gun x)(gun x)的限定的限定v每一个关系模式中属性的个数是固定的,并必须命名,在同每一个关系模式中属性的个数是固定的,并必须命名,在同一个关系模式中,属性必须是不同的。一个关系模式中,属性必须是不同的。v每
6、一个属性是不可分的,也不允许出现重复属性。每一个属性是不可分的,也不允许出现重复属性。v在关系中元组的顺序(即行序)是无关紧要在关系中元组的顺序(即行序)是无关紧要(w gun jn yo)的。的。v在关系中列的顺序也是无关紧要在关系中列的顺序也是无关紧要(w gun jn yo)的,即的,即列的顺序可任意交换。列的顺序可任意交换。v关系中不允许出现重复元组。关系中不允许出现重复元组。第八页,共25页。v概念:概念:v 关系模型的数据完整性是指数据库中数据的正确性和一致关系模型的数据完整性是指数据库中数据的正确性和一致性。数据完整性由数据库完整性规则来维护。性。数据完整性由数据库完整性规则来维
7、护。v四类完整性规则:四类完整性规则:v -实体实体(sht)完整性规则完整性规则v -参照完整性规则参照完整性规则v -域完整性规则域完整性规则v -用户定义的完整性规则用户定义的完整性规则第九页,共25页。属性属性(shxng)(shxng)的类型的类型vNULLNULL属性属性vnullnull表示表示“无意义无意义”,当实体在某个属性上没有值时设为,当实体在某个属性上没有值时设为nullnullv 如通讯录(姓名,如通讯录(姓名,emailemail,BPBP),若某人没有),若某人没有emailemail地址,地址,则在则在emailemail属性上取值为属性上取值为nullnull
8、vnullnull表示表示“值未知值未知”,即值存在,但目前没有获得该信息,即值存在,但目前没有获得该信息v 如职工(姓名,部门,工种,身份证),如果目前不知道如职工(姓名,部门,工种,身份证),如果目前不知道(zh do)(zh do)职工身份证号码,则设身份证值为职工身份证号码,则设身份证值为nullnullv实体完整性实体完整性v作为主码的属性上取值不能为作为主码的属性上取值不能为nullnull第十页,共25页。实体实体(sht)(sht)完整性规完整性规则则v实体完整性规则:实体完整性规则:v 这条规则要求关系中的元组在组成主键的属性上这条规则要求关系中的元组在组成主键的属性上不能有
9、空值。不能有空值。v意义:关系对应到现实世界中的实体集,元组对应到实体,意义:关系对应到现实世界中的实体集,元组对应到实体,实体是相互可区分的,通过主码来唯一标识,若主码为空,实体是相互可区分的,通过主码来唯一标识,若主码为空,则出现不可标识的实体,这是不容许则出现不可标识的实体,这是不容许v 例如:例如:v 在关系在关系“学生学生(xu sheng)(学号,姓名,年龄,班(学号,姓名,年龄,班级)级)”中,学号属性为主码,则要求学号不能取空值。中,学号属性为主码,则要求学号不能取空值。第十一页,共25页。参照参照(cnzho)(cnzho)完整性完整性规则规则v参照完整性规则:参照完整性规则
10、:v 这条规则要求这条规则要求(yoqi)在相关联的两个表中,从表在相关联的两个表中,从表中不能引用主表不存在的元组。中不能引用主表不存在的元组。v例如:例如:v 从表:学生(学号,姓名,性别,专业号,年龄)从表:学生(学号,姓名,性别,专业号,年龄)v 主表:专业(专业号,专业名)主表:专业(专业号,专业名)第十二页,共25页。参照参照(cnzho)(cnzho)完整性完整性规则规则供应商号供应商号供应商名供应商名所在城市所在城市B01红星红星北京北京S10宇宙宇宙上海上海T20黎明黎明天津天津Z01立新立新重庆重庆零件号零件号颜色颜色供应商号供应商号010红红B01312白白S10 201
11、蓝蓝T20今要向关系P中插入新行,新行的值分别列出如下(rxi)。哪些行能够插入?A(037,绿,null)B(null,黄,T20)C(201,红,T20)D(105,蓝,B01)E(101,黄,T11)零件(ln jin)关系P(主码是“零件(ln jin)号”,外码是“供应商号”)供应商关系S(主码是“供应商号”)第十三页,共25页。用户用户(yngh)(yngh)定义的完整性定义的完整性规则规则v用户定义用户定义(dngy)的完整性规则:的完整性规则:v 这条规则是指用户根据应用环境的不同这条规则是指用户根据应用环境的不同针对某一具体关系数据库定义针对某一具体关系数据库定义(dngy)
12、的约束条的约束条件。件。v 这是针对某一具体数据的约束条件,由应这是针对某一具体数据的约束条件,由应用环境决定。它反映某一具体应用所涉及的数据用环境决定。它反映某一具体应用所涉及的数据必须满足的语义要求。必须满足的语义要求。第十四页,共25页。v传统的集合运算:传统的集合运算:v 并、交、差、广义笛卡尔积并、交、差、广义笛卡尔积v专门的关系运算:专门的关系运算:v 选择、投影选择、投影(tuyng)、连接、除、连接、除 第十五页,共25页。2.4.1 2.4.1 关系关系(gun x)(gun x)操作符操作符v 1)、集合、集合(jh)运算:积、并、交、差。运算:积、并、交、差。v A、积(
13、、积(product)v 定义:设定义:设R为为n目的关系,目的关系,S为为m目的关系,目的关系,则他们的积为(则他们的积为(n+m)目关系。记为)目关系。记为R*S。第十六页,共25页。2.4.1 2.4.1 关系关系(gun x)(gun x)操作符操作符v 1)、集合运算:积、并、交、差。、集合运算:积、并、交、差。v B、并运算(、并运算(Union)v 定义:关系定义:关系R和关系和关系S的并,是有属于的并,是有属于R和和S的的元组组成的集合。记为元组组成的集合。记为 R U S。v 前提是目数和类型必须前提是目数和类型必须(bx)相同。相同。第十七页,共25页。2.4.1 2.4.
14、1 关系关系(gun x)(gun x)操作符操作符v 1)、集合运算、集合运算(yn sun):积、并、交、差。:积、并、交、差。v C、交运算、交运算(yn sun):(:(Intesect)v 定义:关系定义:关系R和关系和关系S的交是由同时属于的交是由同时属于R和和属于属于S的元组组成的集合。记为的元组组成的集合。记为R S。第十八页,共25页。2.4.1 2.4.1 关系关系(gun x)(gun x)操作符操作符v D、差运算、差运算(yn sun):(:(Difference)v 定义:关系定义:关系R和关系和关系S的差是由属于的差是由属于R 而不属而不属于于S得元组组成的集合。
15、记为得元组组成的集合。记为R-S。第十九页,共25页。2.4.2 2.4.2 关系关系(gun x)(gun x)运算运算v A、选择运算:(、选择运算:(select)v 定义定义(dngy):在关系:在关系R中选择满足条件中选择满足条件F的所有元组组成的集合。记为的所有元组组成的集合。记为 SLf(R)。)。v 其中:其中:SL:选择运算符。:选择运算符。R:关系名。:关系名。F:选:选择条件。择条件。第二十页,共25页。2.4.2 2.4.2 关系关系(gun x)(gun x)运算运算 B、投影运算:(、投影运算:(Project)定义:关系定义:关系R上的投影是从上的投影是从R中选择
16、出若干属性中选择出若干属性(shxng)列组成新的关系。记作:列组成新的关系。记作:注意:投影运算之后不仅取消了原关系中的某些注意:投影运算之后不仅取消了原关系中的某些列,而且还可能取消某些元组。因为取消了某些列,而且还可能取消某些元组。因为取消了某些属性属性(shxng)列后,就可能出现重复行,应取列后,就可能出现重复行,应取消这些完全相同的行,以免造成冗余。消这些完全相同的行,以免造成冗余。第二十一页,共25页。2.4.3 2.4.3 其它其它(qt)(qt)运算和除法运算运算和除法运算 A、连接运算:(、连接运算:(join)定义:从关系定义:从关系R与关系与关系S的积中,选取的积中,选取R中的第中的第I属属性值和性值和S的第的第j个属性值之间满足条件个属性值之间满足条件F的元组组的元组组成成(z chn)的集合。它是的集合。它是R*S的子集。的子集。第二十二页,共25页。精品精品(jn pn)课件!课件!第二十三页,共25页。精品精品(jn pn)课件!课件!第二十四页,共25页。本章本章(bn zhn)(bn zhn)总结总结关系数据关系数据(shj)模型概述模型概述关系模型的数据关系模型的数据(shj)结构结构关系模型的数据关系模型的数据(shj)完整性完整性关系模型的数据关系模型的数据(shj)操作操作第二十五页,共25页。