Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/json/15.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 design 在规范化过程中,无用的表不会消失_Database Design_Normalization_Database Normalization - Fatal编程技术网

Database design 在规范化过程中,无用的表不会消失

Database design 在规范化过程中,无用的表不会消失,database-design,normalization,database-normalization,Database Design,Normalization,Database Normalization,让我们建议有森林。每种动物都生活在一片森林里。许多森林保护区负责每一片森林,但每个森林保护区只负责一片森林 我尝试获取的模式是: 森林:森林ID PK,森林位置; 动物:动物ID PK,森林ID FK,动物类型; 木材病房:木材病房ID PK,森林ID FK,木材病房名称,出生日期。 1NF: 一些无用的表格:森林ID,森林位置,动物ID PK,动物类型,木材病房ID PK,木材病房名称,出生日期。 2NF: 动物:动物ID PK、森林ID FK、动物类型、森林位置; 木材病房:木材病房ID P

让我们建议有森林。每种动物都生活在一片森林里。许多森林保护区负责每一片森林,但每个森林保护区只负责一片森林

我尝试获取的模式是:

森林:森林ID PK,森林位置; 动物:动物ID PK,森林ID FK,动物类型; 木材病房:木材病房ID PK,森林ID FK,木材病房名称,出生日期。 1NF:

一些无用的表格:森林ID,森林位置,动物ID PK,动物类型,木材病房ID PK,木材病房名称,出生日期。 2NF:

动物:动物ID PK、森林ID FK、动物类型、森林位置; 木材病房:木材病房ID PK、森林ID FK、木材病房名称、出生日期、森林位置; 一些无用的表:动物ID PK,木病房ID PK 3NF:

森林:森林ID PK,森林位置; 动物:动物ID PK,森林ID FK,动物类型; 木材病房:木材病房ID PK、森林ID FK、木材病房名称、出生日期; 一些无用的表:动物ID PK,木病房ID PK。
什么时候无用的桌子应该消失?动物和木材病房之间没有直接关系

使用哪种算法来查找3NF?通常的合成算法只生成前三个表。我使用的是归一化分解算法。请参考您使用的教科书和算法。有很多分解算法。PS规范化为给定的NF通常不涉及通过较低的NFs。PPS Re动物和木材病房之间没有直接关系!那又怎么样?如果每两列之间必须存在直接关系,则无法分解。@reaanb是否有任何关于分解规范化算法的描述,这些描述定义了分步规范化不适用于这种情况?案例?或者您的意思是,在本例中,无用的表在4NF步骤中完全消失?@reaanb您的第一条评论很混乱。1NF关系可以无损地分解为三个。人为的和不正确的是没有帮助的;谓词是三个组件的AND。无需提及MVD或4NF,因为此分解不涉及与FD不对应的MVD。存在涉及{animal}{ward}的嵌入式非FD MVD,但不涉及非冗余分解。PS FDs+MVDs有一个完善的公理化,所以只需看一些关于MVDs的参考资料就可以了。使用哪种算法来找到3NF?通常的合成算法只生成前三个表。我使用的是归一化分解算法。请参考您使用的教科书和算法。有很多分解算法。PS规范化为给定的NF通常不涉及通过较低的NFs。PPS Re动物和木材病房之间没有直接关系!那又怎么样?如果每两列之间必须存在直接关系,则无法分解。@reaanb是否有任何关于分解规范化算法的描述,这些描述定义了分步规范化不适用于这种情况?案例?或者您的意思是,在本例中,无用的表在4NF步骤中完全消失?@reaanb您的第一条评论很混乱。1NF关系可以无损地分解为三个。人为的和不正确的是没有帮助的;谓词是三个组件的AND。无需提及MVD或4NF,因为此分解不涉及与FD不对应的MVD。存在涉及{animal}{ward}的嵌入式非FD MVD,但不涉及非冗余分解。PS FDs+MVDs有一个完善的公理化,所以请参阅一些有关MVDs的参考资料。