Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/57.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_Relational Database - Fatal编程技术网

如何在mysql中设置一对一的关系基数?

如何在mysql中设置一对一的关系基数?,mysql,relational-database,Mysql,Relational Database,我需要在mysql数据库中进行一对一关系的帮助。 我试图在问题中找到答案,但我找不到。 我有一个表联系人和一个表地址,表联系人有4个地址id,所以这个id必须是地址表的4个外键,在地址表中,我需要一个联系人外键。我说得对吗?这会给我一个联系人1:*地址关系 我怎样才能建立这种关系 你在这里有一种多对多的关系。您需要通过引入一个新的桥接表ContactAddressXref来解决此问题,该表包含联系人表和地址表的外键。是的,您所说的关于如何设置表的内容是正确的。这将给你一个1:*rel;然而,你的

我需要在mysql数据库中进行一对一关系的帮助。 我试图在问题中找到答案,但我找不到。 我有一个表联系人和一个表地址,表联系人有4个地址id,所以这个id必须是地址表的4个外键,在地址表中,我需要一个联系人外键。我说得对吗?这会给我一个联系人1:*地址关系


我怎样才能建立这种关系

你在这里有一种多对多的关系。您需要通过引入一个新的桥接表ContactAddressXref来解决此问题,该表包含联系人表和地址表的外键。

是的,您所说的关于如何设置表的内容是正确的。这将给你一个1:*rel;然而,你的问题标题有误导性,因为你问的是如何将基数设置为1:1,而这不是1:1的关系。我知道。。一对一是我想要的,因为我想知道一个用户在每个id中有一个地址。联系人表中的地址是这些id中的四个。你的概念混淆了。这仍然是一对多关系。如果您想在没有Joe建议的桥接表的情况下实现您想要的,只需在address表中添加contact_id列即可。但我坚持认为,这是一对多的关系。这些地址ID进入新的桥接表。联系人表中不应该有引用地址的列。是的,但在桥接表中,我不知道联系人只有4个地址不少于,不多于。@Phoenix_uy为什么要4个地址不少于,不多于?这是一种奇怪的要求。@Phoenix_-uy:我建议您在中间层业务逻辑中实施这样的规则,而不是在数据库设计中。