关系模型中的运算.ppt

  1. 1、本文档共29页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
关系模型中的运算

第四章 关系模型中的运算 Operations In The Relational Model 概述 数据库的核心应用是数据库的查询 查询语言 用户用来从数据库中请求获取信息的语言 关系代数是过程化的查询语言 关系代数是一种抽象的查询语言 §4.1 关系代数 运算对象:关系 运算结果:关系 关系代数 关系代数的运算 普通的集合运算 并、交、差 删除部分关系的运算 选择、投影 合并两个关系元组的运算 连接、积 改名运算 关系代数 — 并Union (∪) R和S的并,R∪S,是在R或S或两者中的元素的集合 一个元素在并集中只出现一次 R和S必须同类型(属性集相同、次序相同,但属性名可以不同) 关系代数 — 交Intersect (∩) R和S的交,R∩S,是在R和S中都存在的元素的集合 一个元素在交集中只出现一次 R和S必须同类型(属性集相同、次序相同,但属性名可以不同) 关系代数 — 差Minus (-) R和S的差,R-S,是在R中而不在S中的元素的集合 R和S必须同类型(属性集相同、次序相同,但属性名可以不同) 关系代数—投影Projection(π) 从关系R中选择若干属性组成新的关系 πA1,A2,…,An(R),表示从R中选择属性集A1,A2,…,An组成新的关系 列的运算 投影运算的结果中,也要去除可能的重复元组 例: πssex,sage(student) ? 关系代数—选择Selection(σ) 从关系R中选择符合条件的元组构成新的关系 σC(R),表示从R中选择满足条件(使逻辑表达式C为真)的元组 行的运算 例: σsage >= 23 AND sdep = ‘CS’(student) ? 例:列出CS系的学号及姓名 πsno,sname(σsdep = ‘CS’(student) ) 关系代数—笛卡儿积(×) 关系R、S的笛卡儿积是两个关系的元组对的集合所组成的新关系 R×S: 属性是R和S的组合(有重复) 元组是R和S所有元组的可能组合 是R、S的无条件连接,使任意两个关系的信息能组合在一起 例: student ×sc (注意sno的命名) 关系代数—自然连接( ) 从R×S的结果集中,选取在某些公共属性上具有相同值的元组,组成新的关系 R、S的公共属性 属性集的交集(名称及类型相同) 公共属性在结果中只出现一次 等值连接 例: student sc (注意sno的命名) 关系代数—条件连接(θ) 从R×S的结果集中,选取在指定的属性集上满足θ条件的元组,组成新的关系 θ是一个关于属性集的逻辑表达式 R C S 关系代数—改名(ρ) 对关系R实施改名运算,可显式地改变关系名及属性名 将关系R改名为S:ρs(R) 将关系R(B1,B2,…,Bn)改名 S(A1,A2,…,An):ρ S(A1,A2,…,An)(R) 关系代数—查询中的复合运算 例:找出比‘95001’年龄大的学生的学号和姓名、年龄 πs.sno,s.sname,s.sage(ρs(student) s.sage > stu.sage (σstu.sno=‘95001’(ρstu(student)))) 关系代数—查询中的复合运算 例:找出比‘95001’年龄大的学生的学号和姓名、年龄(与前例的结果有何差异?) πs.sno,s.sname,s.sage(σstu.sno=‘95001’ and s.sage > stu.sage (ρs(student))×(ρstu(student))) 关系代数—外连接 是连接运算的扩展,可以处理缺失信息 保留非匹配元组 外连接 左外连接 右外连接 全外连接 关系代数—左外连接 取出左侧关系中所有与右侧关系的任一元组都不匹配的元组,用空值填充所有来自右侧关系的属性,再把产生的元组加到自然连接的结果上 例:列出影星的当官情况(是影星,可能不是官) MovieStar MovieExec 关系代数—右外连接 与左外连接对称 例:列出行政长官的从影情况(是长官,可能不是影星) MovieStar MovieExec 关系代数—全外连接 左外连接与右外连接的合成 例:列出所有行政长官和所有影星的关系 MovieStar MovieExec §4.5 对关系的约束 关系数据模型 数据结构 关系操作 关系的完整性约束 实体完整性 参照完整性 用户定义的完整性 用关系代数作为约束语言 用关系代数可以表达约束 R = 0; R ? 0 R ? S;R-S = 0 参照完整性约束 如果对象(实体)A与对象(实体)B相关,那么B必须存在 如果一个关系R的一个元组有个分量值为v,那么期望v将出现在另

您可能关注的文档

文档评论(0)

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

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

1亿VIP精品文档

相关文档