当前课程知识点:数据库概论 >  第二章 关系运算 >  2.2 自然关系运算1 >  自然关系运算1

返回《数据库概论》慕课在线视频课程列表

自然关系运算1在线视频

自然关系运算1

下一节:自然关系运算2

返回《数据库概论》慕课在线视频列表

自然关系运算1课程教案、知识点、字幕

各位同学大家好

我是来自云南大学软件学院的张璇

下面我们介绍一下关系代数里面的

自然关系运算

自然关系运算也包含四项基本的运算

分别是投影

选择

连接和除运算

投影运算使用方括号

选择运算使用where运算符号

连接运算的符号有点类似于无穷的符号

或者用JOIN描述

除法运算符号就是用数值运算的除法符号

也可以用英文DIVIDE BY描述

所有这八项关系代数运算放在一起使用时

是有一个优先级顺序的

优先级由高到低分别是投影

选择

乘积

连接和除法

并和差

当然

我们也可以使用括号帮助我们

限定运算优先级

我们同样一一来说明各项自然关系运算

首先看投影

顾名思义

就是把关系表中的部分列投影出来

例如CUSTOMERS[cname]

方括号就是投影运算符号

因此

这个运算是把顾客表CUSTOMERS中

顾客姓名cname投影出来

结果是得到只有这个列构成的数据表

很明显

投影操作是帮助我们选取数据表中

我们需要使用的那些属性列

下面

我们看看选择运算

选择运算使用where运算符

表示从数据表中选择出

满足where指定条件的数据

当然

如果条件不止一个

多个条件之间可以使用AND和OR运算

AND自然表示同时满足两个条件

或多个条件

而OR则表示满足多个条件之一

也可以使用NOT运算

排除一个或多个条件后选择需要的数据

我们来举个例子

在CAP数据库中

假设我们需要找出所有在Kyoto的顾客

这里的条件是顾客所在的城市是Kyoto

那么关系代数这么写

customers where city=‘kyoto’

这里

Kyoto是字符串

所以用单引号括起来

where表示条件

得到的结果就是所有在Kyoto的顾客数据

正如我们刚刚说的

条件可能会多于一个

例如

我们要找仓库在Dallas

成本大于50美分的商品

那么就在Products数据表中

使用where运算

设置条件第一个city 等于Dallas

第二个price大于0.50

它们用AND进行连接

就可以了

我们现在介绍了所有的集合运算

和自然关系运算中的投影

选择运算

现在我们就可以完成一些

稍微复杂一点的查询操作了

来看一个例子

假设我们需要找出一些城市

在这些城市

要么我们的顾客享有低于10%的折扣

要么销售代理商的佣金低于6%

大概的目的是要找出那些顾客享受折扣率低

代理商佣金也比较低的城市

我们怎么使用关系代数完成查询操作呢

首先

目标是找出城市

所以

一定会用到投影运算

从CUSTOMERS和AGENTS中

投影出city属性列

投影出city属性列

其次

分别针对顾客和销售代理商

给出了选择的条件

那么

我们就需要使用Where运算

最后

顾客表和销售代理商表

分别按照选取条件

选取数据并投影出单独的city列

之后

我们把这些列合并在一起

这时候

使用集合运算里面的并运算就行了

就按照这样的分析

我们这么来写运算

(CUSTOMERS where discnt<10)

就是找出折扣小于10%的顾客

然后投影city

用方括号括起来

就知道了这些顾客所在的城市

同样的

(AGENTS where percent<6)

找出佣金小于6%的销售代理商数据

并投影city

方括号把city括起来

得到了满足条件的代理商

所在的城市

最后

用并运算将结果合并

运算就完成了

自然关系运算的内容

相对较为丰富一些

上面

我们介绍了其中的投影和选择运算

使用这两项运算

再加上集合运算

我们已经可以完成

关系代数的基本运算了

不过

在实际使用过程中

我们常常需要把数据表

关联起来使用

因此

下面会为大家介绍连接运算

谢谢大家

数据库概论课程列表:

导论

-数据库概述

--Video

-导论--数据库概述

第一章 数据库基础

-1.1 数据库基础

--Video

-第一章 数据库基础--1.1 数据库基础

第二章 关系运算

-2.1 CAP数据库

--CAP数据库

-第二章 关系运算--2.1 CAP数据库

-2.2 自然关系运算1

-- 自然关系运算1

-第二章 关系运算--2.2 自然关系运算1

-2.3 自然关系运算2

--自然关系运算2

-第二章 关系运算--2.3 自然关系运算2

第三章 结构化查询语言SQL

-3.1 SQL概述

-- SQL概述

-3.1 SQL概述--作业

-3.2 数据定义DDL

--数据定义DDL

-3.2 数据定义DDL--作业

-3.3 SQL数据更新DML

--SQL数据更新DML

-3.3 SQL数据更新DML--作业

-3.4 复杂SQL查询操作1

--复杂SQL查询操作1

-第三章 结构化查询语言SQL--3.4 复杂SQL查询操作1

-3.5 复杂SQL查询操作2

--复杂SQL查询操作2

-第三章 结构化查询语言SQL--3.5 复杂SQL查询操作2

第四章 数据库完整性、视图与安全性

-4.1 数据完整性

--4.1 数据完整性

-4.1 数据完整性--作业

-4.2 完整性约束

--完整性约束

-4.2 完整性约束--作业

-4.3 外键约束

--外键约束

-4.3 外键约束--作业

-4.4 触发器

--触发器

-4.4 触发器--作业

-4.5 视图

--视图

-4.5 视图--作业

-4.6 安全性

--安全性

-4.6 安全性--作业

第五章 索引

-5.1 索引

--Video

-5.2 B+树索引

--Video

第六章 规范化理论

-6.1 函数依赖

--Video

-6.2 Armstrong公理

--Video

-6.3 无损分解

--Video

-6.4 范式举例

--Video

-6.5 三种范式

--Video

-6.5 三种范式--作业

第七章 实体关系模型

-7.1-E-R模型概述

--E-R模型概述

-7.2 E-R模型详解

--Video

-7.3 E-R模型的拓展

--Video

-7.4 E-R模型实例分析

--Video

第八章 事务处理

-8.1 事务的ACID性质介绍

--ACID介绍

-8.1 事务的ACID性质介绍--作业

-8.2 事务经历

--事务经历

-8.2 事务经历--作业

-8.3 可串行化调度和前趋图

--可串行化调度和前趋图

-8.3 可串行化调度和前趋图--作业

-8.4 两阶段封锁

--两段锁协议

-8.4 两阶段封锁--作业

-8.5 隔离级别

--隔离级别

-8.5 隔离级别--作业

-8.6 事务恢复

--事务恢复

-8.6 事务恢复--作业

第九章 数据库应用与开发

-9.1 数据库使用介绍

--数据库使用介绍

-9.2 Java访问数据库

--Java访问数据库

-9.2 Java访问数据库--作业

第十章 其他数据库技术概述

-10.1 数据库新技术概述

--Video

自然关系运算1笔记与讨论

也许你还感兴趣的课程:

© 柠檬大学-慕课导航 课程版权归原始院校所有,
本网站仅通过互联网进行慕课课程索引,不提供在线课程学习和视频,请同学们点击报名到课程提供网站进行学习。