文章目录

  • 五中基本的关系代数操作
    • 并(Union)
    • 差(Difference)
    • 广义笛卡尔积(Extended Cartesian Product)
    • 投影(Projection)
    • 选择(Selection)
  • 连接
    • 等值连接
    • 自然连接
  • 实战练习

关系代数是以关系为运算对象的一组高级运算的集合。由于关系定义为属性个数相同的元组的集合,因此集合代数的操作就可以引入到关系代数中。关系代数中的操作可以分为两类:传统的关系操作,并、差、交、笛卡尔积(乘)、笛卡尔积的逆运算(除);扩充的关系操作,对关系进行垂直分割(投影)、水平分割(选择)、关系的结合(连接、自然连接)等。

五中基本的关系代数操作

并(Union)

关系 R 与 S 具有相同的关系模式,即 R 与 S 的元数相同(结构相同),R 与 S 的并是属于 R 或者属于 S 的元组构成的集合,记作 R ∪ S,定义如下:

R∪S={t|t∈R∨t∈S}R∪S={t|t∈R∨t∈S}

差(Difference)

关系 R 与 S 具有相同的关系模式,关系 R 与 S 的差是属于 R 但不属于 S 的元组构成的集合,记作 R − S,定义如下:

R−S={t|t∈R∨t∉S}R−S={t|t∈R∨t∉S}

广义笛卡尔积(Extended Cartesian Product)

两个无数分别为 n 目和 m 目的关系 R 和 S 的 笛卡尔积是一个 (n+m) 列的元组的集合。组的前 n 列是关系 R 的一个元组,后 m 列是关系 S 的一个元组,记作 R × S,定义如下:

投影(Projection)

投影运算是从关系的垂直方向进行运算,在关系 R 中选出若干属性列 A 组成新的关系,记作 πA®πA®,其形式如下:

πA®={t[A]|t∈R}πA®={t[A]|t∈R}

选择(Selection)

选择运算是从关系的水平方向进行运算,是从关系 R 中选择满足给定条件的元组,记作 σF®σF®,其形式如下:

σF®={t|t∈R∧F(t)=True}

举个栗子,通过两个关系分析下:

(a)R∪S 并 (b)R-S 差 (c)R×S 笛卡尔积 (d)πC,A® 投影 (e)σB>’4’ ® 选择

说明:笛卡尔积,若R有m个元组,S有n个元组,则R×S有m×n个元组。投影,C和A为属性名,说明要选择的列。选择B>‘4’,即选择语句的条件,对关系做水平分割,选择符合条件的元组。

连接

连接(join)就是把两个表中的行按照给定的条件进行拼接而达成新表。

等值连接

通俗讲就是两个表的某些列值相等作为条件连接,称为等值连接。记为: R⋈X=YS

举个栗子,现在有A表和B表,连接条件为T1=T3。

自然连接

数据库中最常用的是自然连接进行自然连接运算要求两个表有共同的属性(列),自然连接运算的结果表是在参与操作两个表的共同属性上进行等值连接后,再去除重复的属性后获得的新表。举个栗子,现在有A表和B表进行自然连接。

实战练习

在关系代数运算中,把由五个基本操作经过有限次复合的式子称为关系代数表达式。这种表达式的运算结果仍是一个关系。我们可以用关系代数表达式表示各种数据查询操作。

例1:

有如下三个关系:
S(Sno,Sname,Ssex,Sage,Sdept)
学生关系(学号,姓名,性别,年龄,所在学院)
C(Cno,Cname,Cdept,Tname)
课程关系(课程号,课程名,课程开课学院,代课教师)
SC(Sno,Cno,Grade)
选修关系(学号,课程号,成绩)查询至少选修了课程号为“C5”和“C9”的学生学号,正确的关系代数为_____?

答案:

此题涉及三个表,先进行选择,再进行投影,之后∩。


例2:

S(Sno,Sname,Ssex,Sage,Sdept)
学生关系(学号,姓名,性别,年龄,所在学院)
C(Cno,Cname,Cdept,Tname)
课程关系(课程号,课程名,课程开课学院,代课教师)
SC(Sno,Cno,Grade)
选修关系(学号,课程号,成绩)查询学生“李力”所学课程的课程名与任课教师名,正确的关系代数为________?

答案:

此题涉及三个表,先连接,再选择,而后投影。

希望对您有所帮助!

详解【数据库】关系代数基本运算相关推荐

  1. ORACLE的索引和约束详解数据库

    ORACLE的索引和约束详解数据库 Oracle的约束 * 如果某个约束只作用于单独的字段,即可以在字段级定义约束,也可以在表级定义约束,但如果某个约束作用于多个字段, 必须在表级定义约束 * 在定义 ...

  2. 10年后端开发程序员详解数据库缓存方案到底有多少名堂。丨Linux服务器开发丨后端开发丨中间件丨web服务器丨数据库缓存

    数据库缓存方案到底有多少花样,一节课带你缕清 1. 读写分离方案 2. 若干个缓存解决方案 3. 缓存故障如何解决 视频讲解如下,点击观看: 10年后端开发程序员详解数据库缓存方案到底有多少名堂.丨L ...

  3. 详解数据库的锁机制及原理

    详解数据库的锁机制及原理 1.数据库锁的分类 2.行锁 共享锁(读锁S锁) 排他锁(写锁X锁) 更新锁 3.意向锁(IX/IS锁) 4.锁机制解释数据库隔离级别 5.元数据锁(MDL锁) 6.间隙锁 ...

  4. mysql教程详解之多表联合查询_详解数据库多表连接查询的实现方法

    详解数据库多表连接查询的实现方法 通过连接运算符可以实现多个表查询.连接是关系数据库模型的主要特点,也是它区别于其它类型数据库管理系统的一个标志. 在关系数据库管理系统中,表建立时各数据之间的关系不必 ...

  5. 详解数据库引擎与SQL语句增删改查(非常详细,带例)

    数据库系统(DBMS): 专门负责数据管理的工具.增加数据.创建索引.建立索引之间的关联关系.更新索引...... 连接器:PHP要访问MySQL,可以通过API访问,也可以通过PHP的驱动,而那个驱 ...

  6. mysql数据库的函数_详解数据库_MySQL: mysql函数

    一.内置函数 1.数学函数 rand() round(num) ceil(num) floor(num) 随机 四舍五入 向上取整 向下取整 2.字符串函数 length() 字节长度 char_le ...

  7. mysql存储函数if,详解数据库_MySQL: mysql函数

    一.内置函数 1.数学函数 rand() round(num) ceil(num) floor(num) 随机 四舍五入 向上取整 向下取整 2.字符串函数 length() 字节长度 char_le ...

  8. 大于小于优化_以MySQL为例,详解数据库索引原理及深度优化

    本文内容主要来源于互联网上主流文章,只是按照个人理解稍作整合,后面附有参考链接. 一.摘要 本文以MySQL数据库为研究对象,讨论与数据库索引相关的一些话题.特别需要说明的是,MySQL支持诸多存储引 ...

  9. 详解:数据库名、实例名、ORACLE_SID、数据库域名、全局数据库名、服务名及手工脚本创建oracle数据库...

    数据库名.实例名.数据库域名.全局数据库名.服务名 , 这是几个令很多初学者容易混淆的概念.相信很多初学者都与我一样被标题上这些个概念搞得一头雾水.我们现在就来把它们弄个明白. 一.数据库名 什么是数 ...

  10. 详解:数据库名、实例名、ORACLE_SID、数据库域名、全局数据库名、服务名

    数据库名.实例名.数据库域名.全局数据库名.服务名, 这是几个令很多初学者容易混淆的概念.相信很多初学者都与我一样被标题上这些个概念搞得一头雾水.我们现在就来把它们弄个明白. 一.数据库名 什么是数据 ...

最新文章

  1. BZOJ 3241: [Noi2013]书法家
  2. jittor和pytorch 生成网络对比之clustergan
  3. 深度学习100例-卷积神经网络(VGG-19)识别灵笼中的人物 | 第7天
  4. CocoaPods 的安装与卸载
  5. USB转串口 FT232/PL2303/CH340 比较
  6. SAP CAP 项目 cds watch 生成的 index.html 的模板位置和权限控制
  7. java 文件树形_java 显示树形文件结构,类似windows的tree命令
  8. 必须掌握的Python技巧(三)
  9. php异步上传,php中通过Ajax如何实现异步文件上传的代码实例
  10. python获取网页标题_Python2获取网页标题
  11. LR运行负载测试场景-笔记
  12. 什么情况下使用多线程
  13. Pandas学习笔记- DataFrame
  14. 数据库 --- 约束
  15. Java、JSP房产中介房屋信息管理系统
  16. 2022版完整版web前端学习路线图(超详细自学路线)
  17. FileZilla打开连接后本地站点无法显示自己的本地电脑
  18. 京东话费充值系统架构演讲读后感
  19. EMV(一):初步了解EMV和EMV的分层结构
  20. 怎样提高工作积极性与工作效率

热门文章

  1. 【HTML】多媒体与嵌入
  2. 彻底解决python依赖安装失败的问题
  3. java五家共井问题,水工建筑物简答题及答案
  4. C++ 创建链表并输出
  5. 媒介方案及其实施如何体现其策略性和创意性、科学性和艺术性结合?字数不限...
  6. C++学习记录---2
  7. 00037美学选择题汇总(2011.4-2018.10)
  8. hi3516a安装开发环境配置
  9. C语言中long类型、指针类型长度到底是多少
  10. 即刻APP 产品分析和一点感悟