关系数据库的操作

众所周知,关系数据库常见的关系操作有:查询,插入,删除,修改这四种操作,而这四种操作有可以分为两大类

  • 数据查询:选择,投影,连接,除,并,交,差,笛卡儿积
  • 数据更新:插入,删除,修改

在查询操作中,选择,投影,并,差,笛卡儿积是5种基本操作,其他操作可以由这几种操作导出,就比如乘法可以用加法来定义和导出一样。

在详细讲述之前,我要着重说明的是,关系模型的操作具有一个非常鲜明的特点,即它操作的对象和结果都是集合,而不像层次模型和网状模型操作的对象和结果都是一次一条记录。

下面我们来讲一下数据查询下面的一些关系运算。

传统的集合运算

1、 并(union) A并B = 在A中或者在B中
2、 差(except) A-B=在A中而不再B中
3、 交(intersection) A交B = 既在A中又在B中
4、 笛卡尔积
这里的笛卡尔积是广义的笛卡尔积,操作的基本单位为一个元组。
所谓笛卡尔积其实就是一个全排列,所有元组各种方式的组合。

专门的关系运算

专门的关系运算包括:选择、投影、连接、除运算

1、 选择(selection)
选择又称为限制(restriction),它是在关系R中选择满足给定条件的诸元组。
它里面可以出现一些逻辑表达式,逻辑表达式形如:

A x B 

这个x不是乘号,它在这里表示比较运算符,比如>,<,=等等,A和B在这里要么是常量,要么是一个属性名,亦或是简单函数。

同时多个逻辑表达式之间可以用逻辑运算符连接,比如:交、并、非

2、 投影(projection)
投影就是从一个表中选择若干属性列组成一个新的关系
比如:

学生(学号,姓名)

可以将它的学号投影出来,即

投影名(学号)

3、 连接(join)
连接是从两个关系的笛卡尔积中选取属性间满足一定条件的元组。

根据连接所选取的条件的不同,可以将连接细分成一些比较特殊的连接情况。
举个例子:假如下面的连接都是表A和表B的连接

  • 等值连接(inner join): 选取的条件为A中某元素 = B中某元素。总之这个条件使用的比较运算符为“=”
  • 自然连接:自然连接是一种特殊的等值连接,它要求A中和B中“=”的两边必须是同名的属性组,并且在结果中把重复的属性去掉。

关于自然连接,又出现了几个概念:

  • 悬浮元组:在进行自然连接的时候,有的元组被舍弃掉了(因为不满足等于的条件),这时候被舍弃的元组就叫悬浮元组
  • 如果把悬浮元组也保存在结果关系中,其他属性上填空值(null),那么这种连接就叫外连接
  • 如果只保留左边关系中的悬浮元组,就叫左外连接(left join),如果只保留右边悬浮元组,就叫右外连接(right join)

4、 除运算(division)
设关系R除以关系S的结果为T,则T包含所有在R但不在S中的属性及其值,且T的元组与S的元组的所有组合都在R中。

听起来比较复杂,确实也不是一两句话能讲清楚,那么这个就请大家自行百度把~~~

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值