第二章关系数据库1.ppt

  1. 1、本文档共55页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
广义笛卡尔积运算 ? 元组的连串( Concatenation ) ? 若 r = (r 1 , … , r n ) , s = (s 1 , … , s m ) ,则定义 r 与 s 的连串为: ? 定义 ? 两个关系 R , S ,其度分别为 n , m ,则它们的笛卡尔积 是所有这样的元组集合:元组的前 n 个分量是 R 中的一 个元组,后 m 个分量是 S 中的一个元组 ? R ? S 的度为 R 与 S 的度之和, R ? S 的元组个数为 R 和 S 的元 组个数的乘积 rs = (r 1 , … , r n , s 1 , … , s m ) R ? S={ rs | r ? R ? s ? S } 广义笛卡尔积运算 A B ? ? 1 2 r C D ? ? ? ? 10 10 20 10 E a a b b s A B ? ? ? ? ? ? ? ? 1 1 1 1 2 2 2 2 C D ? ? ? ? ? ? ? ? 10 19 20 10 10 10 20 10 E a a b b a a b b r x s 2.3.2 专门的关系运算 ? 专门的关系运算包括选择、投影、连接、除等。 为了叙述上的方便,先引入几个记号。 ⑴ 设关系模式为 R(A 1 ,A 2 , … ,A N ) 。它的一个 关系设为 R 。 t ∈ R 表示 t 是 R 的一个元组。 t[A i ] 则 表示元组 t 中相应于属性 A i 上的一个分量。 ⑵ 若 A={A i1 ,A i2 , … ,A ik } ,其中 A i1 ,A i2 , … ,A ik 是 A 1 ,A 2 , … ,A N 中的一部分,则 A 称为属性列或域列。 t[A]=(t[A i1 ],t[A i2 ], … ,t[A ik ]) 表示元组 t 在属性列 A 上诸分量的集合。 A 则表示 (A 1 ,A 2 , … ,A N ) 中去掉 {A i1 ,A i2 , … ,A ik } 后剩余的属性组。 2.3.2 专门的关系运算 ⑶ R 为 n 目关系, S 为 m 目关系。 t r ∈R, t s ∈S, t r t s 称 为元组的 连接 。它是一个 n + m 列的元组,前 n 个 分量为 R 中的一个 n 元组,后 m 个分量为 S 中的一个 m 元组。 ⑷ 给定一个关系 R(X , Z) , X 和 Z 为属性组。定义当 t[X]=x 时, x 在 R 中的 象集 为: Z x ={t[Z] | t∈R, t[X]=x} R 中属性组 X 上值为 x 的诸元组在 Z 上分量的集合。 2.3.2 专门的关系运算 X 1 Z 1 X 1 Z 2 X 1 Z 3 X 2 Z 2 X 2 Z 3 X 3 Z 1 X 3 Z 3 R 图 2.3 象集举例 X 1 在 R 中的象集 Zx 1 ={Z 1 ,Z 2 ,Z 3 } X 2 在 R 中的象集 Zx 2 ={Z 2 ,Z 3 } X 3 在 R 中的象集 Zx 3 ={Z 1 ,Z 3 } 从 R 中选出在 X 上取值为 x 的元组, 去掉 X 上的分量,只留 Z 上的分量 选择运算 ? 基本定义 在关系 R 中选择满足给定条件的元组(从行的角度) ? F (R)={t | t ? R , F(t) = ‘ 真 } F 是选择的条件, t ? R , F(t) 要么为真,要么为假 F 的形式:由 逻辑运算符 连接 算术表达式 组成 逻辑表达式: ? (与), ? (或), ? (非) 算术表达式: X ? Y (比较) X , Y 是属性名、常量、或简单函数 ? 是比较算符, ? ? { ? , ? , ? , ? , ? , } 选择运算 A B C 3 6 7 2 5 7 7 2 3 4 4 3 R ? A5 (R) A B C 3 6 7 2 5 7 4 4 3 ? A5 ? C=7 (R) A B C 3 6 7 2 5 7 投影 ? 定义 ? 从关系 R 中取若干列组成新的关系(从列的角度) ? A (R) = { t[A] | t ? R } , A ? R 注意:投影的结果中要去掉相同的行! c b c f e d c b a C B A B C b c e f R ? B , C (R) 投影 ? 示例 给出所有学生的姓名和年龄 ? SN, AGE (S) 找 001 号学生所选修的课程号 ? C# ( ? S#=001 ( SC )) 更名运算 ? 定义 ? 给一个关系表达式赋予名字 ? x ( E ) 返回表达式 E 的结果,并把名字 x 赋给 E ? x ( A 1 , A 2 , ? , A n ) ( E ) 返回表达式 E 的结

文档评论(0)

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

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

1亿VIP精品文档

相关文档