个性化阅读
专注于IT技术分析

DBMS关系代数

关系代数是一种过程查询语言。它给出了逐步的过程以获得查询结果。它使用运算符执行查询。

关系运算的类型

DBMS关系代数

1.选择操作:

  • 选择操作选择满足给定谓词的元组。
  • 用西格玛(σ)表示。
Notation:  σ p(r)

哪里:

σ用于选择预测r用于关系p被用作命题逻辑公式, 可以使用诸如AND AND和NOT之类的连接器。这些关系可以用作=, ≠, ≥, <, >, ≤之类的关系运算符。

例如:贷款关系

分店名称 LOAN_NO
Downtown L-17 1000
Redwood L-23 2000
Perryride L-15 1500
Downtown L-14 1500
Mianus L-13 500
Roundhill L-11 900
Perryride L-16 1300

输入:

σ BRANCH_NAME="perryride" (LOAN)

输出:

分店名称 LOAN_NO
Perryride L-15 1500
Perryride L-16 1300

2.项目运作:

  • 此操作显示了我们希望出现在结果中的那些属性的列表。其余属性将从表中删除。
  • 用∏表示。
Notation: ∏ A1, A2, An (r)

哪里

A1, A2, A3用作关系r的属性名称。

示例:客户关系

NAME
Jones Main Harrison
Smith North Rye
Hays Main Harrison
Curry North Rye
Johnson Alma Brooklyn
Brooks Senator Brooklyn

输入:

∏ NAME, CITY (CUSTOMER)

输出:

NAME
Jones Harrison
Smith Rye
Hays Harrison
Curry Rye
Johnson Brooklyn
Brooks Brooklyn

3.工会运作:

  • 假设有两个元组R和S。联合操作包含R或S中的所有元组, 或R&S中的两个元组。
  • 它消除了重复的元组。用∪表示。
Notation: R ∪ S

联合操作必须满足以下条件:

  • R和S必须具有相同编号的属性。
  • 自动删除重复的元组。

例:

存款人关系

顾客姓名 户口号码
Johnson A-101
Smith A-121
Mayes A-321
Turner A-176
Johnson A-273
Jones A-472
Lindsay A-284

借阅关系

顾客姓名 LOAN_NO
Jones L-17
Smith L-23
Hayes L-15
Jackson L-14
Curry L-93
Smith L-11
Williams L-17

输入:

∏ CUSTOMER_NAME (BORROW) ∪ ∏ CUSTOMER_NAME (DEPOSITOR)

输出:

顾客姓名
Johnson
Smith
Hayes
Turner
Jones
Lindsay
Jackson
Curry
Williams
Mayes

4.设置交叉点:

  • 假设有两个元组R和S。设置的相交操作包含R和S中的所有元组。
  • 用交点∩表示。
Notation: R ∩ S

示例:使用上面的DEPOSITOR表和BORROW表

输入:

∏ CUSTOMER_NAME (BORROW) ∩ ∏ CUSTOMER_NAME (DEPOSITOR)

输出:

顾客姓名
Smith
Jones

5.设置差异:

  • 假设有两个元组R和S。集合的相交操作包含R中的所有元组, 但S中的所有元组。
  • 用交点减号(-)表示。
Notation: R - S

示例:使用上面的DEPOSITOR表和BORROW表

输入:

∏ CUSTOMER_NAME (BORROW) - ∏ CUSTOMER_NAME (DEPOSITOR)

输出:

顾客姓名
Jackson
Hayes
Willians
Curry

6.笛卡尔积

  • 笛卡尔积用于组合一个表中的每一行和另一表中的每一行。它也被称为交叉产品。
  • 用X表示。
Notation: E X D

例:

雇员

EMP_ID EMP_NAME EMP_DEPT
1 Smith A
2 Harry C
3 John B

部门

DEPT_NO DEPT_NAME
A Marketing
B Sales
C Legal

输入:

EMPLOYEE X DEPARTMENT

输出:

EMP_ID EMP_NAME EMP_DEPT DEPT_NO DEPT_NAME
1 Smith A A Marketing
1 Smith A B Sales
1 Smith A C Legal
2 Harry C A Marketing
2 Harry C B Sales
2 Harry C C Legal
3 John B A Marketing
3 John B B Sales
3 John B C Legal

7.重命名操作:

重命名操作用于重命名输出关系。用rho(ρ)表示。

示例:我们可以使用重命名运算符将STUDENT关系重命名为STUDENT1。

ρ(STUDENT1, STUDENT)

注意:除了这些常见的运算, 关系代数还可用于Join运算中。

赞(0)
未经允许不得转载:srcmini » DBMS关系代数

评论 抢沙发

评论前必须登录!