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

下载本文档

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

文档简介

1、第2章 关系运算2.1 关系数据结构关系数据结构:具有行列结构的二维表。但有若干规定和限制。以集合的形讨论式相关概念:域:属性值的取值范围。也是具有相同相同特性的数据集合。1、笛卡尔积笛卡尔积是定义在一组域(D1、D2、Dn)上的集合:D1D2Dn =(d1,d2,dn)|diDi, i=1,n(d1,d2,dn):称作元组,也称n元组,di称作分量。笛卡尔积示例:域定义D1=刘备、关羽、张飞D2=刘夫人、关夫人、张夫人D3=刘禅、关平、张苞笛卡尔积:D1D2Dn刘备刘夫人刘禅关羽关夫人张苞刘备刘夫人关平关羽张夫人刘禅刘备刘夫人张苞关羽张夫人关平刘备关夫人刘禅关羽张夫人张苞刘备关夫人关平张飞刘

2、夫人刘禅刘备关夫人张苞张飞刘夫人关平刘备张夫人刘禅张飞刘夫人张苞刘备张夫人关平张飞关夫人刘禅刘备张夫人张苞张飞关夫人关平关羽刘夫人刘禅张飞关夫人张苞关羽刘夫人关平张飞张夫人刘禅关羽刘夫人张苞张飞张夫人关平关羽关夫人刘禅张飞张夫人张苞关羽关夫人关平2、关系 关系:域D1、D2、Dn的笛卡尔积的子集。记作R(D1,D2,.,Dn),R是关系名。关系示例:“三国家庭表”刘备刘夫人刘禅关羽关夫人关平张飞张夫人张苞学生表:S(Sno,Sname,Sage,Sdept)学号Sno姓名Sname年龄Sage所在系Sdept95001李勇20CS95002刘晨19IS95003王敏18MA95004张立19I

3、S课程表:C(Cno,Cname,Ccredit)课程号Cno课程名Cname学分Ccredit1数据库42数学23信息系统44操作系统35数据结构46数据处理27PASCAL语言4学生选课表:SC(Sno,Cno,Grade)学号Sno课程号Cno成绩Grade95001192950012859500138895002290950023803、关系模式关系模式:一个关系的型,即一个关系的具体结构。通常被定义为:R(U,D,DOM,F,I)R关系名U关系中的所有属性名集合D关系的所有定义域的集合DOM属性和域之间的对应关系的集合F关系中各属性之间的数据依赖的集合I关系中所定义的完整性规则的集合

4、4、码 码:实体间相互区别的一种唯一标识。(一个属性或属性集)超码能唯一标识每个元组的属性或属性组。可能有多个超码。候选码关系中能唯一标识每个元组的最少属性或属性组。可能有多个候选码。主属性:候选码中的属性。主码候选码中之一。数据库系统按主码标识和排序每个元组。备用码除了主码之外的所有候选码外码在关系R1中的属性(组)若在另一个关系R2中作为主码使用,则该属性(组)称为R1的外码。2.2 关系完整性关系完整性:通过一致性保障有效性、正确性。2.2.1 实体完整性 基本关系的所有主属性都不能取空值。 2.2.2 参照完整性若属性(组)F1是关系R1的外码,它与关系R2的主码F2相对应,则对于R1

5、中每个元组的F1的值必须为: 或者取空值; 或者等于R2中某个元组的F2的值。示例: Student(Sno,Sname,Ssex,Sage,Sdept)被参照关系的主码Course(Cno,Cname,Cpno,Ccredit)SC(Sno,Cno,Grade)参照关系的外码2.2.3 用户定义的完整性针对某一具体关系数据库的约束条件,反映某一具体应用所涉及的数据必须满足的语义要求。例:SC(Sno,Cno,Grade)中Grade的取值在0100之间。2.3 关系代数集合操作方式:操作的对象和结果都是集合。2.3.1 传统的集合运算设有关系R和关系S,它们有相同的模式结构,并操作新关系的元

6、组:由属于R的元组和属于S的元组组成。差操作新关系的元组由属于R,但不属于S的元组组成。交操作新关系的元组由既属于R又属于S的元组组成。广义笛卡尔积R: m目关系,k1个元组S: n目关系,k2个元组新关系: m+n目关系,有k1k2个元组。每个元组的前m个属性来自R的一个元组,后n个属性来自S的一个元组。 2.3.2 专门的关系运算选择 F(t):条件表达式。从行的角度选择元组。 从关系中选择满足条件的元组,组成一个新关系。示例 投影 A是属性列表。从列的角度分解元组。 从关系的属性中选择若干属性列,组成一个新关系。示例连接设A是R中的属性,B是S中的属性,t是连接结果中的一个元组,tR是t

7、元组中属于R的部分,tS是t元组中属于S的部分,R.A和S.B是t元组中的连接分量。连接:从中,选取属性值满足运算的元组。示例等值连接等值连接:特殊的连接,条件运算符是等号。自然连接自然连接:特殊的等值连接,比较的分量必须是相同的属性组,结果中排除重复的属性列。外连接两个关系R、S在做自然连接时,把舍弃的元组也保存在结果关系中,在其它属性上填空值。左外连接两个关系R、S在做自然连接时,只把左边关系R中要舍弃的元组保留。右外连接两个关系R、S在做自然连接时,只把左边关系S中要舍弃的元组保留。示例 外连接 左外连接 右外连接象集给定一个关系R(X,Y),当tX=x时,x在R中的象集,表示R中属性组

8、X上值为x的诸元组在Y上分量的集合。A的取值范围a1,a2,a3,a4a1的象集为(b1,c2), (b2,c3), (b2,c1)a2的象集为(b3,c7), (b2,c3)a3的象集为(b4,c6)a4的象集为(b6,c6)除给定关系R(X,Y)和S(Y,Z),P是R中满足下列条件的元组在X属性列上的投影:元组在X上分量值x的象集Yx全部包含S在Y上投影的集合中。示例查询至少选修1号和3号课程的学号2.3.3 关系运算综合举例学生表:S(Sno,Sname,Sage,Sdept)学号Sno姓名Sname年龄Sage所在系Sdept95001李勇20CS95002刘晨19IS95003王敏1

9、8MA95004张立19IS课程表:C(Cno,Cname,Ccredit)课程号Cno课程名Cname学分Ccredit1数据库42数学23信息系统44操作系统35数据结构46数据处理27PASCAL语言4学生选课表:SC(Sno,Cno,Grade)学号Sno课程号Cno成绩Grade9500119295001285950013889500229095002380例1:查询出姓名(Sname)为“刘晨”的学号、所选课程的每门课程号及相应成绩。在S中找出“刘晨”的元组:取出该元组的学号:在 SC 中找该学号的元组(自然连接):例2:查询出学号为k的学生的学号、姓名、所选每门课的课程名及成绩。

10、在S中找学号为k的元组:选取其中的学号、姓名:;将S1与SC按照学号自然连接:,含学号、姓名、课程号、成绩;在SC中提取课程号、课程名:将S2与S3按照课程号自然连接:例3:查询出同时选修了“2”和“3”课程的学生的学号。在SC中找课程号是2的元组:找其中的学号:在SC中找课程号是3的元组:找其中的学号:将S2和S4按照学号自然连接:例4:查询出没有选修任何课程的全部学生的学号、姓名。在S中找所有的学号:在SC中找选过课的学号:找没有选修任何课程的学号:将S3与S按照学号自然连接:有三个关系如下,写出下列查询的关系代数:S(Sno,Sname,Ssex,Sage,Sdept)C(Cno,Cname,Cdept,Tname)SC(Sno,C

温馨提示

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

评论

0/150

提交评论