形式化关系查询语言

形式化关系查询语言

  • 列表项

tags: 数据库


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

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

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

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

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

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

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

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

连接分类连接说明
自然连接自然连接首先在笛卡尔积的基础上,基于相同属性相等性进行选择,最后去除重复属性。自然连接是特殊的等值连接。如果两个关系没有相同属性,那么自然连接结果是个笛卡尔积
theta连接θ表示关系比较符。是自然连接的扩展,它使得我们可以把一个选择运算和一个笛卡尔积运算合并为一个运算。可理解为在笛卡尔积上选择满足θ条件的元组形成新的关系。
等值连接(内连接)θ在“ = ”时的连接为等值连接。
交叉连接返回一个笛卡尔积

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

关系Student

IDsNamesGPA
1133730208Wang3.1
1133730209Zhou4.0
1133730210Zhang2.2

关系College

cNameStatecGPA
UC BerkeleyCalifornia3.2
MITMassachusetts3.5
CMUPennsylvania3.0

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

IDsNamesGPAcNameStatecGPA
1133730208Wang3.1CMUPennsylvania3.0
1133730209Zhou4.0UC BerkeleyCalifornia3.2
1133730209Zhou4.0MITMassachusetts3.5
1133730209Zhou4.0CMUPennsylvania3.0
外连接分类连接说明
左外连接取出左侧关系中所有与右侧关系的任一元组都不匹配的元组,用空值填充右侧关系的属性,再把新元组加入到自然连接的结果中
右外连接取出右侧关系中所有与右侧关系的任一元组都不匹配的元组,用空值填充左侧关系的属性,再把新元组加入到自然连接的结果中
全外连接左右外连接都做。

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

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值