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

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

相关文章

SpringBoot实现数据库读写分离的3种方法小结

《SpringBoot实现数据库读写分离的3种方法小结》为了提高系统的读写性能和可用性,读写分离是一种经典的数据库架构模式,在SpringBoot应用中,有多种方式可以实现数据库读写分离,本文将介绍三... 目录一、数据库读写分离概述二、方案一:基于AbstractRoutingDataSource实现动态

C# WinForms存储过程操作数据库的实例讲解

《C#WinForms存储过程操作数据库的实例讲解》:本文主要介绍C#WinForms存储过程操作数据库的实例,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录一、存储过程基础二、C# 调用流程1. 数据库连接配置2. 执行存储过程(增删改)3. 查询数据三、事务处

Tomcat版本与Java版本的关系及说明

《Tomcat版本与Java版本的关系及说明》:本文主要介绍Tomcat版本与Java版本的关系及说明,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录Tomcat版本与Java版本的关系Tomcat历史版本对应的Java版本Tomcat支持哪些版本的pythonJ

MySQL INSERT语句实现当记录不存在时插入的几种方法

《MySQLINSERT语句实现当记录不存在时插入的几种方法》MySQL的INSERT语句是用于向数据库表中插入新记录的关键命令,下面:本文主要介绍MySQLINSERT语句实现当记录不存在时... 目录使用 INSERT IGNORE使用 ON DUPLICATE KEY UPDATE使用 REPLACE

mysql数据库重置表主键id的实现

《mysql数据库重置表主键id的实现》在我们的开发过程中,难免在做测试的时候会生成一些杂乱无章的SQL主键数据,本文主要介绍了mysql数据库重置表主键id的实现,具有一定的参考价值,感兴趣的可以了... 目录关键语法演示案例在我们的开发过程中,难免在做测试的时候会生成一些杂乱无章的SQL主键数据,当我们

Spring Boot 整合 MyBatis 连接数据库及常见问题

《SpringBoot整合MyBatis连接数据库及常见问题》MyBatis是一个优秀的持久层框架,支持定制化SQL、存储过程以及高级映射,下面详细介绍如何在SpringBoot项目中整合My... 目录一、基本配置1. 添加依赖2. 配置数据库连接二、项目结构三、核心组件实现(示例)1. 实体类2. Ma

查看Oracle数据库中UNDO表空间的使用情况(最新推荐)

《查看Oracle数据库中UNDO表空间的使用情况(最新推荐)》Oracle数据库中查看UNDO表空间使用情况的4种方法:DBA_TABLESPACES和DBA_DATA_FILES提供基本信息,V$... 目录1. 通过 DBjavascriptA_TABLESPACES 和 DBA_DATA_FILES

Java实现数据库图片上传与存储功能

《Java实现数据库图片上传与存储功能》在现代的Web开发中,上传图片并将其存储在数据库中是常见的需求之一,本文将介绍如何通过Java实现图片上传,存储到数据库的完整过程,希望对大家有所帮助... 目录1. 项目结构2. 数据库表设计3. 实现图片上传功能3.1 文件上传控制器3.2 图片上传服务4. 实现

Python容器类型之列表/字典/元组/集合方式

《Python容器类型之列表/字典/元组/集合方式》:本文主要介绍Python容器类型之列表/字典/元组/集合方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录1. 列表(List) - 有序可变序列1.1 基本特性1.2 核心操作1.3 应用场景2. 字典(D

使用Dify访问mysql数据库详细代码示例

《使用Dify访问mysql数据库详细代码示例》:本文主要介绍使用Dify访问mysql数据库的相关资料,并详细讲解了如何在本地搭建数据库访问服务,使用ngrok暴露到公网,并创建知识库、数据库访... 1、在本地搭建数据库访问的服务,并使用ngrok暴露到公网。#sql_tools.pyfrom