AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / dba / 问题 / 160241
Accepted
pC_
pC_
Asked: 2017-01-07 19:33:53 +0800 CST2017-01-07 19:33:53 +0800 CST 2017-01-07 19:33:53 +0800 CST

最小和最大元组数

  • 772

考虑关系 R 和 S ,其中 R 有 m 个元组,S 有 n 个元组。m<=n 。在以下每种情况下,元组的最小和最大数量是多少(假设没有提到关键约束)

  1. R 联合 S
  2. R 交叉口 S
  3. RS
  4. SR
  5. R 自然加入 S
  6. R 左外连接 S
  7. R/S

我的工作

  1. RUNION S

max : n+m (联合我们添加两个关系中的所有元组)

min: 0 (取 m=n=null )

  1. R 交叉点 S

max : m ( m < n 两个关系都包含相同的键,那么我们可能会得到最大的 m 个键)

min: 0(如果两个关系中都没有公共键,则取 m=n=null)

  1. R - S

max : m (如果它们是不相交的,那么在 RS 中我们将得到 R 的所有元组)

min: 0(如果 R 中的所有元组也存在于 S 中)

  1. SR

最大值:n(如上所述)

min: 0(如上所述)

  1. R 自然连接 S

max : n*m (如果没有匹配的键约束自然连接将产生笛卡尔积)

min: m ( m < n 当考虑到关键约束时)

  1. R 左外连接 S

max : m (即使不匹配也会输出左表中的所有内容)

min: 0 (当 m=0 时)

  1. R/S

最大值:m(当 n=0 时)

min:我无法下结论

relational-algebra
  • 2 2 个回答
  • 33685 Views

2 个回答

  • Voted
  1. Best Answer
    ypercubeᵀᴹ
    2017-01-08T04:21:58+08:002017-01-08T04:21:58+08:00

    是的,您的答案大部分是正确的,除了一些错误:

    1.R UNION S

    • max : n+m (联合我们将两个关系中的所有元组相加)
      正确,当 R 和 S 没有公共元组时。

    • min: 0 (取 m=n=null )
      错误,最小值是n(m 和 n 两个尺寸中最大的一个)。当 R 的所有元组也存在于 S 中时。
      并且 m 和 n 不能为空,它们是关系的大小,它们是数字(整数)。

    2.R INTERSECTION S

    • 最大:m(m<n两个关系包含相同的键,那么我们可能会得到最大 m 个键)
      正确但推理是错误的。您比较两个关系的元组,而不是键。

    • min: 0(如果两个关系中都没有公共键,则取 m=n=null)
      正确但推理错误。结果可能为 0,因为这两个关系可能没有共同的元组)。

    3.R - S

    • 最大值:m(如果它们不相交,那么在 RS 中我们将得到 R 的所有元组)
      正确

    • min: 0(如果 R 中的所有元组也存在于 S 中)
      正确

    4.S - R

    • 最大值:n(如上所述)
      正确

    • min: 0 (如上所述)
      错误,最小值为n - m.

    5.R natural join S

    • max : n*m (如果没有匹配的键约束自然连接将产生笛卡尔积)
      正确

    • min: m (m < n 当考虑到关键约束时)
      错误,最小值是0。您可以轻松找到与案例 2 ( INTERSECTION) 相同的示例。

    6.R LEFT OUTER JOIN S

    • max : m (即使不匹配也会输出左表中的所有内容)
      错误,最大值为m * n,与自然连接相同。或者只是采取ON TRUE。

    • min: 0 (当 m=0 时)
      错误,最小值为m。示例可以与NATURAL上面的 join 相同(或者只是 take ON FALSE),但它不能给出 lees 比R(连接中的左关系)中的元组数。

    7.R / S

    • 最大值:m(当 n=0 时)
      正确,但不必为 n=0 或 m=0。你可以找到另一个例子。

    • min:我无法下结论。
      最小值是0考虑到关系除法类似于整数除法。3 / 7例如给出0整数除法。尝试将其转换为关系除法。

    • 4
  2. Well_Wisher
    2021-01-06T03:35:34+08:002021-01-06T03:35:34+08:00

    我已经更清楚地重新编译了上面的答案,并添加了一些更多的关系代数运算。希望,它很有用:)

    考虑关系 R 和 S,其中 R 有 m 个元组,S 有 n 个元组。m<=n 。在以下每种情况下,元组的最小和最大数量是多少(假设没有提到关键约束)

    1. R 联合 S
    2. R 交叉口 S
    3. RS
    4. SR
    5. R 自然加入 S
    6. R 左外连接 S
    7. R/S
    8. R 交叉产品 S
    9. R 右外连接 S
    10. R 全外连接 S

    这些结果是在没有涉及任何给定候选键的情况下考虑通用表确定的。

    注意:如果给定表的候选键,那么结果会有所不同。

    1. R UNION S

    • 最大值:n+m

    原因:联合我们添加了两个关系中的所有元组。即当R 和S 没有公共元组时。

    • 分钟:n

    原因:最小值是 n (两个尺寸中最大的一个,m 和 n)。当 R 的所有元组也存在于 S 中时。


    2. R INTERSECTION S

    • 最大:米(  m<n )

    原因:两个关系都包含相同的元组,那么我们可能会得到最多 m 个键

    • 分钟:0

    原因:如果两个关系中没有公共元组


    3. R - S

    • 最大:米

    原因:如果它们是不相交的(如果它们没有共同的元素),那么在 RS 中我们将得到 R 的所有元组

    • 分钟:0

    原因:如果 R 中的所有元组也存在于 S 中


    4. S - R

    • 最大值:n

    原因:如果它们是不相交的(如果它们没有共同的元素),那么在 SR 中我们将得到 S 的所有元组

    • 分钟:纳米

    原因:m<n 删除普通元组后,S 中会有一些元组


    5. R natural join S

    • 最大值:n*m

    原因:如果没有匹配的键约束,自然连接会产生笛卡尔积

    • 分钟:0

    原因:与案例 2 ( INTERSECTION) 相同。


    6. R LEFT OUTER JOIN S

    • 最大值:m*n

    原因:如果左表中的所有行都与右表中的所有行匹配

    • min: m(包括左表中的每个元组)

    原因:如果两个表之间没有元组匹配,但我们仍然必须包含左表中的所有元组。

    m=1 时最小值为 1,m=  2 时最小值为 2,m=0 时最小值为 0


    7. R / S

    • 最大:米

    原因:当 n=0 时

    • 分钟:0

    原因:考虑到关系除法类似于整数除法。 3 / 7 例如,在整数除法中给出 0。尝试将其转换为关系除法


    8. R CROSS PRODUCT S

    • 最大值和最小值:m*n

    原因:将 R 中的每一行与 S 中的每一行结合起来。


    9. R RIGHT OUTER JOIN S

    • 最大值:m*n

    原因:如果左表中的所有行都与右表中的所有行匹配

    • min: n (包括右表中的每个元组)

    原因:如果两个表之间没有元组匹配,但我们仍然必须包含右表中的所有元组。

    n=1 时最小值为 1,n=  2 时最小值为 2,n=0 时最小值为 0


    10. R FULL OUTER JOIN S

    • 最大值:m*n

    原因:如果左表中的所有行都与右表中的所有行匹配

    • 案例 1→最小值:m+n

    原因:如果两个表之间没有元组匹配,但我们仍然必须包括左表和右表中的所有元组。

    • 案例 2 → min: max(m,n)

    原因:当一个表中的每个元组与另一个表中的元组匹配时。

    详细解释 min: max(m,n) for Full Outer Join:

    考虑具有 4 个元组的关系 R 和具有 8 个元组的关系 S。

    因此,如果没有匹配项,则外部连接的最小值将是。即 m+n = 4+8 = 12 个元组。

    但这不是获得绝对最小值的情况。

    得到分钟。在完全外连接中:

    考虑一下,R 中 4 个元组中有 4 个与 S 的元组匹配(4 个 8 与 R 相同)

    这一次,结果关系将有:4(匹配)+ 4(不匹配)元组 = 8 个元组。(小于 12)

    • 1

相关问题

  • 没有主键属性是否可以加入关系?

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    连接到 PostgreSQL 服务器:致命:主机没有 pg_hba.conf 条目

    • 12 个回答
  • Marko Smith

    如何让sqlplus的输出出现在一行中?

    • 3 个回答
  • Marko Smith

    选择具有最大日期或最晚日期的日期

    • 3 个回答
  • Marko Smith

    如何列出 PostgreSQL 中的所有模式?

    • 4 个回答
  • Marko Smith

    列出指定表的所有列

    • 5 个回答
  • Marko Smith

    如何在不修改我自己的 tnsnames.ora 的情况下使用 sqlplus 连接到位于另一台主机上的 Oracle 数据库

    • 4 个回答
  • Marko Smith

    你如何mysqldump特定的表?

    • 4 个回答
  • Marko Smith

    使用 psql 列出数据库权限

    • 10 个回答
  • Marko Smith

    如何从 PostgreSQL 中的选择查询中将值插入表中?

    • 4 个回答
  • Marko Smith

    如何使用 psql 列出所有数据库和表?

    • 7 个回答
  • Martin Hope
    Jin 连接到 PostgreSQL 服务器:致命:主机没有 pg_hba.conf 条目 2014-12-02 02:54:58 +0800 CST
  • Martin Hope
    Stéphane 如何列出 PostgreSQL 中的所有模式? 2013-04-16 11:19:16 +0800 CST
  • Martin Hope
    Mike Walsh 为什么事务日志不断增长或空间不足? 2012-12-05 18:11:22 +0800 CST
  • Martin Hope
    Stephane Rolland 列出指定表的所有列 2012-08-14 04:44:44 +0800 CST
  • Martin Hope
    haxney MySQL 能否合理地对数十亿行执行查询? 2012-07-03 11:36:13 +0800 CST
  • Martin Hope
    qazwsx 如何监控大型 .sql 文件的导入进度? 2012-05-03 08:54:41 +0800 CST
  • Martin Hope
    markdorison 你如何mysqldump特定的表? 2011-12-17 12:39:37 +0800 CST
  • Martin Hope
    Jonas 如何使用 psql 对 SQL 查询进行计时? 2011-06-04 02:22:54 +0800 CST
  • Martin Hope
    Jonas 如何从 PostgreSQL 中的选择查询中将值插入表中? 2011-05-28 00:33:05 +0800 CST
  • Martin Hope
    Jonas 如何使用 psql 列出所有数据库和表? 2011-02-18 00:45:49 +0800 CST

热门标签

sql-server mysql postgresql sql-server-2014 sql-server-2016 oracle sql-server-2008 database-design query-performance sql-server-2017

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve