解释关系代数中的除法操作(数据库管理系统)?
查询是一个问题或请求信息。查询语言是一种用于从数据库中检索信息的语言。
查询语言分为两种类型−
- 过程化语言
-
非过程化语言
过程化语言
通过指定要执行的操作的顺序来从数据库检索信息。
例如:关系代数。
结构化查询语言 (SQL)基于 关系代数 。
关系代数由一组操作组成,这些操作将一个或两个关系作为输入,并产生一个新的关系作为输出。
关系代数操作类型
不同类型的关系代数操作如下−
- 选择操作
-
投影操作
-
重命名操作
-
并集操作
-
交集操作
-
差集操作
-
笛卡尔积操作
-
连接操作
-
除法操作
并集、交集、差集、笛卡尔、连接、除法属于二元操作(对两个表进行操作)。
除法操作
除法运算符用于涉及“所有”的查询。
R1 ÷ R2 = R1中与R2中的所有元组关联的元组。
示例
检索在所有课程中教授的学科的名称。
| Name | Course |
|---|---|
| System | Btech |
| Database | Mtech |
| Database | Btech |
| Algebra | Btech |
÷
| Course |
|---|
| Btech |
| Mtech |
=
| Name |
|---|
| database |
结果操作必须具有第一个关系或R中存在的关系S的所有元组的所有组合。
例子
检索所有与John Smith一起工作的项目上工作的员工的姓名。
考虑以下给出的Employee表−
| Name | Eno | Pno |
|---|---|---|
| John | 123 | P1 |
| Smith | 123 | P2 |
| A | 121 | P3 |
÷
| Eno | Pno | Pname |
|---|---|---|
| 123 | P1 | Market |
| 123 | P2 | Sales |
=
| Eno |
|---|
| 123 |
Smith <- ΠPno(σEname = ‘john smith’ (employee * works on Pno=Eno))
极客笔记