解释关系代数中的除法操作(数据库管理系统)?
查询是一个问题或请求信息。查询语言是一种用于从数据库中检索信息的语言。
查询语言分为两种类型−
- 过程化语言
-
非过程化语言
过程化语言
通过指定要执行的操作的顺序来从数据库检索信息。
例如:关系代数。
结构化查询语言 (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))