元组公式

三种原子公式:

sR

s是R中的一个元组

s[A]c

其中可以代指各种比较运算符。

s[A]u[B]

以上三种原子公式的逻辑运算都是公式
公式之间的逻辑运算也是公式

举例:
例如:检索出年龄小于20岁并且是男同学的所有学生。
{ t | tStudent and t[Sage] < 20 and t[Ssex] = ‘男’ }
再例如:检索出年龄小于20岁或者03系的所有男学生。
{ t | tStudent ( t[Sage] < 20 and t[D#] = ‘03’ ) and t[Ssex] = ‘男’ }

关系元组演算

举例:

已知:学生关系:Student(S#, Sname, Sage, Ssex, Sclass)
课程关系:Course(C#, Cname, Chours, Credit, Tname)
选课关系:SC(S#, C#, Score)

求学过李明老师讲授所有课程的学生姓名(全都学过)
例

关系域演算

关系域演算和元组演算很类似:
例
例

域演算语言 QBE

例

QBE命令

  • Print 或 P. —— 显示输出操作
  • Delete或D. —— 删除操作
  • Insert或I. —— 插入操作
  • Update或U. —— 更新操作

筛选示意

找出年龄小于17岁的所有女同学
例

示例元素

例如:找出年龄小于17岁或者年龄大于20岁的所有同学的姓名
例
这里P.X的理解:P指的是Print,X是示例元素(相当于变量,用于接收结果)

这里上下使用的是两个变量(P.X和P.Y),互相没有约束,可以认为是“或”
但假如上下均使用的P.X,上下就构成了约束,两者就变成了“且”关系

用示例元素完成多个表的连接

例如:李明老师教过的所有学生
例