目录
目标:实现五个操作的算法
方法:把基本动作组合用关系代数表达→SQL语言→开发数据库管理系统解析语言
这就是谁能进行那些操作
接下来正经的操作
(关系的度数是有多少列,也就是多少个属性)
自然连接一定是等值连接
自然连接会把相同的变成一列http://t.csdnimg.cn/BcuHj
1)条件:
B是A的真子集(内容和数目)
2)结果
属性:A的属性去掉B中的属性,剩余的属性
元组:除之后的元组和B中的每个元组组合出来的新元组,都得是A中的元组
(注:除之后的内容要和B中的每个元组都能组合成A中的元组,如下图:
应用:查询选修了全部课程的学生的学号
例子:
step1:找到学号xx学生的全部课程
step2:通过除找到它的s#
step:连接起来投影?
1)为啥提出?如果用自然连接,很多信息会丢失,比如B里没有的,A里有,连之后就没了
2)?
左外连接,就是左边的关系的信息不丢失
想留住哪个表的信息,就把口口朝向谁
留课程
全部留
集合操作,对象都是集合
我们的程序执行机构干嘛?就是把我们设计好的语言变成最基本动作的调用;程序=关系代数组合;DBMS解析组合,拆开分解,用基本操作算法实现
这节不难,一会做课后题