考虑具有以下功能依赖(fd)的关系模式R = ABCDG
。
AB -> C
C -> A
BC -> D
ACD -> D
D -> EG
BE -> C
CG -> BD
CE -> AG
计算
BD
和CA
的闭合。我们怎么能找到他们?
最佳答案
一组函数依赖项f的闭包表示f逻辑上隐含的所有函数依赖项。BC -> D
,以及D -> EG
我们可以应用Armstrong's axioms来推导D -> E
,D -> G
,BC -> E
,BC -> G
,
等等。
当你导出了f所隐含的每一个fd时,你就得到了f相对于r的闭包。在你的例子中,你想要导出bd和ca逻辑隐含的每一个fd。
据我所知,每本关于关系数据库理论的教科书都包含一个或多个算法来计算一组函数依赖的闭包。如果你有一个算法的话,你最好还是按照课本上的一个算法去做。
关于database - 给定与FD的关系,计算属性集的闭合,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/23980506/