第二章 关系数据库

第一节 第二节 第三节 第四节 第五节

第五节 关系演算            (1) (2) (3) (4) (5) (6)
     以数理逻辑中的谓词演算为基础,种类:按谓词变元不同分类。
1.元组关系演算:以元组变量作为谓词变元的基本对象,元组关系演算语言ALPHA。
2.域关系演算:以域变量作为谓词变元的基本对象,域关系演算语言QBE。
2.5.1 元组关系演算语言ALPHA,由E.F.Codd提出,INGRES所用的QUEL语言是参照ALPHA语言研制的语句,检
索语句。
    GET
    更新语句:PUT,HOLD,UPDATE,DELETE,DROP。
一、检索操作
    语句格式:GET 工作空间名 [(定额)](表达式1)[:操作条件] [DOWN/UP 表达式2]
    定额:规定检索的元组个数;
    格式:数字;
    表达式1:指定语句的操作对象;
    格式:关系名| 关系名. 属性名| 元组变量. 属性名| 集函数 [,… ];
    操作条件:将操作结果限定在满足条件的元组中;
    格式:逻辑表达式;
    表达式2:指定排序方式;
    格式:关系名. 属性名| 元组变量. 属性名[,… ]。
(1)简单检索
    GET 工作空间名 (表达式1)
[例1] 查询所有被选修的课程号码。
    GET W (SC.Cno)
[例2] 查询所有学生的数据。
    GET W (Student)
(2)限定的检索
    格式: GET 工作空间名(表达式1):操作条件
[例3] 查询信息系(IS)中年龄小于20岁的学生的学号和年龄。
    GET W (Student.Sno,Student.Sage): Student.Sdept='IS'∧ Student.Sage<20
(3)带排序的检索
    格式:GET 工作空间名(表达式1)[:操作条件] DOWN/UP 表达式2
[例4] 查询计算机科学系(CS)学生的学号、年龄,结果按年龄降序排序。
    GET W (Student.Sno,Student.Sage):
    Student.Sdept='CS‘ DOWN Student.Sage
(4)带定额的检索
    格式:GET 工作空间名(定额)(表达式1)
        [:操作条件] [DOWN/UP 表达式2]
[例5] 取出一个信息系学生的学号。
    GET W (1) (Student.Sno):
    Student.Sdept='IS'
[例6] 查询信息系年龄最大的三个学生的学号及其年龄,结果按年龄降序排序。
    GET W (3) (Student.Sno,Student.Sage):
    Student.Sdept='IS' DOWN Student.Sage
(5)用元组变量的检索
元组变量的含义——表示可以在某一关系范围内变化(也称为范围变量Range Variable)
元组变量的用途——简化关系名:设一个较短名字的元组变量来代替较长的关系名。操作条件中使用量词时
必须用元组变量。定义元组变量,格式: RANGE 关系名 变量名。一个关系可以设多个元组变量 。
(6) 用存在量词的检索
[例8] 查询选修2号课程的学生名字。
    RANGE SC X GET W (Student.Sname):
    X(X.Sno=Student.Sno∧X.Cno='2')

吉林大学网络教育学院 版权所有