zoukankan      html  css  js  c++  java
  • 关于一道数据库例题的解析。为什么σ 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的列。结果一目了然,我上面

    的解析很可能是正确的。

  • 相关阅读:
    跨浏览器的事件对象(EventUtil)
    原型 Object.create
    DC大牛的function扩展
    事件代理 proxy
    错误处理程序
    JQuery 插件
    关于ClownFish的问题
    C#拾遗
    Jquery技巧
    防盗链
  • 原文地址:https://www.cnblogs.com/linguanh/p/4216329.html
Copyright © 2011-2022 走看看