数据库 系统4_副本.ppt

  1. 1、本文档共117页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
元组关系演算 原子公式 s∈R s是关系R中的一个元组 s[x] ? u[y] s[x]与u[y]为元组分量,他们之间满足比较关系? s[x] ? c 分量s[x]与常量c之间满足比较关系? 元组关系演算 公式的递归定义 原子公式是公式 如果P是公式,那么┑P也是公式 如果P1 , P2是公式,则P1 ? P2 , P1 ? P2 , P1 ? P2也是公式 如果P(t)是公式,R是关系,则?t?R (P(t))和?t?R (P(t)) 也是公式 元组关系演算 公式的等价性 P1 ?P2 ? ┑(┑P1 ? ┑P2) ? t?R (P(t)) ? ┑?t ?R (┑P(t)) P1 ? P2 ? ┑P1 ?P2 p q ┑p p ?q ┑p ? q T T F T T T F F F F F T T T T F F T T T 元组关系演算 A B C 1 2 3 4 5 6 7 8 9 A B C 1 2 3 3 4 6 5 6 9 R S A B C 3 4 6 5 6 9 { t | t ? S ? t[A] 2} A B C 4 5 6 7 8 9 { t | t ? R ? ┑t?S } 元组关系演算 A B C 1 2 3 3 4 6 { t | t?S ? ?u?R(t[C] u[B])} A B C 4 5 6 7 8 9 { t | t?R ? ?u?S(t[C] u[A])} R.B S.C R.A 5 3 4 8 3 7 8 6 7 8 9 7 { t | v?S ? ?u?R(u[A]v[B] ? t[A]=u[B] ?t[B]=v[C] ?t[C]=u[A]))} 元组关系演算 表达式的安全性 元组关系演算有可能会产生无限关系,这样的表达式是不安全的 如{t | ┑(t ? R)},求所有不在R中的元组 引入公式P的域概念,用dom(P)表示 dom(P) = 显式出现在P中的值 + 在P中出现的关系的元组中出现的值(不必是最小集) 如dom ( t | ┑(t ? R) )是R中出现的所有值的集合 如果出现在表达式{t | P(t)}结果中的所有值均来自dom(P),则称{t | P(t)}是安全的 元组关系演算 A B A1 B1 A1 B2 A2 B3 dom(┑(t ?R)) = {A1 , A2, B1 , B2 , B3} A B A1 B3 A2 B1 A2 B4 R { t |┑(t ?R) } 元组关系演算 示例 找出工资在800元以上的老师 {t | t?PROF ? t[SAL] 800} 找出工资在800元以上的老师的姓名 {t | ?s?PROF ( t[PNAME] ? s[PNAME] ? s[SAL] 800 )} 给出计算机系老师的姓名 {t | ?u?DEPT ( u[DNAME] = “计算机系” ? ?s?PROF ( s[DNO] = u[DNO] ? t[PNAME] ? s[PNAME] ))} 元组关系演算 求选修了全部课程的学生号 {t | ?u?C ( ?s?SC ( s[CNO] = u[CNO] ? t[SNO] ? s[SNO] ))} 求选修了张军同学所选修的全部课程的学生姓名 ?课程,张军选之 ? 所求同学选之 {t | ?u?C ( ?s?SC ? ?w?S ( s[CNO] = u[CNO] ? w[SNO] ? s[SNO] ? w[SNAME] = “张军” )) ? ?s1?SC ? ?w1?S ( s1[CNO] = u[CNO] ? w1[SNO] ? s1[SNO] ? w1[SNAME] = t[SNAME] )} 元组关系演算 元组关系演算与关系代数的等价性 投影 ∏A( R ) = { t | ?s?R ( s[A] = t[A] ) } 选择 ?F(A)(R) = { t | t?R ? F(t[A]) } 广义笛卡儿积 R(A) ? S(B) = { t | ?u?R?s?S( t[A] = u[A] ? t[B] = s[B])} 并 R?S={ t | t?R ? t?S} 交 R?S={ t | t?R ? ┑t?S} 元组关系演算 R(A, B)是二元关系 { t | t∈R ? ?u∈R (t[A] ≠u[A] ? t[B]≠u[B])} 求R中的那些元组,其中在R中存在与之不同的元组,因此当R中元组个数为0或1时,结果为空;当R中元组个数大于1时,表达式的结果是R本身 { t | t∈R ? ?u∈R (t[A] ≠u[A] ∧ t[B]≠u[B])} all or none 域关系演算 形式化定义 { x1 , x2 ,

文档评论(0)

xiaofei2001128 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档