- Java 双重比较
- java - 比较器与 Apache BeanComparator
- Objective-C 完成 block 导致额外的方法调用?
- database - RESTful URI 是否应该公开数据库主键?
我正在为调查系统构建数据库。
We have employees that fill in a survey with categories that have questions. The employee can give him/herself a score (for example 6/10). Now we also have coaches which will fill out the same test for that employee.
我当前的数据库是这样的
+------------+------------+---------+-----------+
| EmployeeID | QuestionID | CoachID | Answer |
+------------+------------+---------+-----------+
| 1 | 10 | null | 5/10 |
| 2 | 11 | null | 8/10 |
| 3 | 12 | null | 6/10 |
| 1 | 10 | 1 | 5/10 |
| 2 | 11 | 1 | 8/10 |
| 3 | 12 | 1 | 6/10 |
+------------+------------+---------+-----------+
如您所见,这些行由 1 名员工、1 名教练和 3 个问题提供。这会变得很大,我很担心这个设置。
如果有 40 名员工,每名员工有 2 名教练和 100 多个问题会怎样?
有没有更好的方法来解决这个问题?
我正在考虑使用 JSON 字段,它存储分数的类似数组表示,例如
[3,4,5,7]
但问题是我无法对该字段进行查询,对吗?
期待您处理此类数据库的方式。谢谢!
最佳答案
关系数据库可以处理数百万甚至数十亿行 - 这是一个非常窄的表(即只有几列)。即使有数千名不同的员工和问题,这也算不上一张大 table 。我不会在这方面担心。
如果你想确定这一点,设置一些测试数据。无论如何,这是一个非常好的做法——很少有开发人员尝试使用与系统上线后存在的数据量相当的数据量来测试他们的系统。如果您已经知道您将有 40 名员工、2 名教练和 100 个问题,那么您就知道要设置哪些测试数据。创建它并尝试一些与来自前端的查询相匹配的查询。如果您遇到性能问题,请检查索引等内容。
更进一步,想想这个系统在其整个生命周期中将有多少数据。如果员工每年都会回答新问题,那么想想这个系统需要保存多少年的历史数据。如果是 5 年,那就需要 40 名员工、2 名教练和 500 个问题。也许期望公司会增长很多,所以为了安全起见,您可以尝试 100 名员工、5 名教练和 500 个问题。
设置此类数据可能会有点耗时,但如果您预先发现这些问题,而不是发现您选择了糟糕的数据模型或编写了一些上线后查询不好。在您的情况下,数据模型看起来足够简单 - 数量也足够小 - 可能不会真正花费您那么长时间来设置和测试。
关于database - 存储大量 'survey answers',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41041690/
问题在标题中。我有一个 Spring MVC Web 应用程序,我必须修改很多东西,我对此一无所知,在做任何事情之前我都想了解它是如何制作的。 有什么区别: return new ModelAndVi
大家好,我是 JSP 和 JavaBean 的新手。我正在通过编写一个应用程序来练习,其中多个页面将共享一个 javabean 组件。 “check.jsp”页面实例化 bean 并设置属性,没有任何
我记得Shadowrun的日子让我对黑客感到兴奋。有CodeWar和LightBot都很有趣(尽管CoreWar有点过时了)。还有哪些其他有趣且富有挑战性的编码游戏,可以使人们对编码感到兴奋或夸张甚至
创建公共(public)投票。如何验证用户只投票一次。我尝试使用 IP 地址,但有些组织使用 1 个 IP 地址。 最佳答案 这不是 100% 的解决方案,但您可以将浏览器指纹与 IP 地址结合使用。
我正在寻找工作流类型的描述,描述您从一个软件开发任务切换到另一个软件开发任务时执行的一系列步骤。如果某个步骤涉及工具,请指定哪个工具及其使用方式。工作流的目标是尽可能顺利地从任务 #1 过渡到任务 #
使用 Survey JS ,这个想法是要求用户从预定义的选项列表(单选按钮)中回答一些问题。 每个选项都将分配一个分数(0、25、75、100),在做出每个选择时,我想在屏幕上的某个位置显示实时比分。
我有 100 位用户的调查,我正在尝试计算一些统计数据。我的调查中的相关字段如下所示: Gender Interests B1: Male D1: Runn
As it currently stands, this question is not a good fit for our Q&A format. We expect answers to be
就目前而言,这个问题不适合我们的问答形式。我们希望答案得到事实、引用或专业知识的支持,但这个问题可能会引起辩论、争论、投票或扩展讨论。如果您觉得这个问题可以改进并可能重新打开,visit the he
我使用 SharePoint 进行了一项基本调查,但找不到如何使用 SPServices 获取问题。 我只知道如何使用以下代码获取调查的回复: $().SPServices({ operati
我正在构建调查构建系统,但不确定如何最好地存储数据。我可以看到的两个选择是: 使用序列化数组,或者 将每个元素作为单独的行存储在相关表中 例如,通过使用第一个,我会将如下内容存储为序列化数组: Arr
我正在为调查系统构建数据库。 We have employees that fill in a survey with categories that have questions. The empl
是否可以从调查猴子那里获得完整的调查回复?目前在 API 文档中我只看到 curl -i -X POST -H "Content-Type: application/json" -H "Authori
已结束。此问题正在寻求书籍、工具、软件库等的推荐。它不满足Stack Overflow guidelines 。目前不接受答案。 我们不允许提出寻求书籍、工具、软件库等推荐的问题。您可以编辑问题,以便
尝试在我的 React 应用程序中使用 Survey.js。当尝试加载调查编辑器时,我可以加载初始界面,但在尝试编辑问题时遇到问题。“编辑”和“...”按钮不起作用。他们触发了图中所示的错误。 已在
我有一个处理调查及其答案的嵌套表单。但是当我加载表单时出现一个奇怪的错误: ActiveRecord::HasManyThroughNestedAssociationsAreReadonly 有任何想
故事 我正处于为我公司正在整合的零售商激励计划创建视频教学引擎的开始阶段。它的工作方式是零售商将注册并获得登录系统以访问内容的能力。登录后,零售商将观看有关我公司产品的短视频,然后要求他们回答有关产品
我需要开发一个调查应用程序。 用户首先会做出一些选择,然后会显示相应的问题列表。 由于我有一个包含 2000 多个问题的列表可供选择,因此不可能为每种类型的调查创建一个 XML 布局。这个想法是遍历存
实际上,我只是花了很长时间从参差不齐的文档和大量 Web 控制台检查中拼凑出这个问题的答案。由于到目前为止最有用的信息来自 Stack Overflow,因此我想将这个问题及其答案放在这里,以供将来搜
我一直在尝试从他们的 Survey Monkey 帐户中提取客户的调查数据,似乎他们的数据越多,非法字符就越有可能被引入到生成的 JSON 字符串中。 下面是错误响应返回的示例,每个响应都不同,甚至更
我是一名优秀的程序员,十分优秀!