欢迎来到天天文库
浏览记录
ID:57690697
大小:16.00 KB
页数:2页
时间:2020-09-01
《SQL Server——关系代数中的语义.doc》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、上篇文章小编和大家谈到关系代数的语法,这篇文章将和大家讲的是语义,看了上篇文章也许你不是很懂,那就把这篇文章看完了吧。文章中的语义中操作符为:并、交、差、积。下面和大家一一谈及。希望对大家有所帮助。1.并数学中两个集合的并是这两个集合的所有元素组成的集合。因为一个关系是(或更确切地说是包含)一个集合,即一个元组的集合,所以构造这样两个集合的并是完全可能的;所得结果包含了出现在任一个或两个原关系中的所有元组。例如,出现在关系变量S中的供应商元组的集合与出现在关系变量P中的零件元组的集合的并当然是一个集合。然而,尽管这一结果是一个集合,却不是一个关系;关系不能含有不同类型的元组,
2、其中的元组必须是同类的。当然,我们希望结果是一个关系,因为要保持封闭性。所以,关系代数中的并,不是通常数学中的并;它是一种特殊类型的并,要求两个参与操作的关系是同一类型—即它们或者都包含供应商元组,或者都包含零件元组,而不能是两者的混合。如果两个关系属于同一类型,那就可以进行并操作,得到的结果是一个相同类型的关系;换句话说,封闭的特性被保持了下来。下面是关系并操作的定义:给定两个相同类型的关系A和B,两者的并即AUNIONB是相同类型的一个关系,关系的主体由出现在A中或B中或同时出现在两者之中的所有元组组成。2.交由于和并基本相同的原因,关系交操作符的操作对象必须是相同类型的
3、。给定类型相同的关系A和B,它们的交AINTERSECTB是一个相同类型的关系,关系的主体包含同时出现在A和B中的所有元组。3.差像并和交一样,关系的差操作符也要求操作对象是同一类型。给定两个类型相同的关系A和B,它们的差AMINUSB(两者有先后次序)是一个与它们的类型相同的关系,关系的主体包含属于A但不属于B的所有元组。来自程序员之家4.积数学里的两个集合的笛卡尔积是满足如下条件的有序对的集合:每个有序对的第一个元素来自于第一个集合,第二个元素来自第二个集合。因此,两个关系的笛卡尔积可粗略地说是有序元组对的集合。但我们想保持封闭的特性;换句话说,我们想要结果包含元组本身,
4、而不是有序的元组对。因此,关系的笛卡尔积是对这一操作的一个扩充,其中的每个有序元组对代替以两个相关元组相并得出的一个元组(这里的“并”是一般集合理论上的并,而不是特殊的关系意义上)。因此给定:{A1:a1,A2:a2,?,Am:am}和{B1:b1,B2:b2,?,Bn:bn}两者的并是一个单个元组:{A1:a1,A2:a2,?,Am:am,B1:b1,B2:b2,?,Bn:bn}笛卡尔积连接中的另一个问题是:需要结果关系有一个正确形式的表头(即正确的关系类型)。现在已明确的是结果的表头包含了两个输入关系的所有属性。如果两个关系的表头有共同的属性名,问题就会出现了;如果操作允
5、许,结果的表头会有两个相同名称的属性,这就不再是一个“好的形式”(well-formed)。如果对两个有相同属性名称的关系进行笛卡尔积操作,必须首先用RENAME操作符适当地更改属性的名称。
此文档下载收益归作者所有