关系代数是一种过程查询语言, 它以”
关系”
为输入, 并生成”
关系”
为输出。关系代数主要为关系数据库和SQL提供理论基础。
关系代数中的算子
投影(π)
投影用于从关系中投影所需的列数据。
示例:
R
(ABC)
----------
124
223
323
434
π (BC)
BC
-----
24
23
34
注意:默认情况下, 投影会删除重复的数据。
选择(σ)
选择用于选择关系的必需元组。
对于上述关系
σ(c> 3)R
将选择c大于3的元组。
注意:选择运算符仅选择所需的元组, 而不显示它们。为了显示, 使用了数据投影运算符。
对于上面选择的元组, 要显示, 我们还需要使用投影。
π (σ (c>
3)R ) will show following tuples.ABC
-------
124
434
联盟(U)
关系代数中的并运算与集合论中的并运算相同, 只是约束是两个关系的并合, 两个关系必须具有相同的属性集。
设定差异(-)
关系代数中的集合差与集合论中的集合差运算是相同的, 其约束是两个关系都应具有相同的属性集。
重命名(ρ)
重命名是用于重命名关系属性的一元运算。
ρ(a/b)R将关联的属性” b” 重命名为” a” 。
叉积(X)
假设两个关系之间的叉积为A和B, 因此A X B之间的叉积将得出A的所有属性, 然后是B的每个属性。A的每个记录将与B的每个记录配对。
以下是示例
AB
(NameAgeSex )(IdCourse)
-------------------------------
Ram14M1DS
Sona15F2DBMS
kim20MA X B
NameAgeSexIdCourse
---------------------------------
Ram14M1DS
Ram14M2DBMS
Sona15F1DS
Sona15F2DBMS
Kim20M1DS
Kim20M2DBMS
注意:如果A具有” n” 个元组, 而B具有” m” 个元组, 则A X B将具有” n * m” 个元组。
自然加入(?)
自然联接是二进制运算符。两个或多个关系之间的自然连接将产生具有相同共同属性的元组的所有组合的集合。
让我们看下面的例子
EmpDep
(NameIdDept_name )(Dept_nameManager)
---------------------------------------------
A120ITSaleY
B125HRProdZ
C110SaleITA
D111ITEmp ? DepNameIdDept_nameManager
-------------------------------
A120ITA
C110SaleY
D111ITA
有条件的加入
条件连接的工作方式类似于自然连接。在自然联接中, 默认情况下公共属性之间的条件相等, 而在条件联接中, 我们可以指定任何条件, 例如大于, 小于, 不等于
让我们看下面的例子
RS
(IDSexMarks)(IDSexMarks)
--------------------------------------
1F4510M20
2F5511M22
3F6012M59
Join between R And S with conditionR.marks>
= S.marksR.IDR.SexR.MarksS.IDS.SexS.Marks
-----------------------------------------------
1F4510M20
1F4511M22
2F5510M20
2F5511M22
3F6010M20
3F6011M22
3F6012M59
深入的文章:
关系代数中的基本运算符
扩展关系代数算子
【DBMS中的关系代数介绍】以下是上一年门问题
参考文献:
https://en.wikipedia.org/wiki/Relational_algebra
如果发现任何不正确的地方, 或者想分享有关上述主题的更多信息, 请发表评论。
推荐阅读
- 数据库管理系统介绍|S1
- DBMS中的无损分解问题介绍
- DBMS(数据库管理系统)简介|S1
- DBMS中的三层体系结构介绍|S2
- 数据库ER模型介绍和图解
- SQL中的聚合函数简要介绍
- MySQL数据库管理
- TCP端口状态建立过程窗口协议
- Word中恢复未保存的文档