解释一下 DBMS 中代数关系的一元运算?

dbmsdatabasebig data analytics更新于 2026/1/12 21:37:17

查询是一个问题或请求信息。查询语言是一种用于从数据库中检索信息的语言。

查询语言分为两种类型 −

  • 过程式语言

  • 非过程式语言

过程式语言

通过指定要执行的操作序列从数据库中检索信息。

例如 −关系代数。

结构化查询语言 (SQL) 基于关系代数。

关系代数由一组运算组成,这些运算以一个或两个关系作为输入,并产生一个新的关系作为输出。

关系代数运算的类型

关系代数运算的不同类型如下 −

  • 选择运算

  • 投影运算

  • 重命名运算

  • 并运算

  • 交运算

  • 差运算

  • 笛卡尔积运算

  • 连接运算

  • 除运算操作

选择、投影、重命名属于一元运算(对一个表进行操作)。

选择操作

它显示满足条件的记录,用 sigma (σ) 表示。它是原始关系的水平子集。

语法

选择操作的语法如下 −

σcondition(table name)

示例 1

考虑下面给出的学生表 −

RegnoBranchSection
1CSEA
2ECEB
3CIVILB
4ITA

要显示学生表中的所有记录,请使用以下命令 −

σ(student)

要显示学生表中 CSE 分支的所有记录,我们可以使用以下命令−

σbranch=cse(student)

输出

RegNoBranchSection
1CSEA

要显示学生表中 regno>2 的所有记录,我们可以使用以下命令−

σRegNo>2(student)

输出

RegNoBranchSection
3CIVILB
4ITA

要显示 ECE 分支 B 部分的学生记录,请使用以下命令 −

σbranch=ECE ^ section=B(student)

要显示 B 部分 CSE 和 IT 分支的记录,请使用以下命令 −

σSection=B ^ Branch=cse ∨ branch=IT(student)

示例 2

以员工表 (EMPLOYEE TABLE) 为例,了解选择操作 −

检索工资大于 20,000 的员工信息。

  • 如果指定一个条件,则我们将得到以下 −

σ salary > 20,000 (emp)
  • 如果查询中指定了多个条件,则 (AND: ∧, OR:∨ , Not:#, equal: =, >, <, >=, <=)

关系运算符将用于将多个条件组合成一个语句。

示例 − 如果我们希望检索工资 > 20,000 且担任部门主管 (HOD) 且部门编号为 20 的员工信息。

σ 工资 > 20,000 ^LOC=HOD ^Deptno=20(emp)

投影操作

显示表的特定列。它用饼图 (Π) 表示。它是原始关系的垂直子集。它消除了重复的元组。

语法

投影运算的语法如下:−

∏regno(student)

示例 1

考虑下面给出的学生表 −

RegnoBranchSection
1CSEA
2ECEB
3CIVILB
4ITA

要显示学生表的 regno 列,请使用以下命令 −

∏regno(student)

输出

RegNo
1
2
3
4

To display branch, section column of student table, use the command given below −

∏branch,section(student)

输出

BranchSection
CSEA
ECEB
CIVILB
ITA

要显示 regno、ECE 学生部分,请使用下面提到的命令 −

∏regno,section(σbranch=ECE(student))

输出

RegnoSection
2B

注意 − 条件可以在 select 操作中写入,但不能在 project 操作中写入。

示例 2

以 employee 表为例,了解更多关于 project 的信息。

  • 如果查询中未指定条件,则

∏ empid, ename, salary, address, dno (emp)
  • 如果指定了条件,则 select 和 project 的组成如下 −

∏ empid, ename, salary, address, dno (σ salary >20,00 ^ LOC = HOD ^ dno=20) (emp)

重命名操作

该操作用于为关系分配新名称。用 ρ (rho) 表示。

语法

重命名操作的语法如下 −

ρnewname (表名或表达式)

考虑下面给出的学生表 −

RegnoBranchSection
1CSEA
2ECEB
3CIVILB
4ITA

示例 1

使用以下命令将 student 表重命名为 newstudent:−

ρnewstudent (student)

示例 2

使用以下命令将 student 表的名称、分支列和 newbranch 分别重命名为 −

ρnewname,newbranch(Πname,branch(student))

对两个兼容关系进行二元运算。

如果两个关系 R1 和 R2 的度数相同且对应属性的域相同,则它们兼容。

DDL 中的 Rho 用于关系名称,DML 中的 Rho 用于属性名称。

            SQL                  旧名称                新名称

重命名类型

重命名可以通过以下三种方法实现:−

  • 更改关系名称。

  • 更改属性名称。

  • 同时更改两者。


相关文章