关系运算解读_第1页
关系运算解读_第2页
关系运算解读_第3页
关系运算解读_第4页
关系运算解读_第5页
已阅读5页,还剩2页未读 继续免费阅读

下载本文档

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

文档简介

1、第二章关系运算学习目标了解和掌握关系数据结构中涉及到的域、笛卡儿积、关系、关系模式等有关内容的含义;掌握关系的实体完整性和参照完整性的定义;掌握关系代数中的并、交、差、笛卡儿积运算,以及选择、投影和连接运算2.1关系数据结构、域(Domain):域是具有相同特性的数据集合二、笛卡尔积1、定义:笛卡尔积是定义在一组域上的集合,假定一组域用D1,D2,Dn表示,则它们的笛卡尔积表示为DKD2K-XDn=(d1,d2,dn)|diDi,1<i<n(1)笛卡尔积中的每个元素称为元组(2)每个元组中的一个值di称为该元组的一个分量,n是域的个数,也是每个元组中分量的个数,具有n个分量的元组被

2、称为n元组。(有几个域就有几个分量)在D1,D2,Dn域中,若任一个域di的基数(即所含元素的个数)用mi表示,则它们的笛卡尔积中所含元组的个数为m=m1*m2*mn举例说明(见教材34页)三、关系1、定义:关系是笛卡尔积的一个子集,若笛卡积具有n个域,则该笛卡尔积上的关系被称为n兀关系。2、一个n元关系具有六个性质(1)关系中每列的数据属于同一个域,每列为一个属性,列名称为属性名,每列的值为属性值,同一个关系中所有属性名必须是可区分的。(2)不同列允许对应同一个域;一个关系中属性的次序在理论上可以任意;(4) 一个关系中的任意两个元组不允许完全相同,即不允许出现重复元组;(5) 一个关系中元

3、组的次序可以任意;(6) 一个元组中的每个属性值都必须是单值。四、关系模式(RelationSchema)1、定义:关系模式是一个关系的型,即一个关系的具体结构,通常表示为R(U,D,DOM,F,I)U为该关系中所有属性名的集合D为该关系的所有定义域的集合DOMfc属性向域映射的集合F为该关系中各属性之间的数据依赖的集合I为完整性规则的集合简化表示为R(A1,A2,A3,,An)关系模式只是一个关系的框架,具有该框架结构的所有元组才是该关系的值。五、码(Key)(1)超码(SuperKey):关系中能唯一标识每个元组的属性或属性组被称为该关系的超码。一个关系可能有多个超码。(2)候选码(Can

4、didateKey)关系中能唯一标识每个元组的最少属性或属性组被称为该关系的候选码。(3)主码(PrimaryKey)从候选码中选择一个作为该关系的主码,数据库系统将按主码标识和排序每个元组。(4)备用码(AlternateKey)除了主码之外的所有候选码都是该关系的备用码。(5)外码(ForeignKey)在关系R1中的属性或属性组若在另一个关系R2中作为主码使用,则称该属性或属性组为R1的外码。例1:一个关系R(学生号,姓名,性别,年龄,专业,身份证号)超码:学生号,或身份证号,或学生号,身份证号候选码:学生号,身份证号主码:学生号,或是身份证号备用码:当是学牛号时为身份证号当是身份证号是

5、为学牛号例2:设关系R1(学生号,姓名,Tt别,班级号),R2(班级号,班级名,班主任)其中班级号为R2关系的主码,却是R1关系的外码。(6)非主属性:包含在任何候选码中的属性都称为该关系的主属性,除主属性外都是非主属性。例:有三个关系,学生(学生号,姓名,班级),课程(课程号,课程名,学分),选课(学生号,课程号,成绩)学生号是学生关系的主码,是选课关系的外码。课程号是课程关系的主码,是选课关系的外码。2.2关系完整性关系完整性:就是关系模型中数据的正确性、一致性和有效性。1、实体完整性实体完整性规则:关系的主码不能取空值,或者说任何关系中每个元组的主码不能为空。2、参照完整性参照完整性规则

6、:在两个参照和被参照关系中,参照关系中每个元组的外码或者为空,或者等于被参照关系中某个元组的主码。参照完整性规则就是定义外码与主码之间的引用规则。参照关系为子关系,被参照关系为父关系不仅两个或两个以上关系间可以存在引用关系,同一关系内部属性间也可能存在引用关系。例1:有两个关系:学生(学号-姓名,性别,专业号,年龄)专业(专业号,专业名)上面两个关系中,学生关系中“专业号”属性与专业关系的主码“专业号”相对应,“专业号”为学生关系的外码。专业关系为被参照关系,学生关系为参照关系。学生关系一(专业号)-专业关系例2:学生、课程、选修三个关系表示如下:学生(空匕姓名,性别,专业号,年龄)课程(课程

7、号,课程名,学分)选修(学号,课程号,成绩)学生关系-(学号)-选修一(课程号)-课程关系例3:在关系学生(学少姓名,性别,专业号,年龄,班长)中,“学号”属性是主码,“班长”属性表示该学生所在班级的班长的学号,它引用了本关系“学号”属性,即“班长”必须是确实存在的学生的学号。上例:说明在参照完整性规则中,R与S可以是同一个关系。如“班长”属性的取值有两种情况:(1)空值,表示该学生所在班级尚未选出班长。(2)非空值,这时该值必须是本关系中某个元组的学号值。3、用户定义的完整性当用关系模型来描述对象时,关系中的每个属性除了用定义域或对应的数据类型进行取值约束外,有时还需要定义一些附加条件约束。

8、如:某个属性必须取唯一值、某些属性之间应满足一定的函数关系、某个属性的取值范围等。2.3关系运算一、传统的集合运算1、并运算RUS=t|teRVtS举例2、交运算RnS=t|tRAtS3、差运算R-S=t|tRAt不CS4、笛卡尔积RXS=trts|trRAtsS二、专门的关系1、选择运算(Select):选择运算是单目运算,它从一个关系R中选择出满足给定条件的所有元组,并同R具有相同的结构。选择运算提供了横向划分关系的手段。用公式表达为:6F(t)(R)=t|tRAF(t)=TRUE2、投影运算(Project)投影运算也是单目运算,它从一个关系R中按所需顺序选取若干个属性构成新关系,该新关系的元组数必然小于等于原关系R中的元组数,因为要从中去掉在新关系模式下重复的元组。投影运算提供了纵向划分关系的手段。用集合公式表示为:【A(R)=t.A|tR3、连接运算(Join)连接运算是双目运算,它把两个关系R和S按相应属性值的比较条件连接起来,它是R和S

温馨提示

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

评论

0/150

提交评论