Alex_McAvoy

想要成为渔夫的猎手

关系操作

【基本关系操作】

关系模型给出了关系操作的能力说明,但未对关系数据库管理系统语言给出具体的语法要求,也就是说不同的关系数据库管理系统(RDBMS)可以定义、开发不同的语言来实现这些操作

关系操作的特点是集合操作,即操作的对象和结果都是集合,一次查询后全表搜索,然后一次性返回所有满足条件的元组的集合,这种操作方式也称为一次一集合(set-at-a-time)方式,相应的,非关系数据模型的操作方式是一次一记录(record-at-a-time)方式

关系模型中的常用的两大关系操作是查询操作插入、删除、修改操作,查询的表达能力是其中最主要的部分,查询操作可以分为选择、投影、连接、除、并、差、交、笛卡尔积等

在查询操作中,选择、投影、并、差、笛卡尔积是 5 种基本操作,其他操作都可以用这些操作来定义、导出

【关系数据语言】

早期的关系操作能力通常用代数运算方式、逻辑运算方式来表示,使用代数方式来表示称为关系代数,使用逻辑方式来表示称为关系演算

关系代数通过对关系的运算来表达查询要求,关系演算用谓词来表达查询要求,关系演算又按谓词变元的基本对象的类型分为元组关系演算域关系演算

当一个关系数据语言可以表示关系代数可以表示的查询时,称为具有完备的表达能力,即关系完备性,关系代数、元组关系演算、域关系演算三种语言在表达能力上是等价的,都具有完备的表达能力

他们都是抽象的查询语言,与具体的 RDBMS 中使用的语言并不完全相同,只是用作评估实际系统中查询语言能力的标准,实际的查询语言除了提供关系代数或关系演算的功能外,还提供了许多附加功能

此外,结构化查询语言(Structured Query Language,SQL)是一种介于关系代数和关系演算间,具有高度非过程化的语言,其不仅具有丰富的查询功能,还具有数据定义、数据控制功能,是集查询、数据定义语言(DLL)、数据操纵语言(DML)、数据控制语言(DCL)于一体的关系数据语言,是数据库的标准语言

目前,在关系数据库领域,关系代数与关系演算已不作为商用 RDBMS 的查询语言,常用 SQL 作为关系数据语言,在处理查询时,RDBMS 会将 SQL 查询翻译成关系代数,然后进行查询,也就是说 SQL 是以关系代数为核心的,目前关系代数仍是研究关系数据语言的数学工具

关于关系代数:点击这里

关于 SQL:点击这里

感谢您对我的支持,让我继续努力分享有用的技术与知识点!