《交互式程序设计 第2版》一3.6 关系比较

简介:

本节书摘来华章计算机《交互式程序设计 第2版》一书中的第3章 ,第3.6节,Joshua Noble 著 毛顺兵 张婷婷 陈宇 沈鑫 任灿江 译更多章节内容可以访问云栖社区“华章计算机”公众号查看。

3.6 关系比较

与元组类型类似,关系类型也逃不过“'='比较运算符必须对每种类型都定义”这一规则;即,对于同种类型T的两个关系r1和r2,必须至少能检验它俩是否相等。其他的比较可能也是有用的。比如,我们可能想检验是否有“r1包含r2(即r2中的所有元组也在r1中)”,或者是否有“r1完全包含r2(即r2中的所有元组也在r1中,且r1至少包含一个不在r2种的元组)”。下面是一个关系相等性比较的实例,依旧用Tutorial D表达:

S { CITY } = P { CITY }

此处,左侧的比较元是供应商在{CITY}注7上的投影,右侧比较元是零件在{CITY}上的投影,如果两个投影是相等的,则比较运算返回TRUE,否则返回FALSE。换言之,这个比较(布尔表达式)意味着“供应商城市集合与零件城市集合相等”(当然,它的计算结果不是TRUE就是FALSE)。
另一个示例如下:

S { SNO }   SP { SNO }

此处的符号“image”代表“完全包含(properly include)”(或等价 “是其真超集”(is a proper superset of))。此表达式的含义是(意会):一些供应商根本没供应任何零件型号(计算结果不是TRUE就是FALSE)。
其他有用的关系比较运算符包括“△”(“包含”),“image”(“包含于”)和“image
”(“完全包含于”)。注意:在这些运算符中,人们常常会认为“image
”运算符就是“那个”关系包含运算符。
一个特别常见的需求就是,把某个确定的关系r和同类型的空关系进行“=”比较,也就是说,这是一个用来检验是否为空的测试。因此,定义一个缩写是很方便的:

IS_EMPTY ( r )

此表达式定义为在关系r为空时返回TRUE,否则返回FALSE。后续章节将非常依赖这个表达式(尤其是第8章)。它的反运算符也很有用:

IS_NOT_EMPTY ( r )

此表达式逻辑等价于NOT (IS_EMPTY (r))。

相关文章
|
存储 Linux Go
基于MinIO搭建高性能文件服务器
基于MinIO搭建高性能文件服务器
1583 0
基于MinIO搭建高性能文件服务器
|
12月前
|
算法 物联网 5G
UWB定位的7种算法
UWB定位系统基于超宽带技术,通过纳秒级脉冲实现高精度厘米级甚至毫米级定位。其7种主要算法包括:1) TOA(到达时间),利用信号传播时间计算距离;2) TDOA(到达时间差),通过多个基站的时间差确定位置;3) RSSI(接收信号强度),估算距离但精度较低;4) AOA(角度到达),测量信号入射角度;5) 混合算法,结合多种算法提高精度;6) 最小二乘法,处理多基站数据减少误差;7) 卡尔曼滤波,动态跟踪目标位置;8) 粒子滤波,适应复杂非线性环境。这些算法各具特点,适用于不同场景,如工业制造、智能仓储和室内定位等。
989 11
|
10月前
|
机器学习/深度学习 存储 自然语言处理
从零开始构建基于DeepSeek的智能客服系统
在数字化时代,智能客服系统成为企业与客户沟通的重要桥梁。本文介绍如何使用PHP和DeepSeek技术构建智能客服系统,涵盖环境搭建、核心功能实现、多轮对话支持及电商客服案例。DeepSeek基于深度学习,能理解复杂意图并提供个性化服务,显著提升客户体验和运营效率。通过具体代码示例,帮助开发者从零开始构建强大智能客服系统。
|
C语言
C语言中的条件运算符和条件表达式详解
C语言中的条件运算符和条件表达式详解
1688 0
|
存储 缓存
CPU性能
【10月更文挑战第30天】CPU性能
1089 3
|
SQL 存储 关系型数据库
MySQL怎样优化千万级数据
MySQL在处理千万级数据时可能存在性能挑战。本文介绍了几个优化策略来改善查询效率
672 2
|
机器学习/深度学习 自然语言处理 计算机视觉
【大模型】小样本学习的概念及其在微调 LLM 中的应用
【5月更文挑战第5天】【大模型】小样本学习的概念及其在微调 LLM 中的应用
软件开发常见流程之如何下载域名证书,由于域名备份需要域名证书,好的做法是提前将证书下载了,并且以xxxxx.com标记标题整理
软件开发常见流程之如何下载域名证书,由于域名备份需要域名证书,好的做法是提前将证书下载了,并且以xxxxx.com标记标题整理
|
前端开发 JavaScript 容器
技术经验解读:个人练习:使用HTML+CSS3制作图片轮播功能(不使用JavaScript)
技术经验解读:个人练习:使用HTML+CSS3制作图片轮播功能(不使用JavaScript)
238 0
|
人工智能 自然语言处理 Java
Spring AI开源的多模态AI模型平台
Spring AI开源的多模态AI模型平台
1317 0