关于一道数据库例题的解析。为什么σ age>22 (πS_ID,SCORE (SC) ) 选项是错的?
2024-10-18 21:22:01
本人大二学子。近段时间在做数据库复习题的时候遇到一道题,如下。
有关系SC(S_ID,C_ID,AGE,SCORE),查找年龄大于22岁的学生的学号和分数,正确的关系代数表达式是( ) 。
ⅰ. πS_ID,SCORE (σ age>22 (SC) )
ⅱ. σ age>22 (πS_ID,SCORE (SC) )
ⅲ. πS_ID,SCORE (σage>22 (πS_ID,SCORE,AGE (SC) ) )
答案是 i和iii,当时我自己做的结果是三个都正确。看了答案后,总是觉得 i 和 ii 不就是一样的吗?后来百度,哈哈,这题倒是出现过了很多便,在不同的
资料中,看了很多,都没解析。一时间,百度已经帮不了我了。只能自己翻书看定义。
π,课本上定义的是 取出属性列组成新的关系,就是组成新的表。突然,恍然大悟。如果是这样的话,选项 ii 中,先执行(πS_ID,SCORE (SC) )这句,
那么这个新的表里就没有年龄列,只有S_ID和SCORE,这样的话,σ age>22,前面的这句就在一个没有age属性的表里去进行 行 选择,这自然就是错的了。
上面上居于课本定义的主观臆测。为求验证,请看 iii (σage>22 (πS_ID,SCORE,AGE (SC) ) ),它的这句比 ii 的多了个age的列。结果一目了然,我上面
的解析很可能是正确的。
最新文章
- JS splice() 定义和用法
- iOS Storyboard全解析
- 虚拟机开机提示:This virtual machine appears to be in use
- tab切换jquery代码
- 解决IE6 IE7 JSON.stringify JSON 未定义问题
- Windows系统的线程调度与软件中断分发
- 3223: Tyvj 1729 文艺平衡树
- 团队作业1——团队展示&;博客作业查重系统
- HTTP协议7之Cookie--转
- 下载 mysql 数据库 的步骤 完整版
- Messenger在MVVM模式中的应用
- Java 高级框架——Mybatis(一)
- Java File类与文件IO流总结
- 【Spark-SQL学习之一】 SparkSQL
- tf 数据读取
- 使用两个栈来完成一个队列,需要是实现的功能有add,poll.peek
- ASP.NET Web API实践系列06, 在ASP.NET MVC 4 基础上增加使用ASP.NET WEB API
- sqrtx-开平方
- fis前端开发框架
- 使用HttpClient进行远程接口测试
热门文章
- Python之路【第四篇】python基础 之基本数据类型之集合
- js,css控制网页内容不让选中和复制
- 基于webdriver的jmeter性能测试-Selenium IDE
- Xamarin的不归路-使用Gorilla Player实时预览XAML
- Daily Scrum02 12.17
- C# WinForm 导出导入Excel/Doc 完整实例教程[使用Aspose.Cells.dll]
- nginx 软连接
- DBImport v3.3 中文版发布:数据库数据互导及文档生成工具(IT人员必备)
- .NET中那些所谓的新语法之三:系统预定义委托与Lambda表达式
- Linux的原子操作与同步机制