第二章+关系模型和关系运算理论.ppt

  1. 1、本文档共63页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
关系代数的五个基本操作 (3) 选择(Selection) 选择操作是根据某些条件对关系做水平分割,即选取符合条件的元组。条件可用命题公式(即计算机语言中的条件表达式)F表示。F中有两种成分: 关系R关于公式F的选择操作用σF(R)表示,形式定义如下: σF(R)={ t | t∈R ∧ F(t)= true } σ为选择运算符,σF(R)表示从R中挑选满足公式F为真的元组所构成的关系。 例如,σ2>ˊ3ˊ(R)表示从R中挑选第2个分量值大于3的元组所构成的关系。书写时,为了与属性序号区别起见,常量用引号括起来,而属性序号或属性名不要用引号括起来。 关系代数的五个基本操作 (例) 例2.3 图2.12有两个关系R和S,图2.13的(a)、(b)表示R∪S和R-S。(c)表示R×S,此处R和S的属性名相同,就应在属性名前注上相应的关系名,例如R.A、S.A等。图2.13的(d)表示πC,A(R),即π3,1(R)。(e)表示σB=ˊbˊ(R)。 (a)关系R (b)关系S 图2.12 两个关系 关系代数的五个基本操作 (例) (a)R∪S (b)R-S (c)R×S (d)πC,A(R)(e)σB=b(R) 图2.13 关系代数操作的结果 返回 关系代数的四个组合操作 (1) 交(intersection) 关系R和S的交是由属于R又属于S的元组构成的集合,记为R∩S,这里要求R和S定义在相同的关系模式上。形式定义如下: R∩S≡{t︱t∈R ∧ t∈S},R和S的元数相同。 由于R∩S = R-(R-S),或R∩S = S-(S-R),因此交操作不是一个独立的操作。 在图2.12中,R∩S的结果是只有一个元组(d,a,f)。 关系代数的四个组合操作 (2) 联接(join) 联接有两种:θ联接和F联接(这里θ是算术比较符,F是公式)。 ① θ联接 R ? S≡{t︱ t=tr,ts ∧ tr∈R ∧ ts∈S ∧tr iθts j } ② F联接 F联接是从关系R和S的笛卡尔积中选取属性间满足某一公式F的元组, 这里F是形为F1∧F2∧…∧Fn的公式,每个FP是形为iθj的式子,而i和j分别为关系R和S的第i、第j个分量的序号。 关系代数的四个组合操作 (3) 自然联接(natural join) 两个关系R和S的自然联接操作具体计算过程如下: ① 计算R×S ; ② 设R和S的公共属性是A1,…,AK,挑选R×S中满足R.A1=S.A1,…,R.AK=S.AK 的那些元组; ③去掉S.A1,…,S.AK这些列。 定义: πi1,…,im (σR.A1=S.A1∧... ∧R.AK=S.AK(R×S)),其中i1,…,im为R和S的全部属性,但公共属性只出现一次。 关系代数的四个组合操作 (4) 除法(division) 设关系R和S的元数分别为r和s(设rs0),那么R÷S是一个(r-s)元的元组的集合。(R÷S)是满足下列条件的最大关系:其中每个元组t与S中每个元组u组成的新元组t,u必在关系R中。 R÷S≡π1,2,…,r-s(R)-π1,2,…,r-s((π1,2,…,r-s(R)×S)-R) 返回 关系代数运算的应用实例 在关系代数运算中,把由五个基本操作经过有限次复合的式子称为关系代数表达式。这种表达式的运算结果仍是一个关系。我们可以用关系代数表达式表示各种数据查询操作。 例2.7 返回 关系代数的七个扩充操作 改名 广义投影 赋值 外联接(outer join) 外部并(outer union) 半联接(semijoin) 聚集操作 返回 2.3 关系演算 把数理逻辑的谓词演算引入到关系运算中,就可得到以关系演算为基础的运算。关系演算又可分为元组关系演算和域关系演算,前者以元组为变量,后者以属性(域)为变量。 2.3.1 元组关系演算 2.3.2 域关系演算 2.3.3 关系运算的安全约束和等价性 返回 元组关系演算 (1) 在元组关系演算(Tuple Relational Calculus)中,元组关系演算表达式简称为元组表达式,其一般形式为 { t | P(t)} 其中,t是元组变量,表示一个元数固定的元组;P是公式,在数理逻辑中也称为谓词,也就是计算机语言中的条件表达式。{ t | P(t)}表示满足公式P的所有元组t的集合。 元组关系演算 (2) 在元组表达式中,公式由原子公式组成。 定义2.4 原子

文档评论(0)

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

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

1亿VIP精品文档

相关文档