我建模许多一对多关系,其中关系被访问的大部分时间只从一侧。 它更像一个层次,被访问自上而下的,而不是周围的其他方式。
调查属于许多问题都有属于许多答案 。
双方的关系必须是多到很多,因为同样的问题,可以在不同的调查和同样的答案在许多问题重新使用。 这是一个要求。
该标准的实施M2M将使用两个结表, surveys_questions
和questions_answers
。 相反,我想使用PostgreSQL的整数数组存储question_ids
在调查和answer_ids
的问题。
我们可以利用任何运营商查询外键阵列相匹配的所有行。
我们将如何查询所有使用SQL他们的问题和问题的答案的调查?
我们怎样才能匹配外键阵列返回的行的顺序? 即。 使用question_ids = [1,2,3]是保证与顺序1,2,3返回问题的行。
请问这个明智的执行性能相比结表(假设正确的索引,不管它们是什么)?
你认为呢? 是否有关于这样的造型M2M一些资源?
更新
有添加的阵列外键到PostgreSQL 9.3参照完整性的建议,但它并没有得到包括: http://blog.2ndquadrant.com/postgresql-9-3-development-array-element-foreign-keys/
SO有关使用外键排列维持秩序的问题PostgreSQL的JOIN与数组元素顺序数组类型,如何实现?