形式化关系查询语言

在关系数据库中,数据库模式是指定义数据库的结构,规定的域约束,参照完整性等。实例对应模式在某一时间的快照。关系模式和关系实例也如此。在这里,一个关系对应数据库的一张表,一个元组对应表内一行数据,属性对应字段。

形式化关系查询语言是SQL所基于的形式化模型,同时它也是其他关系查询语言的基础。

关系代数式一种过程化查询语言。它包含一个运算的集合,这些运算以一个或者两个关系作为输入,产生一个新的关系作为输出。关系代数的基本运算有:选择,投影,并(或),集合差,笛卡尔积和更名。除基本运算外还有集合交,自然连接和赋值。

学习该语言应该以过程化思想理解关系的运算。

集合差:如 r - s 的结果即一个包含所有在r中而不在s中的元组的关系。并运算和集合差都必须是同元的,属性数目相同,每个属性的域都相同。

笛卡尔积:通俗点说就是指包含两个集合中任意取出两个元素构成的组合的集合。假设R中有元组M个,S中有元组N个,则R和S的笛卡尔积中包含的元组数量就是M*N。

集合交(与):可以转化为集合差 r ∩ s = r - ( r - s )

关系R与关系S的连接运算是从两个关系的广义笛卡尔积中选取属性间满足一定条件的元组形成一个新的连接。两个表要做连接,就必须有个连接字段.

tu1

这里只举一个关于θ连接的例子:

关系Student

tu2

关系College

tu3

考虑这样的θ操作Student⋈sGPA>cGPACollege
此时θ为sGPA>cGPA
那么得到的新关系为:

tu4

tu5

参考文章1 参考文章2 参考文章3 参考文章4