Database 关系数据库的分解规则

Database 关系数据库的分解规则,database,inference,decomposition,Database,Inference,Decomposition,我得到了一个类型为R={a,B,C,D,E,F}的关系数据库,其函数依赖关系如下 F={AB-->C};{A-->D};{D-->AE};{E-->F} 然而,在推理规则的帮助下,我提出了BD-->ABCEF语句,我想知道是否允许使用分解规则从右侧消除B 分解规则说: 如果X-->YZ,则X-->Y和X-->Z 基本上BD-->ACEF正确吗?是:AB->CDEF,BD->ACEF 两个候选密钥是否都是主键的任意密钥 对。选择主键没有正式的依据,而且主键在依赖理论中没有任何意义。是:AB->CD

我得到了一个类型为R={a,B,C,D,E,F}的关系数据库,其函数依赖关系如下 F={AB-->C};{A-->D};{D-->AE};{E-->F}

然而,在推理规则的帮助下,我提出了BD-->ABCEF语句,我想知道是否允许使用分解规则从右侧消除B

分解规则说:

如果X-->YZ,则X-->Y和X-->Z


基本上BD-->ACEF正确吗?

是:AB->CDEF,BD->ACEF

两个候选密钥是否都是主键的任意密钥


对。选择主键没有正式的依据,而且主键在依赖理论中没有任何意义。

是:AB->CDEF,BD->ACEF

两个候选密钥是否都是主键的任意密钥


对。选择主键没有正式的依据,而且主键在依赖理论中没有任何意义。

此外,如果您有(BD)和(AB)作为候选键,并且有人要求主键,那么这两个候选键是否都是主键的任意键?此外,如果您有(BD)和(AB)由于候选密钥和有人要求主键,这两个候选密钥是否都是主键的任意密钥?谢谢您的快速回复!进一步的问题:当您在下一步中要将R分解为2NF(第二范式,其中非素属性在功能上不应依赖于候选键的一部分)时,您是否也只查看给定的函数依赖项或隐含推理规则中的抽象依赖项?>e、 g.-->CDEF是否违反了2NF的定义?>(A--> CDEF在Ac正规化中从Ab->CDEF中分解)考虑所有依赖关系的封闭-给定的依赖关系和从它们派生的依赖关系。您是如何获得->CDEF的?AB->CDEF并不意味着A->CDEF。我取自F{..}:(AB-->C)=>(A-->C);(A-->D)和(A-->C)=>(A-->CD);从(D-->AE)到(D-->E),再加上(E-->F)给出(D-->EF),最后给出(A-->CDEF)。我真的不知道这是否正确?AB->C并不意味着A->C。参见阿姆斯特朗的规则。谢谢你的快速回复!进一步的问题:当您在下一步中要将R分解为2NF(第二范式,其中非素属性在功能上不应依赖于候选键的一部分)时,您是否也只查看给定的函数依赖项或隐含推理规则中的抽象依赖项?>e、 g.-->CDEF是否违反了2NF的定义?>(A--> CDEF在Ac正规化中从Ab->CDEF中分解)考虑所有依赖关系的封闭-给定的依赖关系和从它们派生的依赖关系。您是如何获得->CDEF的?AB->CDEF并不意味着A->CDEF。我取自F{..}:(AB-->C)=>(A-->C);(A-->D)和(A-->C)=>(A-->CD);从(D-->AE)到(D-->E),再加上(E-->F)给出(D-->EF),最后给出(A-->CDEF)。我真的不知道这是否正确?AB->C并不意味着A->C。参见阿姆斯特朗的规则。