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


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

查询语言分为两种类型:

  • 过程式语言

  • 非过程式语言

过程式语言

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

例如:关系代数。

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

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

关系代数运算的类型

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

  • 选择运算

  • 投影运算

  • 重命名运算

  • 并运算

  • 交运算

  • 差运算

  • 笛卡尔积运算

  • 连接运算

  • 除运算

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

Explore our latest online courses and learn new skills at your own pace. Enroll and become a certified expert to boost your career.

选择运算

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

语法

选择运算的语法如下:

σcondition(table name)

示例1

考虑以下给出的学生表:

学号专业班级
1计算机科学与工程A
2电子与通信工程B
3土木工程B
4信息技术A

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

σ(student)

要显示学生表中计算机科学与工程专业的全部记录,我们可以使用以下命令:

σbranch=cse(student)

输出

学号专业班级
1计算机科学与工程A

要显示学生表中学号大于2的所有记录,我们可以使用以下命令:

σRegNo>2(student)

输出

学号专业班级
3土木工程B
4信息技术A

要显示电子与通信工程专业班级B的学生的记录,请使用以下命令:

σbranch=ECE ^ section=B(student)

要显示班级B的计算机科学与工程和信息技术专业的记录,请使用以下命令:

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

示例2

考虑EMPLOYEE TABLE作为另一个示例,以了解选择操作:

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

  • 如果指定一个条件,则得到以下结果:

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

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

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

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

投影运算

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

语法

投影运算的语法如下:

∏regno(student)

示例1

考虑以下给出的学生表:

学号专业班级
1计算机科学与工程A
2电子与通信工程B
3土木工程B
4信息技术A

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

∏regno(student)

输出

学号
1
2
3
4

要显示学生表的专业、班级列,请使用以下命令:

branch,section(student)

输出

专业班级
计算机科学与工程A
电子与通信工程B
土木工程B
信息技术A

要显示电子与通信工程学生的学号、班级,请使用以下命令:

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

输出

学号班级
2B

**注意**:可以在选择运算中编写条件,但不能在投影运算中编写条件。

示例2

考虑员工表以了解更多关于投影的信息。

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

∏ empid, ename, salary, address, dno (emp)
  • 如果指定了条件,则选择和投影的组合如下:

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

重命名运算

它用于为关系分配一个新名称。它用ρ(rho)表示。

语法

重命名运算的语法如下:

ρnewname (tablename or expression)

考虑以下给出的学生表:

学号专业班级
1计算机科学与工程A
2电子与通信工程B
3土木工程B
4信息技术A

示例1

使用以下方法将学生表重命名为newstudent:

ρnewstudent (student)

示例2

使用以下命令将学生表的姓名、专业列分别重命名为newname和newbranch:

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

二元运算应用于两个兼容的关系。

如果两个关系R1、R2的度数相同并且对应属性的域相同,则这两个关系是兼容的。

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

            SQL                      Old name                   New name

重命名类型

重命名可以使用三种方法,如下所示:

  • 更改关系的名称。

  • 更改属性的名称。

  • 两者都更改。

更新于:2021年7月6日

13K+ 次浏览

开启你的职业生涯

通过完成课程获得认证

开始学习
广告