第6讲关系演算.ppt
《第6讲关系演算.ppt》由会员分享,可在线阅读,更多相关《第6讲关系演算.ppt(34页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、第3章 关系数据库理论 关系演算1第第6讲讲 关系演算关系演算本章内容关系模型关系代数关系演算2第第6讲讲 关系演算关系演算关系操作语言关系演算语言关系演算语言用数理逻辑中的谓词演算来表达关系的操作 用查询的结果应满足的谓词条件来表达查询要求。3.3 关系演算3第第6讲讲 关系演算关系演算关系操作语言关系关系R R的表示的表示用集合描述法建立谓词与关系间的联系。关系R可以看成是满足一定条件的元组或属性域的集合。R=u R(u)u u 可为元组变量或域变量可为元组变量或域变量 R R(u u)是一个谓词)是一个谓词3.3 关系演算4第第6讲讲 关系演算关系演算元组关系演算关系关系R R的表示的表
2、示查询的形式 t (t)t为元组变量,即查询的目标为元组变量,即查询的目标 称为元组演算公式,即查询的条件称为元组演算公式,即查询的条件用到变量用到变量t (t)是布尔值)是布尔值true或或false t (t)表示使表示使(t)为真的元组)为真的元组t的集合。的集合。3.3 关系演算5第第6讲讲 关系演算关系演算元组关系演算元组演算公式元组演算公式 原子公式原子公式R(t):表示:表示t是是R中的元组。中的元组。t i u j:表示表示“元组元组t的第的第i个分量与元组个分量与元组u 的的第第j个分量进行比较运算个分量进行比较运算”。t i C:表示:表示“元组元组t的第的第i个分量与常量
3、个分量与常量C进行进行比较运算比较运算”3.3 关系演算6第第6讲讲 关系演算关系演算元组关系演算元组演算公式元组演算公式 递归定义递归定义原子公式是公式。原子公式是公式。设设 1(t1)和和 2(t2)是公式,则是公式,则 1(t1),1(t1)2(t2),1(t1)2(t2)也是公式。也是公式。设设(t)是公式,)是公式,t是是(t)中的元组变量,)中的元组变量,则(则(t)(t),),(t)(t)也是公式。)也是公式。有限次使用上述规则得到的式子都是公式。有限次使用上述规则得到的式子都是公式。3.3 关系演算(t)(t)表示表示“若有一个若有一个 t 使使 为真,则为真,则(t)(t)为
4、真,否则为为真,否则为假假(t)(t)表示表示“如果对如果对所有所有 t 都使都使 为真,则为真,则(t)(t)为真,否则为为真,否则为假假7第第6讲讲 关系演算关系演算元组关系演算元组演算公式元组演算公式约束变量与自由变量约束变量与自由变量若元组演算公式中的一个元组变量前有若元组演算公式中的一个元组变量前有“全称量词全称量词”和和“存在量词存在量词”,则称该变量为约束元组变量,则称该变量为约束元组变量,否则称自由元组变量。否则称自由元组变量。在公式(在公式(t)(t)和()和(t)(t)中)中,称为称为是量词的辖域。是量词的辖域。t出现在出现在(t)或或(t)的辖域内,的辖域内,t 为约束元
5、组变量,被量词所绑定。任何没有以这种为约束元组变量,被量词所绑定。任何没有以这种方法显示绑定的变量都称为自由变量。方法显示绑定的变量都称为自由变量。3.3 关系演算8第第6讲讲 关系演算关系演算元组关系演算元组演算公式元组演算公式 公式运算符公式运算符算术比较符:算术比较符:,=存在量词存在量词 和全称量词和全称量词 逻辑运算符:逻辑运算符:,3.3 关系演算高高低低9第第6讲讲 关系演算关系演算RSR S元组关系演算与关系代数的等价性与关系代数的等价性 t R(t)S(t)ABCdafbgaABCabcdafcbdbgaABCabcdafcbd3.3 关系演算10第第6讲讲 关系演算关系演算
6、RSRS t R(t)S(t)元组关系演算与关系代数的等价性与关系代数的等价性 ABCabccbdABCbgadafABCabcdafcbd3.3 关系演算11第第6讲讲 关系演算关系演算t(2)(u)(R(u)t1=u1t2=u3)ABCabcdafcbdRA,C(R)ACacdfcd元组关系演算与关系代数的等价性与关系代数的等价性 3.3 关系演算12第第6讲讲 关系演算关系演算ABCabcdafcbdRB=b(R)ABCabccbd t R(t)t2=b 元组关系演算与关系代数的等价性与关系代数的等价性 3.3 关系演算13第第6讲讲 关系演算关系演算ABCa1b1C1a1b2C3DEb
7、1c1b1c1b2c2RSABCDEa1b1c1b1c1a1b1c1b1c1a1b1c1b2c2a1b2c3b1c1a1b2c3b1c1a1b2c3b2c2RxSt(5)(u)(v)(R(u)S(v)t1=u1t2=u2 t3=u3t4=v1t5=v2)元组关系演算与关系代数的等价性与关系代数的等价性 3.3 关系演算14第第6讲讲 关系演算关系演算3.3 关系演算元组关系演算用元组演算表达式实现查询用元组演算表达式实现查询给定一个数据库,元组关系演算查询的结果是数据库给定一个数据库,元组关系演算查询的结果是数据库中能使中能使查询条件为真的查询条件为真的变量变量t 的值的的值的所有选择的集合所
8、有选择的集合。根据查询条件书写关系演算表达式,要分析查询的语根据查询条件书写关系演算表达式,要分析查询的语义,用相应的公式去表达。并注意约束变量和自由变义,用相应的公式去表达。并注意约束变量和自由变量的使用。量的使用。15第第6讲讲 关系演算关系演算3.3 关系演算元组关系演算用元组演算表达式实现查询用元组演算表达式实现查询语句形式化过程需要注意如下问题语句形式化过程需要注意如下问题准确地从查询语句中提取谓词,即元组变量和元准确地从查询语句中提取谓词,即元组变量和元组分量所满足的谓词条件。组分量所满足的谓词条件。涉及某个关系上的全部个体或某个个体时,使用涉及某个关系上的全部个体或某个个体时,使
9、用限于该关系的限于该关系的“限定谓词限定谓词”。准确确定量词和量词的辖域,当辖域中多于一个准确确定量词和量词的辖域,当辖域中多于一个谓词时必须注意括号的使用谓词时必须注意括号的使用。16第第6讲讲 关系演算关系演算【例】应用实例数据库中的关系模式 学生关系:S(学号、姓名、性别、年龄)课程关系:C(课程号、课程名、先修课程号)选课关系:SC(学号、课程号、成绩)3.3 关系演算17第第6讲讲 关系演算关系演算(1)查询学生年龄大于等于)查询学生年龄大于等于20岁的学生姓名岁的学生姓名学生关系:S(学号、姓名、性别、年龄)课程关系:C(课程号、课程名、先修课程号)选课关系:SC(学号、课程号、成
10、绩)t(1)(u)(S(u)u4 20 t1=u2)学号学号姓名姓名性别性别年龄年龄S1S1王小艳王小艳女女1818S2S2李明李明男男2020S3S3司马南司马南男男1818S4S4李昕李昕女女1919S5S5成功成功男男2121u3.3 关系演算18第第6讲讲 关系演算关系演算(2)查询学号为)查询学号为“S1”的学生选修的课程中其成绩为的学生选修的课程中其成绩为“98”的所有课程的所有课程号号学生关系:S(学号、姓名、性别、年龄)课程关系:C(课程号、课程名、先修课程号)选课关系:SC(学号、课程号、成绩)u t(1)(u)(SC(u)u1=S1u3=98 t1=u2)学号学号课程号课程
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 关系 演算
限制150内