Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/84.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
Sql 表转换为BCNF_Sql_Database_Database Design_Database Schema - Fatal编程技术网

Sql 表转换为BCNF

Sql 表转换为BCNF,sql,database,database-design,database-schema,Sql,Database,Database Design,Database Schema,我很想知道这些表格是否符合Boyce Codd标准格式。基本上有一个公司拥有N个商店,每个商店都有N个工人。 每个公司都有自己的地址,每个商店都有自己的地址,甚至每个员工都有自己的住址。 可能是这样的吗?尤其是地址表?您需要指定适当的行列式,但我会做出假设。公司在BCNF中是因为它有两个属性,并且都是候选键——这是一个特例。 商店:如果名字和电话都是候选键,那么它就是BCNF。工作者:如果[姓+名]是候选键,则它是BCNF。地址:块是跨行复制的,因此它甚至不是1NF,因此它不能是BCNF。您需

我很想知道这些表格是否符合Boyce Codd标准格式。基本上有一个公司拥有N个商店,每个商店都有N个工人。 每个公司都有自己的地址,每个商店都有自己的地址,甚至每个员工都有自己的住址。


可能是这样的吗?尤其是地址表?

您需要指定适当的行列式,但我会做出假设。公司在BCNF中是因为它有两个属性,并且都是候选键——这是一个特例。
商店:如果名字和电话都是候选键,那么它就是BCNF。工作者:如果[姓+名]是候选键,则它是BCNF。地址:块是跨行复制的,因此它甚至不是1NF,因此它不能是BCNF。

您需要指定正确执行此操作的行列式,但我会做出假设。公司在BCNF中是因为它有两个属性,并且都是候选键——这是一个特例。
商店:如果名字和电话都是候选键,那么它就是BCNF。工作者:如果[姓+名]是候选键,则它是BCNF。地址:块跨行复制,因此它不是1NF,因此它不能是BCNF。

那么,我应该如何将地址表设计为BCFN?另外,我应该为每个必须有地址的表创建一个地址表,还是只创建一个地址表并像我那样连接它们?因为当你真的想在数据库中插入数据时,你必须填写所有外键来指定工作者的地址。你做到了吗?那么,我应该如何将地址表设计成BCFN格式?另外,我应该为每个必须有地址的表创建一个地址表,还是只创建一个地址表并像我那样连接它们?因为当你真的想在数据库中插入数据时,你必须填写所有外键来指定工作者的地址。你做到了吗?