Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/database/8.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Database 数据库关系作业帮助_Database_Relational - Fatal编程技术网

Database 数据库关系作业帮助

Database 数据库关系作业帮助,database,relational,Database,Relational,问题“考虑一个具有五个属性ABCDE的关系R。你会得到以下依赖性 A->B BC->E ED->A 列出R的所有键 老师给了我们钥匙,是ACD,BCD,CDE 我们需要向他们展示我们的工作 我解决了前两个问题 对于BCD,2和3之间的传递式表示获取(BC->E)D->A=>BCD->A。 对于ACD id,1和4(BCD)的传递式是get(A->B)CD->A=>ACD->A 但我不知道如何得到CDE 看来我做错了,在谷歌搜索后我找到了这个答案 查找密钥的方法: 考虑属性集α包含:a. f的行列

问题“考虑一个具有五个属性ABCDE的关系R。你会得到以下依赖性

  • A->B
  • BC->E
  • ED->A
  • 列出R的所有键

    老师给了我们钥匙,是ACD,BCD,CDE

    我们需要向他们展示我们的工作

    我解决了前两个问题

    对于BCD,2和3之间的传递式表示获取(BC->E)D->A=>BCD->A。 对于ACD id,1和4(BCD)的传递式是get(A->B)CD->A=>ACD->A

    但我不知道如何得到CDE

    看来我做错了,在谷歌搜索后我找到了这个答案

  • 查找密钥的方法: 考虑属性集α包含:a. f的行列式属性(即A,BC, D)和b.未包含在已确定属性(即C、D)中的属性。然后 执行属性闭包算法: 如果α+超集R,则α->R 三个键:CDE、ACD、BCD

  • 据我所知,由于C、D不在依赖项的左侧。键是在其左侧预先附加了CD。有人能更详细地向我解释这一点的原因吗?

    要获得它们的,请从其中一个依赖项开始并使用推理扩展集

    让我试试简单的英语,你可以很容易地在网上找到正式的定义

    e、 g.从3)开始

    (知道E和D,我知道A)

    (知道E和D,我知道A,知道A,我也知道B)

    尽管如此,C还是不知道,我已经使用了所有的规则,除了BC->E, 所以我在左手边加上C,也就是

    CDE ->AB
    
    因此,通过了解C、D和E,您将了解AB
    因此,CDE是你关系的关键ABCDE。你重复同样的过程,从其他规则开始直到用尽。

    你不能只说属性是否在左手边来确定它是否是一个可能的键。那么这是正确的方法来做下一个可能的键吗?BC->E,知道E,和ED->a,我得到BCD->AE第一个我做了A->B,因为BC->E,我知道B,所以AC->EB,因为D不知道,我在左边加了它,得到了ACD->EB是的,我想你得到了这个想法。这是一个迭代过程,直到所有依赖都被耗尽。所以手工计算出大型示例并不容易,但计算机非常有效。
    ED ->AB
    
    ED->AB
    
    CDE ->AB