Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/database/9.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 是否将表格正确放入4NF?_Database_Database Design_Normalization_Database Normalization - Fatal编程技术网

Database 是否将表格正确放入4NF?

Database 是否将表格正确放入4NF?,database,database-design,normalization,database-normalization,Database,Database Design,Normalization,Database Normalization,问题: 将人际关系置于4NF中,其中 人员(姓名、兄弟姐妹、鞋号) 假设存在以下功能依赖关系: 名称-->-->同级 名称-->鞋号 我在下面提出的是4NF中表格的正确版本吗?我的头脑还在正常化 列出多值依赖项 名称-->-->兄弟姐妹 将多值依赖项拆分为自己的表 人名2([PK]人名、鞋号) 兄弟姐妹([FK]人名,兄弟姐妹名) 第二步:列出函数依赖项 人名->(鞋号,兄弟名) 第三步:列出初始候选密钥 人名 第七步:陈述最终的表并创建引用完整性约束 人名2([PK]人名、鞋号) 兄弟姐妹(

问题:

将人际关系置于4NF中,其中

人员(姓名、兄弟姐妹、鞋号) 假设存在以下功能依赖关系:

名称-->-->同级

名称-->鞋号

我在下面提出的是4NF中表格的正确版本吗?我的头脑还在正常化

列出多值依赖项

名称-->-->兄弟姐妹

将多值依赖项拆分为自己的表

人名2([PK]人名、鞋号)

兄弟姐妹([FK]人名,兄弟姐妹名)

第二步:列出函数依赖项

人名->(鞋号,兄弟名)

第三步:列出初始候选密钥

人名

第七步:陈述最终的表并创建引用完整性约束

人名2([PK]人名、鞋号)

兄弟姐妹([FK]人名,兄弟姐妹名)


其中SIBLING.PersonName必须存在于PERSON\u 2.PersonName中。

您唯一忘记的是约束

PERSON_2.PersonName必须存在于同级中

否则,生成的数据库设计与原始数据库设计不完全相同

(很多时候,这也是一个迹象,表明您的原始设计一开始就不太适合解决手头的业务问题,但规范化理论与原始设计的适用性无关。)