数据库-关系模型之关系代数

目录

1.理解为什么要有关系代数

2.关系代数基本操作:

(0)实现操作的要求:并相容性

(1)(操作有五个,不难要多练习

(2)扩展操作

(3)复杂扩展

①除:A➗B(有点复杂)

②外连接

总结


1.理解为什么要有关系代数

目标:实现五个操作的算法

方法:把基本动作组合用关系代数表达→SQL语言→开发数据库管理系统解析语言

2.关系代数基本操作:

(0)实现操作的要求:并相容性

数据库-关系模型之关系代数_第1张图片

数据库-关系模型之关系代数_第2张图片

这就是谁能进行那些操作

接下来正经的操作

(关系的度数是有多少列,也就是多少个属性)

(1)(操作有五个,不难要多练习

数据库-关系模型之关系代数_第3张图片

数据库-关系模型之关系代数_第4张图片

(2)扩展操作

数据库-关系模型之关系代数_第5张图片

自然连接vs等值连接

难区分的部分等值连接自然连接和笛卡尔积,b站上面有视频

数据库-关系模型之关系代数_第6张图片

自然连接就是去掉重复属性的等值连接

数据库-关系模型之关系代数_第7张图片

自然连接一定是等值连接

自然连接会把相同的变成一列http://t.csdnimg.cn/BcuHj

数据库-关系模型之关系代数_第8张图片

(3)复杂扩展

①除:A➗B(有点复杂)

1)条件:

B是A的真子集(内容和数目)

2)结果

属性:A的属性去掉B中的属性,剩余的属性

元组:除之后的元组和B中的每个元组组合出来的新元组,都得是A中的元组

(注:除之后的内容要和B中的每个元组都能组合成A中的元组,如下图:

数据库-关系模型之关系代数_第9张图片

应用:查询选修了全部课程的学生的学号

例子:

数据库-关系模型之关系代数_第10张图片

step1:找到学号xx学生的全部课程

step2:通过除找到它的s#

step:连接起来投影 

②外连接

1)为啥提出?如果用自然连接,很多信息会丢失,比如B里没有的,A里有,连之后就没了

2) 数据库-关系模型之关系代数_第11张图片

左外连接,就是左边的关系的信息不丢失

想留住哪个表的信息,就把口口朝向谁

留课程

数据库-关系模型之关系代数_第12张图片

全部留

数据库-关系模型之关系代数_第13张图片

总结

数据库-关系模型之关系代数_第14张图片

集合操作,对象都是集合

我们的程序执行机构干嘛?就是把我们设计好的语言变成最基本动作的调用;程序=关系代数组合;DBMS解析组合,拆开分解,用基本操作算法实现

数据库-关系模型之关系代数_第15张图片

这节不难,一会做课后题

你可能感兴趣的:(数据库)