接线表与外键阵列?
我正在建模多对多关系,其中大多数时间只从一方访问关系。它更像是一个层次结构,这是从上而下而不是其他方式访问的。
调查已经属于许多问题,属于许多答案。 这两种关系必须是多对多的,因为在许多问题中,可以在不同的调查和同样的答案之间重复使用相同的问题。这是一个要求。 标准M2M实施将使用两个连接表,调查问题和问题答案。相反,我正在考虑使用PostgreSQL的整数数组来存储问题的Survey和answer_ids中的question_ids。 我们可以利用ANY运算符查询与外键数组匹配的所有行。 我们如何使用SQL查询所有调查问题和问题的答案? 我们如何匹配与外键数组返回的行的顺序?即。使用question_ids = [1,2,3]保证返回问题行的顺序1,3。 与连接表相比,它如何表现明智(假设适当的索引,无论它们是什么)? 你会建议吗有没有一些关于如此建模M2M的资源? 更新 有一个建议是将数组外键的引用完整性添加到PostgreSQL 9.3,但没有包含:http://blog.2ndquadrant.com/postgresql-9-3-development-array-element-foreign-keys/ 关于使用外键PostgreSQL JOIN with array type with array elements order,how to implement?维护订单的问题
使用接合处理方法。阵列方法是非标准的,您必须提出有关它将工作多少的问题,而另一个是完全标准的。
(编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |