【问题标题】:Trying to understand "Only" and "All" constraints in Tuple Relational Calculus试图理解元组关系演算中的“唯一”和“全部”约束
【发布时间】:2017-10-24 04:10:37
【问题描述】:

假设我们有三个模式:

Instructor(id:integer, name:string, age:integer, salary:real)
Works(eid:integer, did:integer, pct-time:integer)
Dept(did:integer , budget:real, managerid:integer)

让我从两个类似的问题开始:

a) 查找管理预算超过 100 万美元的所有部门的讲师的经理 ID。

b) 查找仅管理预算超过 100 万美元的部门的教师的经理 ID。

我的问题是我无法弄清楚为什么 u=[managerid] = s[managerid]u[budget] > 1000000 约束被切换。有人可以用文字解释为什么顺序会影响结果吗?

【问题讨论】:

  • 嗨。似乎问题是您认为这两个英文短语描述的是同一件事?请确认。他们没有。用英语表达这些句子的其他方式是什么?既然他们没有,为什么查询应该是一样的?认为查询应该是什么,为什么?既然它们必须以某种方式有所不同,那为什么重要呢?是的,也许查询变化与英语变化平行——但是,为什么不呢?请谷歌“stackexchange.com 作业”和How to Ask。 PS 许多“全部”查询涉及relational-division 的变体。
  • 请将您的问题编辑至use text for text; don't use images/links。使用符号名称或其运算符名称或谷歌“unicode”与其中之一。
  • 我理解措辞上的差异。问题是我无法将其翻译为 TRC 查询。对于这些链接,我深表歉意,我对 SE 还是新手,正在学习如何正确格式化我的问题。稍后我将编辑我的问题以使用文本。

标签: relational-database tuple-relational-calculus


【解决方案1】:

(a) 的演算要求教师排在哪里,如果一个部门很大,那么他们管理它。

(b) 的演算要求教师行,如果他们管理一个部门,那么它就很大。

我选择的措辞来自使用解释逻辑运算符的英语单词。碰巧的是,如果您使英语更精确(考虑“for all”和“for some”/“there exists”并命名“them”和“it”),结构仍然是平行的。

至于“为什么”,我们可以将您的英语短语描述为因单词的变化和移动而有所不同,并且与我的英语具有相同的含义,那只是“因为”,这就是英语。这些查询有效地定义短语“subjects verb all objects”和“主题只有动词 名词s”。

为什么要切换 [...] 约束
为什么顺序会影响结果

数学中的“为什么”问题没有意义。我们假设陈述,然后一大堆事情是真假。没有“为什么”。在那种情况下,我们可以合理地将“为什么……”解释为“什么是……的证明”?但你在这里不是这个意思。英文语句不同,那么为什么查询不会不同呢?查询不同,为什么结果不会不同?你是什​​么意思,“为什么”?为什么what,究竟是什么?为什么

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-01-03
    • 2014-09-27
    • 1970-01-01
    • 1970-01-01
    • 2015-02-27
    • 1970-01-01
    相关资源
    最近更新 更多