您的位置:首页 > 其它

关系代数的七个扩充操作-及其深刻内涵

2013-09-01 09:43 447 查看
现实需求推动,问题推动,概念的发展过程。

现实需求推动:广义投影、外连接、外部并、聚集操作

问题推动:改名、赋值(这两个是从技术的角度进行化简)

五个基本操作-->四个组合操作-->七个扩充操作。

在整个知识链中的地位?

这是SQL语言的数学基础、深刻理解关系代数对SQL的深刻理解有帮助,为以后的SQL做准备。

1、改名

改名可以使关系代数能清晰地表达其语义,就像画思维导图的效果一样,解决问题前先将问题清晰明了地表达出来,而命名是一种非常简单有效的方法,难怪《代码大全2》中这么强调命名的重要性,这对化简是非常重要的。

2、广义投影

广义投影使用算术函数对投影进行扩展。这其实就是投影的扩展,以更加适应现实的要求、化简、辅助的作用。

3、赋值

书本上写的:“通过赋值给临时变量,可以将关系代数表达式分开写,达到将复杂的表达式化整为零,成为简单的表达式”

自己的理解:高中代数时学习了整体替换的方法,在面向对象思想中也有方法、类、包的概念,这样其实是模块化,封装繁杂的细节,这样看问题的观点就会放在各个模块上而不是繁杂的细节上,达到化简的目的。

4、外连接

是在自然连接的基础上扩展的。将自然连接缺失的元组加上来。



5、外部并

这里注意外连接和外部并的区别,外连接是在自然连接的关系上;外部并是没有连接,直接并的。



6、半连接



7、聚集操作

这是关系代数的统计功能,也是适应现实需求的,加上这个功能后,也才是完备的。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: