解释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))
输出
学号 | 班级 |
---|---|
2 | B |
**注意**:可以在选择运算中编写条件,但不能在投影运算中编写条件。
示例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
重命名类型
重命名可以使用三种方法,如下所示:
更改关系的名称。
更改属性的名称。
两者都更改。