对数据库关系代数中除法运算的理解

一、基本概念

1.象集

给定一个关系R(X,Z),X和Z为属性组,当t[X]=x时,x在R中的象集定义为:
Z x = { t [ Z ] ∣ t ∈ R , t [ X ] = x } Z_x=\{t[Z]|t\in R,t[X]=x\} Zx={t[Z]tR,t[X]=x}
表示R中属性组X上值为x的诸元组在Z上分量的集合。

例:
有如下表R

X取值Z取值
x 1 x_1 x1 Z 2 Z_2 Z2
x 1 x_1 x1 Z 2 Z_2 Z2
x 1 x_1 x1 Z 3 Z_3 Z3
x 2 x_2 x2 Z 2 Z_2 Z2
x 2 x_2 x2 Z 3 Z_3 Z3
x 3 x_3 x3 Z 1 Z_1 Z1
x 3 x_3 x3 Z 3 Z_3 Z3


x 1 x_1 x1在R中的象集 Z x 1 = { Z 1 , Z 2 , Z 3 } Z_{x1}=\{Z_1,Z_2,Z_3\} Zx1={Z1,Z2,Z3}
x 2 x_2 x2在R中的象集 Z x 2 = { Z 2 , Z 3 } Z_{x2}=\{Z_2,Z_3\} Zx2={Z2,Z3}
x 3 x_3 x3在R中的象集 Z x 3 = { Z 1 , Z 3 } Z_{x3}=\{Z_1,Z_3\} Zx3={Z1,Z3}

2.除法运算

R ÷ S = { t r [ X ] ∣ t r ∈ R ∧ Π Y ( S ) ⊆ Y x } \div S=\{t_r[X] |t_r\in R\wedge \Pi_Y(S)\subseteq Y_x\} ÷S={tr[X]trRΠY(S)Yx}

除运算的结果为P(X)
P是R中满足满足以下条件的元组在X属性上的投影:元组在X上分量值x的象集 Y x Y_x Yx包含S在Y上投影的集合。

这个定义看起来比较难以理解,因此下面给出几个例子。

二、除法运算的例子(通过例子更容易理解)

例一

在这里插入图片描述
R和S共有的属性为B和C,在S中(B,C)组合有三种,即 ( b 1 , c 2 ) , ( b 2 , c 1 ) , ( b 2 , c 3 ) (b_1,c_2),(b_2,c_1),(b_2,c_3) (b1,c2),(b2,c1),(b2,c3),因此接下来就要找到R中象集为这三个的元素A。
R中
a 1 a_1 a1的象集为 { ( b 1 , c 2 ) , ( b 2 , c 3 ) , ( b 2 , c 1 ) } \{(b_1,c_2),(b_2,c_3),(b_2,c_1)\} {(b1,c2),(b2c3),(b2,c1)}
a 2 a_2 a2的象集为 { ( b 3 , c 7 ) , ( b 2 , c 3 ) } \{(b_3,c_7),(b_2,c_3)\} {(b3,c7),(b2c3)}
a 3 a_3 a3的象集为 { ( b 4 , c 6 ) } \{(b_4,c_6)\} {(b4,c6)}
a 4 a_4 a4的象集为 { ( b 6 , c 6 ) } \{(b_6,c_6)\} {(b6,c6)}
由于只有 a 1 a_1 a1的象集包含了S在(B,C)属性组上的投影,所以 R ÷ S = { a 1 } R\div S=\{a_1\} R÷S={a1}

例二

假设有如下R表:

姓名性别班级年龄
A1班14
B1班15
C2班14
D2班15
E2班15

有如下S表:

性别班级
2班

R ÷ S R\div S R÷S 的结果如下:

姓名年龄
C14
D15

即我们可以将S看作是一个条件,从R中筛选出满足条件S的元组,同时,除去R中与S共有的属性(列)
例如上面一个例子就是选择出既是2班的,性别又为男的所有学生的姓名和年龄。

参考资料

1.《数据库系统概论》王珊,萨师煊
2. 数据库-——关系代数的除法运算最白话解析 by lmo星星呐

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/205585.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

单片机学习13——串口通信

单片机的通信功能: 实现单片机和单片机的信息交换,实现单片机和计算机的信息交换。 计算机通信是指计算机与外部设备或计算机与计算机之间的信息交换。 通信有并行通信和串行通信两种方式。 在多微机系统以及现在测控系统中信息的交换多采用串行通信方…

C++ 多线程 atomic

如有两个线程,对一个变量进行操作,一个线程读这个变量的值,一个线程往这个变量中写值。即使是一个简单变量的读取和写入操作,如果不加锁,也有可能会导致读写值混乱(一条语句可能会被拆成3、4条汇编语句来执…

网络机房的功能有哪些?

网络机房的功能主要包括: 信息存储和管理:机房作为信息系统的核心,需要提供可靠的存储和管理能力,包括服务器、存储设备、备份系统等硬件设备,以及数据备份、数据迁移、容灾等管理方法和技术。网络连接和通信&#xf…

微信公众号的服务器验证方法

服务器上的操作: 将下面的wx.py文件放在服务器上,运行python3 wx.py 80 # -*- coding: utf-8 -*- # filename: main.py import web import handle import hashlibclass WeChatHandler(object):def GET(self):data web.input()if len(data) 0:return &…

汽车软件大时代,如何提升软件工程创新力?

当前,传统汽车产业正加速数字化转型,“软件定义汽车”不断深化。在电动化、智能化和网联化趋势下,汽车软件已经成为汽车技术革新和发展的核心驱动力之一。根据亿欧智库发布的《2023中国智能电动汽车车载软件市场分析报告》,2022年…

java中SPI是什么?

在Java中,SPI(Service Provider Interface)是一种面向接口编程的机制,用于在运行时动态加载实现某一接口的类。SPI机制允许开发者定义服务接口,然后为这个接口寻找实现类,并在运行时动态加载它们&#xff0…

Tomcat主配置文件(server.xml)详解

前言 Tomcat主配置文件(server.xml)是Tomcat服务器的主要配置文件,文件位置在conf目录下,它包含了Tomcat的全局配置信息,包括监听端口、虚拟主机、安全配置、连接器等。 目录 1 server.xml组件类别 2 组件介绍 3 se…

Dockerfile与Docker网络

一、Dockerfile 1、概念: Dockerfile是用来构建docker镜像的文本文件,是由构建镜像所需要的指令和参数构建的脚本。 2、构建步骤: ① 编写Dockerfile文件 ② docker build命令构建镜像 ③ docker run依据镜像运行容器实例 Dockerfile …

信号完整性分析

目录 前言一、信号完整性SI1.1 信号失真1.2 串扰1.3 衰减 二、电源完整性PI2.1 地弹2.2 电源轨道塌陷 三、电磁兼容EMC3.1 电磁辐射3.2 抗干扰 前言 本篇介绍信号完整性分析的知识体系,以及部分分析方法。   什么是信号完整性?通俗来讲,信号在互连线的…

ProEasy机器人案例:电池边包胶

如下图所示,对一个电池三边包边,因客户现场有很多规格电池的大小,所以就需要建立动态的工具坐标来实现适配所有种类的电池 程序如下:Ddome程序 function Speed(num) --速度设置 MaxSpdL(2000) --movl最大速度…

插件原理与开发

插件原理与开发 在 Mybatis总体执行流程 一文中简单的介绍了插件的初始化过程,本文将从源码的角度介绍一下mybatis的插件原理与简单开发实战。 插件原理 插件的注册和管理是通过InterceptorChain进行的,在创建Executor、StatementHandler、ParameterH…

1.求两个数最大值

文章目录 前言一、题目描述 二、解题 程序运行代码 前言 本系列为函数编程题&#xff0c;点滴成长&#xff0c;一起逆袭。 一、题目描述 1.求两个数最大值 二、解题 程序运行代码 #include<stdio.h> int main(){int a,b,z;scanf("%d%d",&a,&b);if…

如何使用 Docker 安装 Node-RED

安装 Node-RED 使用 Docker 是一种简便的方式&#xff0c;以下是基本的步骤&#xff1a; 安装 Docker&#xff1a; 确保已在系统上安装 Docker。可从 Docker 官方网站 或 Windows Docker 安装教程 获取安装指南。 拉取运行 Node-RED 镜像&#xff1a; 打开终端或命令行界面&am…

Matlab 点云对称性检测

文章目录 一、简介二、实现代码三、实现效果参考文献一、简介 这是一个很有趣的功能,它的思路其实与ICP算法的思路有些相似: 首先,它会初始化两个旋转角度,即绕x轴旋转与绕y轴旋转,初始的过程是将点对称(镜像)过去,计算与匹配点之间的距离误差,误差最小者为最优初始值…

Python 从入门到精通 学习笔记 Day02

Python 从入门到精通 第二天 今日目标 字符串基本操作、字符串序列操作、输入输出函数 字符串内置方法、运算符、练习之前学习的内容 一、字符串基本操作 在Python中&#xff0c;字符串的转义是指在字符串中使用特殊的字符序列来表示一些特殊字符。 在Python中&#xff0c;字…

2024山东健博会,第六届济南国际大健康产业博览会5月举办

大力发展全国健康事业 助力健康中国行动战略 DJK 2024第6届中国&#xff08;济南&#xff09;国际大健康产业博览会The 2024 sixth China (Jinan) International Big Health Industry Expo 2024年05月27日—29日 中国济南黄河国际会展中心 联合主办&#xff1a;山东省科学养生…

低代码你需要了解一下

低代码的概念可以追溯到1980年代&#xff0c;当时IBM的快速应用程序开发工具&#xff08;RAD&#xff09;被冠以新的名称——低代码&#xff0c;由此&#xff0c;低代码的概念首次面向大众。然而&#xff0c;在近40年的历程中&#xff0c;低代码发展经历了两个阶段&#xff1a;…

数据库基础DDL

一、字段属性 合适的字段类型对于高性能来说非常重要&#xff0c;基本原则如下&#xff1a;简单的类型占用资源更少&#xff1b;在可以正确存储数据的情况下&#xff0c;选最小的数据类型。 1、数据类型选择 整数类型 TINYINT、SMALLINT、MEDIUMINT、INT、BIGINT&#xff0…

改进的联邦加权平均算法

目录 1 改进的联邦加权平均算法 1.1 联邦学习 1.2 改进的联邦加权平均算法 1.3 算法的流程

vue watch

vue 使用watch监听props的一些小建议 当在watch里面给data赋值&#xff0c;请使用深拷贝。 <template><div class"container"><div class"left"><div class"button_group"><!-- <button click"rand…