关系演算有2种形式:元组关系演算和域关系演算。前者的公式中的变量是元组变量,后者的公式中的变量是域变量。
一:元组关系演算
形式:{t|x(t)} x(t)是公式,意思是求使得x(t)为真的元组t的集合。
1元组关系演算公式
原子公式:R(t)是原子公式。t[i] θs[j]是原子公式。t[i] θc或c θ t[i]是原子公式。
原子关系演算公式其实就是原子公式加上∧,∨,┐,全称量词和存在量词。
运算符的优先级:算术比较运算符的优先级最高,其次是量词运算符,最后是逻辑运算符。
2用元组关系运算表示查询
选择:交上条件。
投影:交上映射,标明是几元关系。
笛卡尔积:交上映射,标明是几元关系。
单个关系:选择和投影。
多个关系:又用到自然选择运算,在这里是自然选择条件。
除运算:有3个转换,A->B等价于┐A∨B,┐(A∨B)等价于┐A∧┐B,∀xA(x)等价于┐(∃x)┐A(x)。
3元组关系演算的安全性
定义一个符号集:DOM(w),包含常量符号和关系元组中出现的所有符号。
二:域关系演算
形式:{(x1…xn)|x(x1…xn)},求使得x(x1…xn)为真的元组(x1…xn)的集合。
域关系演算公式:
原子公式:R(x1…xn)是原子公式。Xθy是原子公式。
域关系演算公式由读者给出。
元组关系演算和域关系演算之间可以进行转换。
三:关系语言的表达能力
关系代数和关系演算具有相同的表达能力。
以上就是我对于关系演算的认识。