首页 > 代码库 > 关系数据库域关系演算语言QBE

关系数据库域关系演算语言QBE

 

QBE: Query By Example
? 基于屏幕表格的查询语言
? 查询要求:以填写表格的方式构造查询
? 用示例元素(域变量)来表示查询结果可能的情况
? 查询结果:以表格形式显示

QBE操作框架
技术分享

构造查询的几个要素

示例元素: 即域变量, 一定要加下划线

示例元素是这个域中可能的一个值, 它不必是查询结果中的元素
打印操作符P.: 指定查询结果所含属性列
查询条件: 不用加下划线
可使用比较运算符>, ≥,<, ≤,=和≠  其中=可以省略
排序要求
技术分享

条件查询

技术分享

 


常用集函数:

函 数 名 功 能
CNT 对元组计数
SUM 求 总 和
AVG 求平均值
MAX 求最大值
MIN 求最小值


查询信息系学生的平均年龄。
技术分享

对查询结果排序

升序排序:

对查询结果按某个属性值的升序排序,只需在相应列中填入?AO.? 

降序排序:

按降序排序则填?DO.

多列排序:

如果按多列排序,用?AO(i).? 或?DO(i).? 表示 ,其中i为排序的优先级, i值越小,优先级越高

查全体男生的姓名, 要求查询结果按所在系升序排序, 对相同系的学生按年龄降序排序。
技术分享

 

修改操作

 分两行分别表示改前和改后的示例元素

必须将操作符?U.? 放在关系上

eg:将计算机系所有学生的年龄都改为18岁

技术分享

eg:把95001学生的年龄增加1岁

技术分享

eg:将计算机系所有学生的年龄都增加1岁

技术分享

 

插入操作

eg:把信息系女生95701, 姓名张三, 年龄17岁存入数据库中。 

技术分享

 

 删除操作

eg:删除学生95089

技术分享

为保证参照完整性, 删除95089学生前, 先删除95089学生选修的全部课程
技术分享

 

 

 

关系数据库域关系演算语言QBE