Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/postgresql/10.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 - Fatal编程技术网

Database design 多数据库关联实体

Database design 多数据库关联实体,database-design,Database Design,关于数据库设计的快速问题 如果我有两个数据库:User_DB和Group_DB,User_DB包含一个名为User_TB的表,Group_DB包含一个名为Group_TB的表。这是一种多对多关系,因此用户可以属于多个组,并且一个组可以有多个用户。因此,它们之间有一个关联实体UserGroup。这张桌子应该放在哪里?在用户\u DB或组\u DB?中,假设有合理的理由拥有两个独立的数据库,我倾向于将其保存在“拥有”关系的数据库中-答案将根据问题域中实体和关系的定义而有所不同,可能是主观的 在这种情

关于数据库设计的快速问题


如果我有两个数据库:User_DB和Group_DB,User_DB包含一个名为User_TB的表,Group_DB包含一个名为Group_TB的表。这是一种多对多关系,因此用户可以属于多个组,并且一个组可以有多个用户。因此,它们之间有一个关联实体UserGroup。这张桌子应该放在哪里?在用户\u DB或组\u DB?

中,假设有合理的理由拥有两个独立的数据库,我倾向于将其保存在“拥有”关系的数据库中-答案将根据问题域中实体和关系的定义而有所不同,可能是主观的


在这种情况下,用户属于组-这种关系非常倾向于用户而不是组,因此我倾向于将映射保留在User_DB中

大多数RDBMS不支持跨数据库外键

您的数据库可能会关闭,但请记住,在给定的时间内,一个数据库可能会因维护而关闭,或者不可用,或者处于重载状态……等等。因此,即使您能够做到,使用交叉db外键也可能不是一个好主意


因此,我建议将两个表保持在同一个数据库中。

是否需要两个不同的数据库?