DBMS关系演算

  • 关系演算是一种非过程查询语言。在非过程查询语言中, 用户关注如何获得最终结果的细节。
  • 关系演算告诉你该怎么做, 却从不解释该怎么做。
关系演算的类型
DBMS关系演算

文章图片
1.元组关系演算(TRC)
  • 指定元组关系演算以选择关系中的元组。在TRC中, 过滤变量使用关系的元组。
  • 该关系的结果可以具有一个或多个元组。
符号:
{T | P (T)}or {T | Condition (T)}

哪里
T是结果元组
P(T)是用于获取T的条件。
例如:
{ T.name | Author(T) AND T.article = '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)}

哪里
a1, a2是属性P代表由内部属性建立的公式
例如:
{< article, page, subject > |∈ srcmini ∧ subject = 'database'}

【DBMS关系演算】输出:此查询将从关系srcmini生成文章, 页面和主题, 其中主题是数据库。

    推荐阅读