目录
有了数据库,还要通过查询来获得数据。SQL是常用的查询语言,但我想用更抽象的查询语言来表达,从思路上去理解而忽略实现细节。下面将介绍关系代数。
数据库实例
在介绍查询语言之前,先定义一个数据库实例:
Sailors(sid: integer, sname: string, rating: interger, age: real)
Boats(bid: integer, bname: string, color: string)
Reserves(sid: integer, bid: integer, day: date)
关系代数
选择与投影
选择和投影均可对单个关系进行操作。选择行的操作符为 σ \sigma σ,投影列的操作符为 π \pi π,两种操作均可以添加检索条件。
等级大于8的水手: σ r a t i n g > 8 ( S a i l o r s ) \sigma{_{rating > 8}}(Sailors) σrating>8(Sailors)
所有水手名字和等级: π s n a m e , r a t i n g ( S a i l o r