【数据库】关系元组演算——存在量词和全称量词

2023-10-17 06:20

本文主要是介绍【数据库】关系元组演算——存在量词和全称量词,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

【数据库】关系元组演算——存在量词和全称量词

  • 学习数据库中遇到的小问题
    • 示例
    • 问题一:检索出课程都及格的所有同学(用全称量词表示)
    • 问题二:检索计算机系的所有同学(用存在量词表示)
    • 解释

学习数据库中遇到的小问题

对于 存在量词 与 全称量词 表示方式的差别


示例

三个表格分别为

学生关系:Student ( S#, Sname, Sage, Ssex, Sclass )
课程关系:Course ( C#, Cname, Chours, Credit, Tname )
选课关系:SC ( S#, C#, Score )

要求:
① 检索出课程都及格的所有同学
② 检索计算机系的所有同学


问题一:检索出课程都及格的所有同学(用全称量词表示)

两种书写方式

1.正确答案
正确答案
2.错误答案
在这里插入图片描述


问题二:检索计算机系的所有同学(用存在量词表示)

正确答案
正确答案


解释

全称量词的结束条件是遍历完全部或者遍历到第一个false

前一个遍历的范围就是 在学生集合的表里的某个学生所选课程 这一个集合,但是后一个是 全部学生所选课程的表 的集合,所以会出现一种情况,那就是第二个写法有可能出现遍历到不是这个指定 学生X 所选的课,此时结果为false,这时遍历就停止了,但是这时不一定遍历完所有该 学生X 所选的课,但是第一个写法遍历的对象永远只是 学生X 所选的课。

对于存在量词则不会有这种问题,因为存在量词结束的条件是遍历完全部或者遍历到第一个ture,为了编写SQL方便,对于存在量词还是建议写成第二种。

小技巧:现实中永远只会出现判断大范围的是不是包含小范围的,所以基本都是被包含着取全称量词,包含者是存在


学习于博主文章链接
https://blog.csdn.net/weixin_36309562/article/details/113270340?ops_request_misc=&request_id=&biz_id=102&utm_term=%E5%85%B3%E7%B3%BB%E5%85%83%E7%BB%84%E6%BC%94%E7%AE%97%E5%AD%98%E5%9C%A8%E9%87%8F%E8%AF%8D&utm_medium=distribute.pc_search_result.none-task-blog-2allsobaiduweb~default-2-113270340.142v92chatsearchT3_1&spm=1018.2226.3001.4187

这篇关于【数据库】关系元组演算——存在量词和全称量词的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/223499

相关文章

SQL Server修改数据库名及物理数据文件名操作步骤

《SQLServer修改数据库名及物理数据文件名操作步骤》在SQLServer中重命名数据库是一个常见的操作,但需要确保用户具有足够的权限来执行此操作,:本文主要介绍SQLServer修改数据... 目录一、背景介绍二、操作步骤2.1 设置为单用户模式(断开连接)2.2 修改数据库名称2.3 查找逻辑文件名

SQL Server数据库死锁处理超详细攻略

《SQLServer数据库死锁处理超详细攻略》SQLServer作为主流数据库管理系统,在高并发场景下可能面临死锁问题,影响系统性能和稳定性,这篇文章主要给大家介绍了关于SQLServer数据库死... 目录一、引言二、查询 Sqlserver 中造成死锁的 SPID三、用内置函数查询执行信息1. sp_w

python判断文件是否存在常用的几种方式

《python判断文件是否存在常用的几种方式》在Python中我们在读写文件之前,首先要做的事情就是判断文件是否存在,否则很容易发生错误的情况,:本文主要介绍python判断文件是否存在常用的几种... 目录1. 使用 os.path.exists()2. 使用 os.path.isfile()3. 使用

Druid连接池实现自定义数据库密码加解密功能

《Druid连接池实现自定义数据库密码加解密功能》在现代应用开发中,数据安全是至关重要的,本文将介绍如何在​​Druid​​连接池中实现自定义的数据库密码加解密功能,有需要的小伙伴可以参考一下... 目录1. 环境准备2. 密码加密算法的选择3. 自定义 ​​DruidDataSource​​ 的密码解密3

Maven项目中集成数据库文档生成工具的操作步骤

《Maven项目中集成数据库文档生成工具的操作步骤》在Maven项目中,可以通过集成数据库文档生成工具来自动生成数据库文档,本文为大家整理了使用screw-maven-plugin(推荐)的完... 目录1. 添加插件配置到 pom.XML2. 配置数据库信息3. 执行生成命令4. 高级配置选项5. 注意事

在Java中基于Geotools对PostGIS数据库的空间查询实践教程

《在Java中基于Geotools对PostGIS数据库的空间查询实践教程》本文将深入探讨这一实践,从连接配置到复杂空间查询操作,包括点查询、区域范围查询以及空间关系判断等,全方位展示如何在Java环... 目录前言一、相关技术背景介绍1、评价对象AOI2、数据处理流程二、对AOI空间范围查询实践1、空间查

Python+PyQt5实现MySQL数据库备份神器

《Python+PyQt5实现MySQL数据库备份神器》在数据库管理工作中,定期备份是确保数据安全的重要措施,本文将介绍如何使用Python+PyQt5开发一个高颜值,多功能的MySQL数据库备份工具... 目录概述功能特性核心功能矩阵特色功能界面展示主界面设计动态效果演示使用教程环境准备操作流程代码深度解

MySQL数据库实现批量表分区完整示例

《MySQL数据库实现批量表分区完整示例》通俗地讲表分区是将一大表,根据条件分割成若干个小表,:本文主要介绍MySQL数据库实现批量表分区的相关资料,文中通过代码介绍的非常详细,需要的朋友可以参考... 目录一、表分区条件二、常规表和分区表的区别三、表分区的创建四、将既有表转换分区表脚本五、批量转换表为分区

MySQL Workbench工具导出导入数据库方式

《MySQLWorkbench工具导出导入数据库方式》:本文主要介绍MySQLWorkbench工具导出导入数据库方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝... 目录mysql Workbench工具导出导入数据库第一步 www.chinasem.cn数据库导出第二步

Mysql数据库中数据的操作CRUD详解

《Mysql数据库中数据的操作CRUD详解》:本文主要介绍Mysql数据库中数据的操作(CRUD),详细描述对Mysql数据库中数据的操作(CRUD),包括插入、修改、删除数据,还有查询数据,包括... 目录一、插入数据(insert)1.插入数据的语法2.注意事项二、修改数据(update)1.语法2.有