域关系演算

简介:域关系演算以元组变量的分量即域变量作为谓词变元的基本对象。QBE语言是一种基于屏幕表格的查询语言,用户通过终端屏幕编辑程序以填写表格的方式进行查询,查询的结果也以表格的形式显示。

                QBE操作框架

关系名属性名1属性名2属性名3属性名...
操作命令元组属性值/查询条件/操作命令元组属性值/查询条件/操作命令元组属性值/查询条件/操作命令元组属性值/查询条件/操作命令

1、检索操作

  •  简单查询

               

#求信息系全体学生的姓名

        步骤:

                1、用户提出要求

                2、屏幕显示空白表格

                

                3、用户在最左边一栏输入关系名Student

Student

                4、系统显示该关系的属性名

StudentSnoSnameSageSdept

                5、用户在上面构造查询要求

StudentSnoSnameSageSdept
P.TIS

                说明:T为示例元素即域变量。QBE要求域变量一定要加上下划线。IS是查询条件,不用加下划线。P是操作符,表示打印。示例元素不必是真实存在的一个元素。

                6、屏幕显示查询结果

StudentSno SnameSageSdept
张立IS
#查询全体学生的信息

                5、用户在上面构造查询要求

StudentSnoSnameSageSdept
P.201215121P.李勇P.21P.CS

                或者

StudentSnoSnameSageSdept
P.
  • 条件查询
#求年龄大于19岁的学生的学号
StudentSnoSnameSageSdept
P.201215121>19
#求计算机系年龄大于19岁的学生的学号
StudentSnoSnameSageSdept
P.201215121>19CS

                或者

StudentSnoSnameSageSdept
P.201215121>19
P.201215121CS
#查询即选了1号课程又选了2号课程的学生学号
 SCSnoCnoGrade
P.2012151211
P.2012151212

#查询选修1号课程的学生姓名

StudentSnoSnameSageSdept
201215121P.李勇
SCSnoCnoGrade
2012151211
#查询未选修1号课程的学生姓名
StudentSnoSnameSageSdept
201215121P.李勇
201215122P.张勇
SCSnoCnoGrade
!2012151211
201215122
#查询有两个人以上选修的课程号
SCSnoCnoGrade
2015121P.1
20151211

2、聚集函数

为了方便用户,QBE提供了一些聚集函数,主要包括CNT,SUM,AVG,MAX,MIN

函数名功能
CNT对元组计数
SUM求总和
AVG求平均值
MAX求最大值
MIN求最小值
#查询信息系学生的平均年龄
StudentSnoSnameSageSdept
P.AVG.ALL.IS

3、对查询结果排序

对查询的某个属性按升序排序,只需要在相应列表中加入'AO.',按降序排序则填入'DO.'。如果是按多个属性排序,则可以使用'AO(i).'或者'DO(i).'。其中i表示排序的优先级。

#查询全体男生的姓名,要求查询结果按所在系升序排列,对相同系的学生按年龄降序排序
StudentSnoSnameSsexSageSdept
P.张立DO(2).AO(1).

4、更新操作

  • 修改操作

                修改操作符'U.',在QBE语言中,主码不允许修改。

#把201215121学生的年龄改为18岁
StudentSnoSnameSsexSageSdept
201215121U.18
#把学号201215121学生的年龄增加1岁
StudentSnoSnameSsexSageSdept
20121512117
U.20121512117+1
#将所有计算机系的学生的年龄加1
StudentSnoSnameSsexSageSdept
20121512117CS
U.20121512117+1

5、删除操作

删除操作的操作符是'D.'

#删除学生201215189
StudentSnoSnameSsexSageSdept
D.201215189

                        说明:但是由于数据库需要保持完整性,还需要将具有参照关系的表中的数据删除。

SCSnoCnoGrade
D.201215189

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值