关系查询语言和关系运算
关系数据库的数据操纵语言(DML)的语句分成查询语句和更新语句两大类。从计算机语言的角度看,后者是在前者基础上的工作,前者比后者更复杂。关于查询的理论称为“关系运算理论”。
关系查询语言根据其理论基础的不同分成三类:
(1)关系代数语言。
(2)关系演算语言。
(3)关系逻辑语言。
关系代数:
关系代数中的操作可以分为两类:
传统的集合操作:并、差、交、笛卡儿积
扩充的关系操作:投影、选择、连接、除法
关系代数的五个基本操作
并、差、笛卡儿积、投影、选择
关系代数的四个扩充操作
交、连接、自然连接、除法
并(Union)
设关系R和S具有相同的关系模式,R和S的并是由属于R或属于S的元组构成的集合,记为R∪S。形式定义如下:
R∪S≡{t | t∈R ∨ t∈S},t是元组变量,R和S的元数相同。
差(Difference)
设关系R和S具有相同的关系模式,R和S的差是由属于R但不属于S的元组构成的集合,记为R-S。形式定义如下:
R-S≡{ t | t∈R ∧ tÏS},R和S的元数相同。
笛卡儿积(Cartesian Product)
设关系R和S的元数分别为r和s,定义R和S的笛卡儿积是一个(r+s)元的元组的集合,每个元组的前r个分量(属性值)来自R的一个元组,后s个分量来自S的一个元组,记为R×S。形式定义如下:
R×S≡{t | t=<tr,ts>∧tr∈R∧ts∈S}