关系代数中的基本运算符

c++server side programmingprogramming

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

在我们的学习课程中,我们将使用三个关系(表)−

表 1:课程

Course_idName
1Computer science
2Information Technology
3mechanical

Table 2: students

Roll No.Nameaddressage
1RamDelhi18
2Rajuhyderabad20
4FaizDelhi22
5Salmanhyderabad20

Table 3: Hostel

St. No.Nameaddressage
1RamDelhi18
2Akashhyderabad20
3nehaJhansi21

在此关系上,我们将执行一些操作以根据执行的操作创建新的关系。

  • 选择操作 (σ) − 由 sigma σ 表示的选择运算符用于根据某些条件选择关系的元组。只有符合某些条件的元组才会被选中。

语法

σ(condition)(relation_name)

示例

选择课程 ID 为 1 的学生。
σ(course_id = 1)(student)

结果

Roll No.Nameaddressage
4FaizDelhi22
  • Projection operation (∏) The projection operator denoted by ∏ is used to select columns from a specific reaction. Only specific columns are selected.

语法

∏(column1 , column2 , … , columnn)(relation_name)

示例

让我们选择所有在宿舍的学生的姓名和编号。
∏( st. No. , name)(hostel)

结果

St. No.Name
1Ram
2Akash
3neha

行在投影中始终不同,即,如果有任何其他学生的名字是 panjak,则另一个将被删除。

  • 交叉积(X) - 交叉积使用 X 符号表示,用于查找两个变量的连接值。在交叉积中,关系 1 的每个元组与关系 2 的每个元组交叉。这使得输出关系的顺序为 nXm,其中 n 是关系 1 中的元组数,m 是关系 2 中的元组数。

语法

关系 1 X 关系 2

示例

让我们找到课程和宿舍表的交叉积。

学生 X 课程
St. No.NameaddressageCourse_idName
1RamDelhi181Computer science
1RamDelhi182Information Technology
1RamDelhi183mechanical
2Akashhyderabad201Computer science
2Akashhyderabad202Information Technology
2Akashhyderabad203mechanical
3nehaJhansi211Computer science
3nehaJhansi212Information Technology
3nehaJhansi213mechanical
  • 并集 (U) - 两个关系 relationship1 和 relationship2 的并集将给出要么在 relationship1 中,要么在 relationship2 中的元组,但同时在 relationship1 和 relationship2 中的元组只考虑一次。

    此外,两个关系应该属于同一域才能找到并集。

语法

relation1 U relationship2

示例

让我们找到学生和宿舍的并集

学生 U 宿舍
Roll No.Nameaddressage
1RamDelhi18
2Rajuhyderabad20
4FaizDelhi22
5Salmanhyderabad20
2Akashhyderabad20
3nehaJhansi21
  • 减法 (-) 运算符 - 运算符用 - 符号表示。关系 1 - 关系 2 将产生一个关系,其中元组存在于关系 1 中而不存在于关系 2 中。要计算减法,关系必须是并集兼容的。

语法

关系 1 - 关系 2

示例

让我们找到操作学生 - 宿舍

学生 - 宿舍
Roll No.Nameaddressage
2Rajuhyderabad20
4FaizDelhi22
5Salmanhyderabad20
  • rename(ρ) − 用 ρ 表示的重命名操作用于将给定的关系重命名为另一个给定的名称。

语法

ρ(new_name , old_name)

相关文章