- 1、本文档共67页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
北航数据库原理与技术第二章new
元组关系演算(续VII) 设R和S都是二元关系,试把关系代数表达式∏1,4(?2 = 3 (R×S))转换为元组表达式 R×S = {t(4) | (?u) (?v) (R(u) ? S(v) ? t[1]=u[1] ? t[2]=u[2] ? t[3]=v[1] ? t[4]=v[2])} ?2 = 3 (R×S) = {t(4)| (?u) (?v) (R(u) ? S(v) ? t[1]=u[1] ? t[2]=u[2] ? t[3]=v[1] ? t[4]=v[2] ? u[2]=v[1])} ∏1,4(?2 = 3 (R×S)) = {t(2) | (?u) (?v) (R(u) ? S(v) ? t[1]=u[1] ? t[2]=v[2] ? u[2]=v[1]) } 域关系演算 在域关系演算系统中,称{ t1t2…tk |?( t1 , t2 , … , tk )} 为域演算表达式。表示所有使谓词?为真的元组集合。 ti代表域变量,如果域变量前有“全称”(?)或“存在”(?)量词,则称其为约束域变量,否则称为自由域变量。 ?为由域关系演算公式,由原子公式和运算符组成。 原子公式: R( t1 , t2 ,…,tk ) 。 ti是域变量或域常量。 ti ? uj。域变量ti与uj之间满足比较关系? 。 ti ? c或c? ti 。域变量ti与常量c之间满足比较关系? 。 域关系演算(续I) 公式的递归定义: 每个原子公式是公式。 如果?1 , ?2是公式,则?1 ? ?2 , ?1 ? ?2 , ┑?也是公式。 如果?是公式,则?ti(?)和?ti(?) 也是公式。 域关系演算公式中运算符优先级与元组演算公式中运算符优先级的规定相同。 域关系演算公式是有限次运用上述规则得到的公式,其他公式不是域关系演算公式。 域关系演算(续II) 查找学号为95001的学生姓名和年龄 {t1t2| (?u1)(?u3)(?u5)(Student(u1t1u3t2u5) ?u1=‘95001’)} 查找选修了1号课程或3号课程的学生的学号 {t1| (?u2)(?u3) (SC(t1u2u3) ?(u2=1?u2=3))} 关系演算的安全性 关系演算有可能会产生无限关系或导致无穷验证,这样的表达式是不安全的。如{t | ┑R(t)}会导致无限关系。而当t的定义域无穷时,要想判断(?t)(F(t))为假或判断(?t)(F(t))为真时会发生无穷验证。为此,需对两种关系演算进行限制,使之具有安全性。 设?是一个元组关系演算公式,?的符号集合(简记为dom(?))是由如下两类符号构成的集合: ?中的所有常量 ?中出现的关系的所有元组的所有分量值 关系运算的安全性(续I) 当满足下列条件时,一个元组关系演算表达式{t |?(t)}是安全的: 如果?(t)为真,则元组t的每个分量都属于dom(?) 。 对于?中的每个形如(?t)(F(t))的子表达式,如果F(t)为真,则元组t的每个分量都属于dom(?) 。 对于?中的每个形如(?t)(F(t))的子表达式,如果F(t)为假,则元组t的每个分量都属于dom(?) 。 域关系演算表达式也必须满足类似的条件才是安全的。 关系运算的安全性 A B 1 B1 1 B2 2 B3 dom(┑R(t)) = {{1 , 2} , {B1 , B2 , B3}} A B 1 B3 2 B1 2 B2 R { t |┑R(t) } * * * * * * * * 做法:逐个考虑选课关系中的元组r,求r在姓名上的分量x,再求x在选课关系中的象集课程x,若课程x包含了所有的课程,则x是满足条件的一个元组。 * * * * 交运算(续I) A B C d a f R∩S A B C a b c d a f c b d A B C b g a d a f R S 广义笛卡尔积 定义 两个关系R,S,其度分别为n,m,则它们的笛卡尔积是所有这样的元组集合:元组的前n个分量是R中的一个元组,后m个分量是S中的一个元组。 R?S={ t | t= r , s ? r?R ? s?S } R?S的度为R与S的度之和, R?S的元组个数为R和S的元组个数的乘积。 广义笛卡尔积(续I) R×S R.A R.B R.C S.A S.B S.C a b c b g a a b c d a f d a f b g a d a f d a f c b d b g a c b d d a f A B C a b c d a f c b d A B C b g a d a f R S 选择运算 基本定义 在关系R中选择满足给定条件的元组。 ?F(R)={t | t ? R ? F(t) = ‘真’} F是选择的条件,取
文档评论(0)