把数量逻辑的谓词演算引入到关系运算中,就可以得到以关系演算为基础的运算。
- 元组关系演算(元组演算): 以元组为变量
- 域关系演算(域演算): 以属性(域)为变量
元组关系演算
- 元组中的表达式简称为“元组表达式”,其一般形式为
{t | P(t)}
其中,t为元组变量,表示一个元数固定的元组;P 是公式,在数理逻辑中也称为谓词,也就是计算机语言中的条件表达式。{ t | P(t)}表示满足公式P的所有元组t的集合
关系演算的3个原子公式
- R 是关系名,t是元组变量,R(t)表示“t是关系R的一个元组”。
- t[i] θ u[j]:其中t和u是元组变量,θ 是算术比较运算符,t[i] θ u[j]表示“元组t的第i个分量和u的第j个分量直接满足θ关系”。
-
t[i] θ C 或 C θ t[j]: 其中C是常量。t[i] θ C 表示“元组t的第i个分量和u的第j个分量之间满足θ关系”。
eg: 检索选修课程名为“数学”的学生号和学生名
t 结果元组
存在u,存在w,存在w
u代表学生表元组,
域关系演算
- 域演算表达式的一般形式为
{ t1,....,tk | R(t1,...,tk) }
其中,t1,...,tk是域变量,R(t1,...tk)是域演算公式 - 域演算的3个原子公式
- R(t1,...,ti,...tk):表示“以t1,...ti...,tk为分量的元组在关系R中”
- ti θ uj: ti和uj是域变量,表示“元组t的第i个分量和u的第j个分量之间满足θ关系”。
-
ti θ C 或 Cθ ti: C是常量,表示“元组t的第i个分量值与带量C之间满足θ关系”
eg: 检索选修课程名为“数据库”的学生号和学生姓名