关系演算是以数理逻辑中的谓词演算为基础的。以谓词演算为基础的查询语言称为关系演算语言。用谓词演算作为
数据库查询语言的思想最早见于Kuhns的论文。把谓词演算用于关系数据库语(即关系演算的概念)是出E.F.Codd提出来的。
元组关系演算以元组
变量作为谓词变元的基本对象。典型的
元组关系演算语言是E.F.Codd提出的ALPHA语言,但这一语言并没有实际实现。现在关系库管理系统INGRES所用的QUEL语言是参会照ALPHA语言研制的,与ALPHA十分相似
基本格式中:操作语句主要有GET、PUT、HOLD、UPDATE、DELETE和DROP六条语句;工作空间是用户与系统的通信区,它可以用一个字母表示,通常用W表示;
表达式用于指定语句的操作对象,它可以是关系名和属性名,一条语句可以同时操作多个关系或多个属性;操作条件是一个
逻辑表达式,它用于将操作结果限定在满足条件的
元组中,操作条件可以为空;呆以在基本格式的基础上加上排序要求,定额要求等。
域关系演算是另一种形式的关系演算。域关系演算以
元组变量的分量(即域变量)作为谓词变元的基本对象。
QBE是一个很特色的域关系演算语言,穹由M.MZloof于1975年提出,关于1978年在IBM370上得以实现。QBE是Query By Example(即通过例子进行查询)的简称,它是一种关系语言,同时也指使用此语言的关系数据库时系统,QBE具有以下特点。
操作方式非常特别。它是一种高度非过程化的基于屏幕表格的查询语言,用户通过
终端屏幕编辑旗号斑蝥 以真写表格的方式构造查询要求,而查询结果也是以表格形式显示,因此具有直观和可对话的特点。
QBE中用示例元素来表示查询结果可能的例子,示例元素实质上就是域
变量。
在关系运算中,用谓词公式来表达查询要求的方式称为关系演算。
元组关系演算是一元组变量作为谓词变元的基本对象。