首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Rails中的建模竞赛,是postgres数组的好时机吗?

Rails中的建模竞赛,是postgres数组的好时机吗?
EN

Stack Overflow用户
提问于 2016-05-26 08:45:18
回答 1查看 49关注 0票数 2

我要在我的网站上建立一个竞赛功能。我有关于建模和postgresql数组数据类型的使用的问题,以及这是否是正确的使用。

规范:

我的应用程序确实有一些用户,但我不认为竞争会面临巨大的压力,用户/条目方面。应用程序使用ruby 2.1.3、rails 4.1.6和postgresql 9.3.5运行。

我的想法:

在预测方面,不同的竞赛将是相似的。每一场比赛都会有多个选手/队(这在每一场比赛中都是不同的)。用户将被要求预测哪些球队/球员完成了第一名、第二名、第三名、第四名、第四名和第四名。

有了这种心态,我想我可以跳过把球队/球员放到自己的模式中,而把可供选择的球队/球员放在竞赛表内的数组中。

我也在想,我可以把位置预测放在条目表中,比如:1,2,3-4(数组),5-8(数组),同样的结果也可以放在竞赛表中。

关系,如下所示:

竞赛

  • 有很多:条目

用户

  • 有很多:条目

条目

  • belongs_to :竞赛
  • belongs_to :用户

I将在:时查询数组

1)条目--新条目:用户需要查看哪些团队在以该形式进行预测时可用。

2)竞赛-编辑:我需要更新比赛与团队的位置。

3)条目更新:自动评分,将条目预测与竞赛答案/结果进行比较。

这是否很好地使用postgresql数组类型?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-05-26 09:16:28

Postgreq的JSONB允许索引,这使得它比非索引的JSON类型更有效,理论上允许在关系数据库中进行非关系存储。

但是,在您的具体情况下,我将不使用数组类型。这是个人观点,我认为Rails的ORM对于查询复杂的JSONB还不够友好,特别是当您决定添加更复杂的特性时。

根据经验,我将使用JSONB类型进行缓存和简单的值存储(即。标签或关键字的列表。是的,您可以将用户看作一个数组,但是,如果您想要更改某些内容或添加额外的信息,您将最终修改它,这将是很难处理的),而不是在具有复杂关系的表上。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/37455847

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档