关于一道数据库例题的解析。为什么σ age>22 (πS_ID,SCORE (SC) ) 选项是错的?

本人大二学子。近段时间在做数据库复习题的时候遇到一道题,如下。

有关系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的列。结果一目了然,我上面

的解析很可能是正确的。

时间: 2024-11-02 23:35:34

关于一道数据库例题的解析。为什么σ age>22 (πS_ID,SCORE (SC) ) 选项是错的?的相关文章

面试时碰到的一道数据库题目

这几天面试了不少单位.做了些笔试题.做完回来都会回顾一下.做下整理. 例如以下是一些问题的列表 watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" > 今天给我印象比較深刻的题目是一道数据库操作题 题目:有例如以下三张表,要求查询出[职位仅仅有开发]的全部员工的eid和ename 一開始感觉非常easy.把

MySQL 选择数据库:数据库选择语法解析

MySQL 选择数据库 在你连接到 MySQL 数据库后,可能有多个可以操作的数据库,所以你需要选择你要操作的数据库. 从命令提示窗口中选择MySQL数据库 在 mysql> 提示窗口中可以很简单的选择特定的数据库.你可以使用SQL命令来选择指定的数据库. 实例 以下实例选取了数据库 RUNOOB: [[email protected]]# mysql -u root -p Enter password:****** mysql> use RUNOOB; Database changed my

25.函数例题-预解析 作用域 、函数变量优先级、全局变量污染(直接在全局声明 、 函数里的变量没声明)但是函数里的变量没声明造成的全局变量污染有个前提,函数要被调用)

1.  return foo()   foo 没有return值,故为undefined.   2.      a b 在函数作用域内,外界找不到   var a = b =3; b 也算用var 声明了,只不过b 是在全局隐式var 了一个b ,在函数内部找不到变量的情况下就去全局找,全局找不到报错.    语法有错误,程序一句都不会执行,执行阶段有错误,会执行没错的代码,在执行出错的地方报错.  函数或则匿名函数体内声明变量是为了避免全局变量污染 重要例题:  函数没执行,全局没找到 b报错

第三题 有如下Student 对象, private String name; private int age; private int score; private String classNum; 其中,classNum 表示学生的班号,例如“class05”。 有如下List List list = new ArrayList();

list.add(new Student(“Tom”, 18, 100, “class05”)); list.add(new Student(“Jerry”, 22, 70, “class04”)); list.add(new Student(“Owen”, 25, 90, “class05”)); list.add(new Student(“Jim”, 30,80 , “class05”)); list.add(new Student(“Steve”, 28, 66, “class06”));

Java-集合-第三题 有如下Student 对象, private String name; private int age; private int score; private String classNum; 其中,classNum 表示学生的班号,例如“class05”。 有如下List List list = new ArrayList(); l

第三题 有如下Student 对象, private String name; private int age; private int score; private String classNum; 其中,classNum 表示学生的班号,例如“class05”. 有如下List List list = new ArrayList(); list.add(new Student(“Tom”, 18, 100, “class05”)); list.add(new Student(“Jerry”,

Python爬虫项目,获取所有网站上的新闻,并保存到数据库中,解析html网页等

1.需求说明 需求: 爬取虎嗅网站的所有新闻,并保存到数据库中. http://www.huxiu.com 技术: 1.爬虫 获取服务器的资源(urllib) 解析html网页(BeautifulSoup) 2.数据库技术 数据库 MySQLdb 业务逻辑的分析: (1).虎嗅网站的新闻,包括首页和分页信息(下一页) (2).需要从首页的资源和分页的资源中获取每个新闻的url连接 如何获取url: 解析网站html文件,如果A标签的href属性包含 article字段,就表示这是一个新闻 (3)

Oracle数据库实例核心技术解析_超越OCP精通Oracle视频教程培训05

1.学完本章节Oracle视频教程能掌握以下内容: 启动和停止Oracle DB 和组件使用Oracle Enterprise Manager使用SQL*Plus 工具命令访问数据库如何设置Oracle的环境变量的修改数据库初始化参数跟踪分析数据库启动的各个阶段深入剖析数据库初始化的各个内部过程剖析Oracle数据库的引导过程介绍数据库关闭的过程查看数据库警告日志你对Oracle数据库实例了解多少?实例启动警告日志及启动进程控制文件更新时间与心跳信息解析控制文件内容深入分析数据库的参数文件深入理

数据库例题

数据库查询,例题备注,可以在以后遇到类似问题,查看查询方法 假设使用如下命令建立了一个grade表:create table grade(low int,upp int,rank char(1))insert into grade values(90,100,'A')insert into grade values(80,89,'B')insert into grade values(70,79,'C')insert into grade values(60,69,'D')insert into

第三十七天-一道nfs例题

一.按照要求搭建配置NFS服务       准备三个服务器或虚拟机A.B.C 配置NFS服务: 1)在NFS服务端A上共享/data/w_shared及/data/r_shared两个文件目录,允许从NFS客户端B,C上分别挂载共享目录后可实现从B,C上只读/data/r_shared,可写/data/w_shared. 2)NFS客户端B上的挂载点为/data/b_w,/data/b_r     NFS客户端C上的挂载点/data/w_xiaorui,/data/r_xiaorui. 3)从N