📜  DBMS关系演算

📅  最后修改于: 2020-12-12 02:58:52             🧑  作者: Mango

关系演算

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

关系演算的类型:

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 > |  ∈ javatpoint ∧ subject = 'database'}

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