关系代数基本运算符
关系代数是一种过程化查询语言,它用于在对多个关系进行运算后提供单个表/关系作为输出。这里将讨论一些基本关系。
在我们的学习过程中,我们将使用三个关系(表):
表 1:课程
课程ID | 名称 |
---|---|
1 | 计算机科学 |
2 | 信息技术 |
3 | 机械工程 |
表 2:学生
学号 | 名称 | 地址 | 年龄 |
---|---|---|---|
1 | Ram | 德里 | 18 |
2 | Raju | 海德拉巴 | 20 |
4 | Faiz | 德里 | 22 |
5 | Salman | 海德拉巴 | 20 |
表 3:宿舍
宿舍号 | 名称 | 地址 | 年龄 |
---|---|---|---|
1 | Ram | 德里 | 18 |
2 | Akash | 海德拉巴 | 20 |
3 | Neha | Jhansi | 21 |
我们将对这些关系进行一些操作,以根据执行的操作创建新的关系。
选择运算符 (σ) - 选择运算符用 sigma σ 表示,用于根据某些条件选择关系的元组。只有满足特定条件的元组才会被选中。
语法
σ(condition)(relation_name)
示例
Select the student with course id 1. σ(course_id = 1)(student)
结果
学号 | 名称 | 地址 | 年龄 |
---|---|---|---|
4 | Faiz | 德里 | 22 |
投影运算符 (∏) 投影运算符用 ∏ 表示,用于从特定关系中选择列。只选择特定的列。
语法
∏(column1 , column2 , … , columnn)(relation_name)
示例
Let’s select all students's name and no who are in hostel. ∏( st. No. , name)(hostel)
结果
宿舍号 | 名称 |
---|---|
1 | Ram |
2 | Akash |
3 | Neha |
在投影中,行总是不同的,即如果存在另一个名为 Panjak 的学生,则另一个将被移除。
笛卡尔积 (X) - 笛卡尔积用 X 符号表示,用于查找两个变量连接的值。在笛卡尔积中,关系 1 的每个元组与关系 2 的每个元组交叉。这使得输出关系的阶数为 nXm,其中 n 是关系 1 中元组的数量,m 是关系 2 中元组的数量。
语法
relation1 X relation2
示例
让我们查找课程表和宿舍表的笛卡尔积。
student X course
宿舍号 | 名称 | 地址 | 年龄 | 课程ID | 名称 |
---|---|---|---|---|---|
1 | Ram | 德里 | 18 | 1 | 计算机科学 |
1 | Ram | 德里 | 18 | 2 | 信息技术 |
1 | Ram | 德里 | 18 | 3 | 机械工程 |
2 | Akash | 海德拉巴 | 20 | 1 | 计算机科学 |
2 | Akash | 海德拉巴 | 20 | 2 | 信息技术 |
2 | Akash | 海德拉巴 | 20 | 3 | 机械工程 |
3 | Neha | Jhansi | 21 | 1 | 计算机科学 |
3 | Neha | Jhansi | 21 | 2 | 信息技术 |
3 | Neha | Jhansi | 21 | 3 | 机械工程 |
并集 (U) - 两个关系关系 1 和关系 2 的并集将给出存在于关系 1 或关系 2 中的元组,但同时存在于关系 1 和关系 2 中的元组只考虑一次。
为了找到它们的并集,这两个关系也必须具有相同的域。
语法
relation1 U relation2
示例
让我们查找学生和宿舍的并集。
student U hostel
学号 | 名称 | 地址 | 年龄 |
---|---|---|---|
1 | Ram | 德里 | 18 |
2 | Raju | 海德拉巴 | 20 |
4 | Faiz | 德里 | 22 |
5 | Salman | 海德拉巴 | 20 |
2 | Akash | 海德拉巴 | 20 |
3 | Neha | Jhansi | 21 |
差运算符 (-) - 差运算符用 - 符号表示。关系 1 - 关系 2 将导致一个关系,其中存在于关系 1 中但不存在于关系 2 中的元组。为了计算差集,关系必须是并集兼容的。
语法
relation1 - relation2
示例
让我们查找学生 - 宿舍的操作。
student - hostel
学号 | 名称 | 地址 | 年龄 |
---|---|---|---|
2 | Raju | 海德拉巴 | 20 |
4 | Faiz | 德里 | 22 |
5 | Salman | 海德拉巴 | 20 |
重命名 (ρ) - 重命名运算符用 ρ 表示,用于将给定的关系重命名为另一个给定的名称。
语法
ρ(new_name , old_name)
广告