【数据库系统】关系代数之基本运算、附加运算、扩展操作

zz/2024/7/17 21:14:52

  数据库系统学习第七篇:关系代数之基本运算、附加运算、扩展操作。参考书籍:数据库系统概念。

文章目录

  • 基本运算
    • 选择运算
    • 投影运算
    • 并运算
    • 差运算
    • 笛卡尔积
    • 更名运算
  • 附加运算
    • 交运算
    • 自然连接(Natural Join)
    • 除法
    • 赋值
  • 扩展操作
    • 广义投影
    • 聚集函数
    • 外连接

基本运算

  基本运算有6种,如下所示:
在这里插入图片描述

选择运算

  选择运算的目的是 选出满足给定谓词的元组,表示如下:

在这里插入图片描述

  选择运算可以有如下规则:

  1. 允许在谓词中 > = < 等 符号 进行比较,如找出工资大于90000美元的所有元组。
    .在这里插入图片描述
    在这里插入图片描述
    2.允许 用 ^(and)、 ∨(or)、¬(not)将谓词组成更大的谓词,如为了找到物理系中工资额大于90 000美元的教师,我们需要书写:
    在这里插入图片描述
    3.允许谓词中出现对属性的比较,如找到那些系名和楼名相同的系:
    在这里插入图片描述
    在这里插入图片描述

投影运算

  投影运算就是对关系的某些性质进行选择,并产生新的关系,由于关系是集合,所以去掉重复的元组,保留一个就行。但是实际情况查询的时候,如果没有加distinct关键字,允许结果出现重复的元组。投影用大写字母pi(π) 表示。举例如下,选取instructor的 id ,name ,以及salary属性:
在这里插入图片描述

并运算

  并运算可以将两次运算的结果 归并为一个更大的结果。如为了找到2009年秋季学期开设的所有课程和2010年春季学期开设的课程,我们可以采取如下的方式:
在这里插入图片描述

在这里插入图片描述
  并运算要注意满足两个原则,以关系 r 和 关系s 进行r U s运算举例:

  1. 关系r和s必须是同元的,即它们的属性数目必须相同。
  2. 对所有的i,r的第i个属性的域必须和s的第i个属性的域相同。

后面的差运算 和 交运算 同样满足这两个原则,就不再赘述。

差运算

   见名知义, r - s 可以如下图来理解,橘色那块就是r-s:
在这里插入图片描述

笛卡尔积

   笛卡尔积没什么多说的,简单记住笛卡尔积可能会产生大量的无效元组,假设 计算前 关系 r 的元组有 m 个 ,关系s的元组有n个,那么 r x s 的元组 有 mn个。与笛卡尔积对应的有自然连接 及 外连接运算,根据实际情况选择采用笛卡尔积 、自然连接、外连接这三种运算。

更名运算

   更名运算大致可以分为两种,一是对关系自己的更名,一是对关系的属性进行更名。
1.关系更名:下图表示将名字x赋给关系表达式E:
在这里插入图片描述
2.关系的属性更名:下图表示依次将A1,A2…An的名字赋给关系表达式E的各个属性,并将x赋给E:
在这里插入图片描述

附加运算

  基本关系代数运算针对某些计算时,可能显得比较冗长,为了便于表达 和 方便他人理解,所以给出了附加运算,附加运算可以分为4种:
在这里插入图片描述

交运算

  交运算比较简单,注意保证 关系 r 和 s 是相容的(即满足上文并运算提到的两个原则)就行:
在这里插入图片描述
交运算可以由基本表达式表示为:
在这里插入图片描述

自然连接(Natural Join)

  直接看下图,再解释:
在这里插入图片描述
  如果关系模式 R 和 S 有相同的属性,那么在关系r和s进行笛卡尔积之后,就对这些相同的属性进行选择,然后再对所有的属性(重复的属性只取一次)进行投影。
  与笛卡尔积很大的不同就是 ,自然连接的属性数目是小于或等于笛卡尔积计算后的属性数目的。
  但是我们在实操时,只需找到两个关系相同的属性,一一比对就行,不用先进行笛卡尔积那样麻烦,例子
在这里插入图片描述

  注意当关系 r 和 s 没有相同的属性时,也就是上文中

在这里插入图片描述

  没有这个选择条件加以限制,也就是说此时自然连接等同于笛卡尔积。

除法

  除法其实也是个找相同的问题,不过是尾部找相同的问题,先贴图
在这里插入图片描述
  其中1是说明,除的关系模式的属性 必须是 被除的关系模式的一部分,并且是最后的一部分。(如果不是最后的一部分,自己手动移到最后的一部分即可)
  其中2 中的任意符号,是除法的精要所在。它指明 r ÷s中 的元组必须满足如下条件:如果某元组是πR-S(r)中的元组,必须与任意的s中的元组结合起来的结果是r的元组 。可能这里解释不太直观,如下图所示:
在这里插入图片描述

赋值

  赋值简单理解为就是为将关系表达式赋值给临时变量即可。如下:
在这里插入图片描述

扩展操作

  扩展操作其实就是对前面的已经提到的关系表达式进行扩展 ,以扩大关系运算的适用范围。扩展操作包括下面三个方面:
在这里插入图片描述

广义投影

  允许投影列表出现算数表达式,算数表达式通常涉及到一些常量 和 属性。
在这里插入图片描述

  例如,我想知道每个导师ID name dept_name以及每个月的月薪时,就要对salary 除以12 如下所示:
在这里插入图片描述

在这里插入图片描述

聚集函数

在这里插入图片描述
  先记住G1,G2…Gn是分组条件 ,F1、F2…Fn是聚集函数 ,A1,A2,An是E中的属性。分组条件 和 聚集函数都要出现在结果中
  聚集函数满足如下条件:

  1. 同一组的所有元组在G1,G2,…Gn上的值是相同的。
  2. 不同组的元组针对 G1,G2…Gn的取值序列是不同的。

  特别地,当分组条件不存在时,默认分为一组.。
举例说明:
在这里插入图片描述
在这里插入图片描述

外连接

  笛卡尔积会产生大量的无效元组,自然连接会丢失部分信息,那么外连接就是二者的折中方案。外连接分为左外连接,右外连接,全外连接。
  以左外连接为例,它的意思是 r 和 s 进行自然连接产生新结果p以后,对于r未在p中出现的元组,则将该元组后面将s中与r未重复的属性均赋值为null,并添加到p中。这里可能不是解释得很清楚,看图:
在这里插入图片描述
在这里插入图片描述

  与此相关的右外连接 和 全外连接:
在这里插入图片描述

  写完收工!


http://www.ngui.cc/zz/2389914.html

相关文章

mysql 投影,MySQL —— select

select语句使用详解select语句是基础操作中比较复杂的部分&#xff0c;我们单拿出来详细解析一下。还是以上一篇文章里的student表为例。select * from student&#xff1a;查询student表中所有记录。create table stu2 select * from student&#xff1a;创建一个stu2表&#…

数据库系统概论--读书笔记--8 关系运算: 选择 投影 连接 除运算

专门的关系运算&#xff1a; 选择 投影 连接 除运算 1.设关系模式为R(A1,A2,⋯&ThinSpace;,An)R(A_1,A_2,\cdots,A_n)R(A1​,A2​,⋯,An​), 一个关系设为R。t∈Rt\in Rt∈R 表示t是R的一个元祖。 t[Ai]t[A_i]t[Ai​] 则表示元祖t中相应于属性AiA_iAi​的一个分量。 2.若AA…

mysql关系运算_数据库关系运算

前言前面已经说了数据系统的概述了&#xff0c;关系模型是目前用得最多的数据模型&#xff0c;其中一个优点就是&#xff1a;有严格的数学理论根据。本文就是来讲解数据库中的各种关系运算的&#xff01;本文不做数学概念的深入&#xff0c;只要理解相关的概念即可&#xff01;…

计算机二级中的9种运算问题:笛卡尔积,自然连接,交,并,选择,投影。。。

这九种运算分为7种二元运算 2种一元运算用文字和例子来分别解释上面几个概念&#xff1a;7种二元运算&#xff1a;1.笛卡儿积&#xff1a;已知如果算X1和X2的笛卡尔积 则&#xff1a;首先将属性&#xff08;或者叫标题&#xff09;A B C 和 D E 和在一块形成新的一组标…

《数据库系统概念》8-选择、投影等关系运算

关系代数 Relational Algebra中&#xff0c;一元运算符有选择select、投影project、重命名remane&#xff0c;其余的包括并运算union、集合差set diffetence、笛卡尔积cartesian product等为二元运算符。下面学习它们的基本使用。 一、一元运算符 a)选择 选择的操作符为小写si…

数据库基础---选择,投影,连接,除法运算

转载自&#xff1a;https://blog.csdn.net/Candle_light/article/details/84424034 关系数据库中的选择&#xff0c;投影&#xff0c;连接&#xff0c;除法都是很重要的运算 选择 定义&#xff1a;在关系中选择在指定属性上有确定值的关系的子集。表示为&#xff1a; 选择运…

mysql关系运算选择投影连接_数据库关系代数操作 并 差 积 选择 投影 连接等操作...

首先我们需要明白&#xff0c;关系代数操作分为下面两种操作并操作&#xff1a;首先需要满足并相容性&#xff0c;并相容性指的是&#xff1a;关系R与关系S存在相容性&#xff0c;当且仅当&#xff1a; (1) 关系R和关系S的属性数目必须相同&#xff1b; (2) 对于任意i&#xff…

mysql 投影查询_sql server投影查询、选择查询

--简单查询 --投影查询 /* 简单查询关键字说明&#xff1a; all &#xff1a;指定显示所有的记录&#xff0c;包括重复行。all是默认设置。 distinct &#xff1a;指定显示所有的记录&#xff0c;但不包括重复行。 top n [percent]:指定从结果中返回前n行&#xff0c;或者前n%的…

数据库系统原理与设计——投影运算、选择运算

书籍&#xff1a;数据库系统原理与设计(第3版)——万常选 廖国琼等编著数据库版本&#xff1a;SQL Server 2005/*select courseNO as 课程号,lower(coursename) 课程名,courseHour/16 as 周课时from course*//* --”%任意字符","_"通配符的使用select *from cl…

mysql关系运算选择投影连接,[转载]选择、投影和连接运算(关系数据库)

一、选择选择又称为限制&#xff0c;它是在关系R中选择满足给定条件的诸元组&#xff0c;记作&#xff1a;σf(R){t|t∈R∧F(t)‘真’}其中F表示选择条件&#xff0c;它是一个逻辑表达式&#xff0c;取逻辑值‘真’或‘假’。逻辑表达式F的基本形式为&#xff1a;X1 θY1[φ X2…