首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >可变候选数骑行的数据库设计

可变候选数骑行的数据库设计
EN

Stack Overflow用户
提问于 2018-11-27 16:52:08
回答 1查看 28关注 0票数 0

所以,我有一张骑马桌和一张候选桌。每次骑行最多可有12名候选人参加,每个候选人都有各自的成绩。此外,我有一个投票划分表,这是类似于骑马表,除了数百个分区通常共享同一组候选人。

我很难用它来设计数据库。目前,我每个候选人有2列,其中一列将ID存储到候选人表中,另一列则存储结果。like表如下所示:

代码语言:javascript
复制
(riding_id INTEGER, name TEXT, cand0_id INTEGER, cand0_result INTEGER ... cand11_id INTEGER, cand11_result INTEGER)

投票划分表类似。

候选人表如下所示:

代码语言:javascript
复制
(cand_id INTEGER, riding_id INTEGER, name TEXT)

如果骑行或民意测验的候选人少于12人,那么这组列是空的。然而,这是很难处理的,因为它需要大量的查询才能得到我需要的每一列,并在候选表上加入一个巨大的连接。

如果我只使用骑行,我可以使用候选表中的骑行id来表示这个关系,但也有几百个投票分区,这意味着如果我想对投票分区做同样的事情,我会再次遇到“大量的列”问题。

有什么合理的方法来整理我的数据吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-11-27 17:32:29

您肯定希望保持一个明确的设计,并避免有一个“跨”列的设计的愿望。您的设计应该包括将数据转换为报告所需的其他布局表单的视图。

基于您的问题和对投票管理的推测

代码语言:javascript
复制
candidates
----------
candidate_id
name
affiliation_id
etc...

ridings
-------
riding_id
name
etc...

riding_candidates
-----------------
riding_candidate_id
riding_id
candidiate_id
result

polling_divisions
-----------------
polling_division_id
name
etc...

polling_division_candidates
---------------------------
polling_division_candidate_id
polling_division_id
candidate_id
detail... (specific to division+candidate combination)
etc...
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/53504470

复制
相关文章

相似问题

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