1. 程式人生 > >關系數據庫域關系演算語言QBE

關系數據庫域關系演算語言QBE

多列 orm 信息 表格 sum 劃線 strong 要求 元素

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