本文主要是介绍【数据库】关系元组演算——存在量词和全称量词,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
【数据库】关系元组演算——存在量词和全称量词
- 学习数据库中遇到的小问题
- 示例
- 问题一:检索出课程都及格的所有同学(用全称量词表示)
- 问题二:检索计算机系的所有同学(用存在量词表示)
- 解释
学习数据库中遇到的小问题
对于 存在量词 与 全称量词 表示方式的差别
示例
三个表格分别为
学生关系: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
这篇关于【数据库】关系元组演算——存在量词和全称量词的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!