DBMS关系演算

DBMS关系演算

关系演算是一种非过程查询语言。 在非过程查询语言中,用户关心如何获得最终结果的细节。
关系演算告诉我们要做什么但从未解释过如何做。

关系演算的类型:

1. 元组关系演算(TRC)

指定元组关系演算以选择关系中的元组。 在TRC中,过滤变量使用关系的元组。
关系的结果可以有一个或多个元组。

符号

{T | P (T)} 或 {T | Condition (T)}

其中,

T是由此产生的元组
P(T)是用于获取T的条件。

示例:

{ T.name | Author(T) AND T.article = 'database' }

输出 :此查询从AUTHOR关系中选择元组。 它返回一个带有'name'的元组,Author 写了一篇关于'database'的文章。

TRC(元组关系演算)可以量化。 在TRC中,我们可以使用存在性(?)和通用量词(?)。

示例:

{ R| ?T ∈ Authors(T.article='database' AND R.name=T.name)}

输出: 此查询将产生与前一个查询相同的结果。

2. 域关系演算(DRC)

第二种关系形式称为域关系演算。 在域关系演算中,过滤变量使用属性域。
域关系演算使用与元组演算相同的运算符。 它使用逻辑连接词(和),(或)和(非)。
它使用存在性(?)和通用量词(?)来绑定变量。

符号 -

{ a1, a2, a3, ..., an | P (a1, a2, a3, ... ,an)}

其中,

a1a2是属性。
P代表由内部属性构建的公式。

示例:

{< article, page, subject > |  ∈ zyiz ∧ subject = 'database'}

输出: 此查询将从关系zyiz生成文章,页面和主题,其中主题是数据库。


目录

索引和B+树