关系代数是一种过程查询语言,用于提供单个表/关系作为对多个关系执行操作的输出。一些基本关系将在这里讨论。
在学习过程中,我们将使用三个关系(表)-
Course_id | 名称 |
---|---|
1 | 计算机科学 |
2 | 信息技术 |
3 | 机械 |
卷号 | 名称 | 地址 | 年龄 |
---|---|---|---|
1 | 内存 | 新德里 | 18岁 |
2 | 拉朱 | 海得拉巴 | 20 |
4 | 法伊兹 | 新德里 | 22 |
5 | 萨尔曼 | 海得拉巴 | 20 |
圣号 | 名称 | 地址 | 年龄 |
---|---|---|---|
1 | 内存 | 新德里 | 18岁 |
2 | 阿卡什 | 海得拉巴 | 20 |
3 | 内哈 | 占西 | 21 |
在此关系上,我们将执行一些操作以根据执行的操作建立新的关系。
选择运算(σ) -由sigmaσ表示的选择运算符用于根据某些条件选择关系的元组。仅选择属于特定条件的那些元组。
σ(condition)(relation_name)
Select the student with course id 1. σ(course_id = 1)(student)
卷号 | 名称 | 地址 | 年龄 |
---|---|---|---|
4 | 法伊兹 | 新德里 | 22 |
投影运算(∏)∏表示的投影运算符用于从特定反应中选择列。仅选择特定的列。
∏(column1 , column2 , … , columnn)(relation_name)
Let’s select all students's name and no who are in hostel. ∏( st. No. , name)(hostel)
圣号 | 名称 |
---|---|
1 | 内存 |
2 | 阿卡什 |
3 | 内哈 |
该行在投影中始终是不同的,即,如果他们是名字叫panjak的任何其他学生,则将另一个人删除。
叉积(X) -叉积用X符号表示,用于查找两个变量的连接值。在叉积中,relation1的每个元组与relation2的每个元组交叉。这使输出关系的阶数为nXm,其中n是关系1中的元组数,m是关系2中的元组数。
relation1 X relation2
让我们找到课程和宿舍表的乘积。
student X course
圣号 | 名称 | 地址 | 年龄 | Course_id | 名称 |
---|---|---|---|---|---|
1 | 内存 | 新德里 | 18岁 | 1 | 计算机科学 |
1 | 内存 | 新德里 | 18岁 | 2 | 信息技术 |
1 | 内存 | 新德里 | 18岁 | 3 | 机械 |
2 | 阿卡什 | 海得拉巴 | 20 | 1 | 计算机科学 |
2 | 阿卡什 | 海得拉巴 | 20 | 2 | 信息技术 |
2 | 阿卡什 | 海得拉巴 | 20 | 3 | 机械 |
3 | 内哈 | 占西 | 21 | 1 | 计算机科学 |
3 | 内哈 | 占西 | 21 | 2 | 信息技术 |
3 | 内哈 | 占西 | 21 | 3 | 机械 |
联合(U) -两个关系Relation1和Relation2的联合将给出在Relation1或Relation2中的元组,但在Relation1和Relation2中的元组仅被考虑一次。
同样,两个关系都应在相同的域中找到此处的并集。
relation1 U relation2
让我们找到学生宿舍的联盟
student U hostel
卷号 | 名称 | 地址 | 年龄 |
---|---|---|---|
1 | 内存 | 新德里 | 18岁 |
2 | 拉朱 | 海得拉巴 | 20 |
4 | 法伊兹 | 新德里 | 22 |
5 | 萨尔曼 | 海得拉巴 | 20 |
2 | 阿卡什 | 海得拉巴 | 20 |
3 | 内哈 | 占西 | 21 |
减号(-)运算符 -运算符用-符号表示。Relation1-Relation2将导致一个关系,其中存在Relation1而不是Relation2的元组。为了同样计算负值,关系必须是联合兼容的。
relation1 - relation2
让我们找到实习生-旅馆
student - hostel
卷号 | 名称 | 地址 | 年龄 |
---|---|---|---|
2 | 拉朱 | 海得拉巴 | 20 |
4 | 法伊兹 | 新德里 | 22 |
5 | 萨尔曼 | 海得拉巴 | 20 |
重命名(ρ) -由ρ表示的重命名操作用于将给定的关系重命名为另一个给定的名称。
ρ(new_name , old_name)