目的
1.学习关系代数基本操作,包括并、差、积、投影、选择、更名。
2.学习关系代数扩展操作,包括交,theta-连接,自然链接,除,外连接
3.练习
第一个目的
关系代数是将多个关系(表格)作为输入,然后经过一系列操作后得出一个新的关系,是sql的基础。
并相容性:两个关系的属性数目相同,且相对应的属性的域是相同的。其中并,交,差操作需要有并相容性。
并:合并两个集合,并去掉重复的元组
差:在被减集合中不在减集合中
广义笛卡尔积:两个集合中拼接元组的所有可能的集合,链接运算的基础。
选择:给一个条件,选择这个条件为真的元组,sql中的where
投影:选择部分属性,对应sql中select
更名:重命名关系,对应sql中as
第二个目的
交:相交的部分集合
theta-连接:两个关系先笛卡尔积,再满足两个关系属性的条件。DBMS中是可以直接执行这个操作的,比先执行笛卡尔积在筛选会块。
等值连接:特殊的theta-连接,两个关系的属性的条件为相等,也就是将两个关系中指定的属性相等的元组连接起来。
自然连接:特殊的等值连接,两个关系中有相同的属性组,然后将属性组值相等的元组连接起来。将相同的属性组只保留一次就行了。
除:用来求解查询…全部的/所有的…问题。R关系是被除,S关系是除,W是结果关系。
1.W关系的属性为R的属性-S的属性
2.W关系中的任一元组和S的所有元组匹配都在R中,其实可以将S看作一个条件,必须要和S中所有元组都能匹配的才能留再W中。
外连接:没有匹配的到的元组仍然不丢失。
1.左外连接,保持左侧关系的元组不丢失
2.右外连接,保持右侧关系的元组不丢失
3.全外连接,保持两侧关系的元组不丢失
第三个目的
请大家观看哈工大战德臣老师的《数据库系统》课程