解释一下 DBMS 中代数关系的一元运算?
查询是一个问题或请求信息。查询语言是一种用于从数据库中检索信息的语言。
查询语言分为两种类型 −
过程式语言
非过程式语言
过程式语言
通过指定要执行的操作序列从数据库中检索信息。
例如 −关系代数。
结构化查询语言 (SQL) 基于关系代数。
关系代数由一组运算组成,这些运算以一个或两个关系作为输入,并产生一个新的关系作为输出。
关系代数运算的类型
关系代数运算的不同类型如下 −
选择运算
投影运算
重命名运算
并运算
交运算
差运算
笛卡尔积运算
连接运算
除运算操作
选择、投影、重命名属于一元运算(对一个表进行操作)。
选择操作
它显示满足条件的记录,用 sigma (σ) 表示。它是原始关系的水平子集。
语法
选择操作的语法如下 −
σcondition(table name)
示例 1
考虑下面给出的学生表 −
| Regno | Branch | Section |
|---|---|---|
| 1 | CSE | A |
| 2 | ECE | B |
| 3 | CIVIL | B |
| 4 | IT | A |
要显示学生表中的所有记录,请使用以下命令 −
σ(student)
要显示学生表中 CSE 分支的所有记录,我们可以使用以下命令−
σbranch=cse(student)
输出
| RegNo | Branch | Section |
|---|---|---|
| 1 | CSE | A |
要显示学生表中 regno>2 的所有记录,我们可以使用以下命令−
σRegNo>2(student)
输出
| RegNo | Branch | Section |
|---|---|---|
| 3 | CIVIL | B |
| 4 | IT | A |
要显示 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
考虑下面给出的学生表 −
| Regno | Branch | Section |
|---|---|---|
| 1 | CSE | A |
| 2 | ECE | B |
| 3 | CIVIL | B |
| 4 | IT | A |
要显示学生表的 regno 列,请使用以下命令 −
∏regno(student)
输出
| RegNo |
|---|
| 1 |
| 2 |
| 3 |
| 4 |
To display branch, section column of student table, use the command given below −
∏branch,section(student)
输出
| Branch | Section |
|---|---|
| CSE | A |
| ECE | B |
| CIVIL | B |
| IT | A |
要显示 regno、ECE 学生部分,请使用下面提到的命令 −
∏regno,section(σbranch=ECE(student))
输出
| Regno | Section |
|---|---|
| 2 | B |
注意 − 条件可以在 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 (表名或表达式)
考虑下面给出的学生表 −
| Regno | Branch | Section |
|---|---|---|
| 1 | CSE | A |
| 2 | ECE | B |
| 3 | CIVIL | B |
| 4 | IT | A |
示例 1
使用以下命令将 student 表重命名为 newstudent:−
ρnewstudent (student)
示例 2
使用以下命令将 student 表的名称、分支列和 newbranch 分别重命名为 −
ρnewname,newbranch(Πname,branch(student))
对两个兼容关系进行二元运算。
如果两个关系 R1 和 R2 的度数相同且对应属性的域相同,则它们兼容。
DDL 中的 Rho 用于关系名称,DML 中的 Rho 用于属性名称。
SQL 旧名称 新名称
重命名类型
重命名可以通过以下三种方法实现:−
更改关系名称。
更改属性名称。
同时更改两者。

