Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/82.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/database/8.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 两个关联表之间的关联表。这是正确的方法吗?_Sql_Database_Postgresql_Sqlalchemy - Fatal编程技术网

Sql 两个关联表之间的关联表。这是正确的方法吗?

Sql 两个关联表之间的关联表。这是正确的方法吗?,sql,database,postgresql,sqlalchemy,Sql,Database,Postgresql,Sqlalchemy,有三个初始表,产品、用户和标签。(不是真正的产品表,但它提供了一个更简单的示例) 用户和产品之间以及用户和标签之间存在多对多关系。因此,我为这个关系创建了两个关联表-->UserProduct和UserTag 现在,用户可以创建多个标签,并将这些标签添加到产品中。据我所知,这可以通过在关联表UserProduct和UserTag之间创建另一个关联表UserProductTag来实现 我在互联网上找不到这个用例的很多例子。这让我想知道,这是正确的方法吗?还是我过度规范化了 这变得更加复杂,因为我也

有三个初始表,产品用户标签。(不是真正的产品表,但它提供了一个更简单的示例)

用户产品之间以及用户标签之间存在多对多关系。因此,我为这个关系创建了两个关联表-->UserProductUserTag

现在,用户可以创建多个标签,并将这些标签添加到产品中。据我所知,这可以通过在关联表UserProductUserTag之间创建另一个关联表UserProductTag来实现

我在互联网上找不到这个用例的很多例子。这让我想知道,这是正确的方法吗?还是我过度规范化了


这变得更加复杂,因为我也必须在SQLAlchemy中实现这一点,我不知道(但我想这是一个不同的问题)。

我相信您正在寻找的就是通常所说的

请参阅以下两个SO问题和答案,为您提供实施思路:


您的方法非常合理。