关系代数中的基本算子

关系代数是一种过程查询语言,用于提供单个表/关系作为对多个关系执行操作的输出。一些基本关系将在这里讨论。

在学习过程中,我们将使用三个关系(表)-

表1:课程

Course_id名称
1计算机科学
2信息技术
3机械

表2:学生

卷号名称地址年龄
1内存新德里18岁
2拉朱海得拉巴20
4法伊兹新德里22
5萨尔曼海得拉巴20

表3:旅馆

圣号名称地址年龄
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阿卡什海得拉巴201计算机科学
2阿卡什海得拉巴202信息技术
2阿卡什海得拉巴203机械
3内哈占西211计算机科学
3内哈占西212信息技术
3内哈占西213机械
  • 联合(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)