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

一、基本概念

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——串口通信

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

网络机房的功能有哪些?

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

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最大速度…

如何使用 Docker 安装 Node-RED

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

Matlab 点云对称性检测

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

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

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

低代码你需要了解一下

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

力扣78. 子集(java 回溯解法)

Problem: 78. 子集 文章目录 题目描述思路解题方法复杂度Code 题目描述 思路 我们易知,本题目涉及到对元素的穷举,即我们可以使用回溯来实现。对于本题目我们应该较为注重回溯中的决策阶段: 由于涉及到对数组中元素的穷举,即在每…

Leetcode刷题笔记题解(C++):165. 比较版本号

思路:利用小数点来分开求和,判断和是否相等来推断两个版本号是否一致 class Solution { public:int compareVersion(string version1, string version2) {int i0;//记录version1的字符下标int j0;//记录version2的字符下标int num10;//保存version1的和…

Unity传送门特效: The Beautiful Portal/Level up/Teleport/Warp VFX

7种不同风格的传送门特效! 每个传送门都有一个轻型和重型版本。 每个版本都有一个"无循环”和一个"无限”预制件:D 总共有28个预制件 -VFX完全使用Unity的粒子系统和基本的Unity着色器。 使用标准渲染管道中制作了这个资产。所以VFX的功能就像视频宣传片一样。 同时,…

Spring AOP从入门到精通

目录 1. AOP的演化过程 1. 代理模式 2. 动态代理 2.1 JDK动态代理 2.2 Cglib动态代理 3. Spring模式 3.1 ProxyFactory 3.2 ProxyFactoryBean 3.3 AbstractAutoProxyCreator 2. Spring AOP抽象 1. 核心术语 1.1 连接点(JoinPoint) 1.2 切点(Pointcut) 1.3 增强(Ad…

C# Solidworks二次开发:三种获取SW设计结构树的方法-第二讲

今天这篇文章是接上一篇文章的,主要讲述的是获取SW设计结构树节点的第二种方法。 这个方法获取节点的逻辑是先获取最顶层节点,然后再通过获取顶层节点的子节点一层一层的把所有节点都找出来,也就是需要递归。想要用这个方法就要了解下面几个…

tomcat环境搭建

镜像下载地址:https://mirror.tuna.tsinghua.edu.cn/apache/tomcat/ 配置环境变量 添加系统变量 编辑Path 测试 dos窗口运行startup启动tomcat 访问http://localhost:8080/

【每日一题】—— D. Divide and Equalize(Codeforces Round 903 (Div. 3))(数学、数论)

🌏博客主页:PH_modest的博客主页 🚩当前专栏:每日一题 💌其他专栏: 🔴 每日反刍 🟡 C跬步积累 🟢 C语言跬步积累 🌈座右铭:广积粮,缓称…

Linux操作系统 中的用户管理,也就是关于用户的相关的操作与理解

目录 1 概念2 用户管理的类型3、模板目录4 查看历史命令5 相关文件6 创建用户useradd7 命令passwd 存储及shadow命令下的用户密码8 usermod命令(修改属性)9 密码设置10 删除命令userdel11 用户组的操作12 用户权限13 创建一个用户组,并且将这…