关系代数是以关系为输入,生成关系为输出的过程查询语言。关系代数主要为关系数据库和SQL提供了理论基础。
关系代数中的算子
投影(π) 投影用于从关系中投影所需的列数据。
例子:
R (A B C) ---------- 1 2 4 2 2 3 3 2 3 4 3 4
π (BC) B C ----- 2 4 2 3 3 4
注: 默认情况下,投影会删除重复数据。
选择(σ) 选择用于选择关系的必需元组。
对于上述关系 σ(c>3)R 将选择c大于3的元组。
注: 选择运算符只选择所需的元组,但不显示它们。对于显示,使用数据投影运算符。
对于上面选择的元组,为了显示,我们还需要使用投影。
π (σ (c>3)R ) will show following tuples. A B C ------- 1 2 4 4 3 4
工会(U) 关系代数中的并运算与集合论中的并运算相同,唯一的约束是两个关系的并必须具有相同的属性集。
设置差(-) 关系代数中的集差运算与集合论中的集差运算相同,但约束条件是两个关系应该具有相同的属性集。
重命名(ρ) 重命名是用于重命名关系属性的一元操作。 ρ(a/b)R将关系的属性“b”重命名为“a”。
叉积(X)
两个关系之间的叉积,比如A和B,X和B之间的叉积将产生A的所有属性,然后是B的每个属性。A的每个记录将与B的每个记录配对。
下面是一个例子
A B (Name Age Sex ) (Id Course) ------------------ ------------- Ram 14 M 1 DS Sona 15 F 2 DBMS kim 20 M A X B Name Age Sex Id Course --------------------------------- Ram 14 M 1 DS Ram 14 M 2 DBMS Sona 15 F 1 DS Sona 15 F 2 DBMS Kim 20 M 1 DS Kim 20 M 2 DBMS
注: 如果A有n个元组,B有m个元组,那么AB将有n*m个元组。
自然连接(⋈)
自然连接是一个二进制运算符。两个或多个关系之间的自然连接将生成具有相同公共属性的所有元组组合的集合。
让我们看看下面的例子
Emp Dep (Name Id Dept_name ) (Dept_name Manager) ------------------------ --------------------- A 120 IT Sale Y B 125 HR Prod Z C 110 Sale IT A D 111 IT Emp ⋈ Dep Name Id Dept_name Manager ------------------------------- A 120 IT A C 110 Sale Y D 111 IT A
条件连接
条件连接的工作原理与自然连接类似。在自然连接中,默认情况下公共属性之间的条件是相等的,而在条件连接中,我们可以指定任何条件,例如大于、小于、不等于
让我们看看下面的例子
R S (ID Sex Marks) (ID Sex Marks) ------------------ -------------------- 1 F 45 10 M 20 2 F 55 11 M 22 3 F 60 12 M 59 Join between R And S with condition R.marks >= S.marks R.ID R.Sex R.Marks S.ID S.Sex S.Marks ----------------------------------------------- 1 F 45 10 M 20 1 F 45 11 M 22 2 F 55 10 M 20 2 F 55 11 M 22 3 F 60 10 M 20 3 F 60 11 M 22 3 F 60 12 M 59
深度文章: 关系代数中的基本算子 扩展关系代数算子 以下是去年的问题 https://www.geeksforgeeks.org/gate-gate-cs-2012-question-50/ https://www.geeksforgeeks.org/gate-gate-cs-2012-question-43/
参考资料: https://en.wikipedia.org/wiki/Relational_algebra
如果您发现任何不正确的地方,或者您想分享有关上述主题的更多信息,请写评论