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)

【DBMS关系代数】输出:
分店名称 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运算中。

    推荐阅读