关系代数之复杂操作
除操作
除法运算常用来求解“查询…全部的/所有的…”的问题。
前提条件:给定关系R为n度关系和关系S为m度关系。如果可以进行除运算,当且仅当:S的属性集是R的属性集的真子集,即m<n。
定义:关系R和关系S的除运算也是一个关系,记作人:R ÷ S,分两部分进行定义。
- 先定义R ÷ S结果的属性有哪些?
就是R的属性 - S的属性。 - 再定义R ÷ S的元组怎样形成?
R ÷ S的元组的每一个元组与关系S的元组的组成都是关系R中的某一个元组。
例:
例:
例:
外连接
定义:两个关系R,S进行连接时,如果关系R(或S)中的元组在S(或R)中找不到匹配的元组,则为了避免该元组信息缺失,从而将该元组与S(或R)中假定存在的全为空值的元组形成连接,放置在结果关系中,这种关系称之为外连接。
- 外连接 = 自然连接(或θ连接) + 失配的的元组
- 外连接的形式 = 左外连接,右外连接,全外连接
- 左外连接 = 自然连接(或θ连接)+ 左侧表中失配的元组
- 右外连接 = 自然连接(或θ连接)+ 右侧表中失配的元组
- 全外连接 = 自然连接(或θ连接)+ 两侧表中失配的元组
外连接例子:
外连接操作示例:因为老师的信息要罗列出来,所以是左外连接。
查询所有课程的信息,因为课程要展现出来,所以是右外连接。
查询所有课程和老师信息:两边都要展现出来。
总结: