你的位置:www.5824.com > www.5824.com >

此中s、u为元组变量

2019-11-10      点击:

  关系代数的根基运算脚以表达任何干系代数查询。附加的关系代数运算不克不及加强关系代数的表达能力,但能够简化一些常用的查询。

  外毗连(outer-join)运算:毗连运算的扩展,可处置缺失的消息(由于不满脚天然毗连前提而不克不及正在天然毗连成果中找到的元组),避免消息的丢失。

  并(union)运算:可将两个调集并起来,找出呈现正在两个调集之一或同时呈现正在两个调集中的所有元组。用暗示。

  天然毗连(natural join)运算(⋈):起首构成两个参数关系的笛卡尔积,然后基于两个关系模式中都呈现的属性上的相等性进行选择(只考虑两个关系正在所有不异属性有不异值的元组构成的元组对),最初去除反复属性(并不反复记实正在两个关系模式中都呈现的属性)。

  起首通过改名运算援用此中一个instructor关系以便计较笛卡尔积instructor×instructor,再构制选择运算比力肆意两个呈现正在统一元组中的salary选择较低的元组。通过投影拔取instructor.salary列获得非最高工资形成的姑且关系*/

  雷同并运算,必需做调集叉运算的关系是相容的,不然运算成果没成心义。要使调集差运算r-s成心义,要求一下两个前提同时成立:

  必需做并运算的关系是相容的,不然运算成果没成心义。要使并运算rs成心义(r和s能够是数据库关系或做为关系代数表达式成果的姑且关系),要求以下两个前提同时成立:

  因为不异的属性名可能同时呈现正在r1和r2中,需要一个定名机制来区别这些属性。可采用把属性所来自的关系名称附加到该属性上的方式。

  留意:关系代数中的属于select取SQL中的环节词select寄义分歧,关系代数中属于select对应SQL中的where。

  /*所有满脚如下前提的元组t的调集:正在关系instructor中存正在元组s使t和s正在属性ID上的值相等,且s正在属性salary上的值大于80000美元。

  扩展的关系代数(extended relational-algebra)运算可实现一些不克不及用根基的关系代数运算来表达的查询。

  域关系演算(domain relational calculus):关系演算的另一种形式,利用隶属性域中取值的域变量,而不是整个元组的值。

  s[x]