Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/63.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
Mysql 关于两个表的关系数据库_Mysql_Database - Fatal编程技术网

Mysql 关于两个表的关系数据库

Mysql 关于两个表的关系数据库,mysql,database,Mysql,Database,建议表A具有表B中的两个外键吗?我的想法是,如果表A中的一个外键是主键,那么就不需要在表A中添加额外的外键。我可以看出它可能是有效的。如果表B有一个外键指向a的主键,那么您是说每个B都必须指向某个a。但是您也可以有一个外键指向a中的一个可为空的字段,这意味着a必须存在,并且在您的键中有第二个字段的数据。您试图用上面的什么建模?如果你也这么认为的话,我们可以给你一个更好的建议。这听起来像是你的结构设计的一个概念问题。如果t1中的一行引用t2中的一行,则t1中的行(根据定义)引用t2中该行的所有属性

建议表A具有表B中的两个外键吗?我的想法是,如果表A中的一个外键是主键,那么就不需要在表A中添加额外的外键。

我可以看出它可能是有效的。如果表B有一个外键指向a的主键,那么您是说每个B都必须指向某个a。但是您也可以有一个外键指向a中的一个可为空的字段,这意味着a必须存在,并且在您的键中有第二个字段的数据。

您试图用上面的什么建模?如果你也这么认为的话,我们可以给你一个更好的建议。这听起来像是你的结构设计的一个概念问题。如果t1中的一行引用t2中的一行,则t1中的行(根据定义)引用t2中该行的所有属性。否则,您会将属性从一个表复制到另一个表,并为自己设置更新异常,或者t2中的主键应该是多列,或者您的设计中有一些不寻常的东西,可以使用连接表或更好的规范化来更好地处理。请详细说明,我得到了帮助。感谢所有帮助过我的人