我应该为我的情况在数据库中存储com-sep数据吗?

米蒂亚

我知道这通常是个坏主意,我已经读完了-特别是这个问题

但是,总归一化路线似乎更复杂,这将给我和我的代码带来更多麻烦。这是我的情况:

我正在构建一个测试创建系统,用户可以在其中创建测试,问题和答案,并将它们全部关联在一起,即,将答案与问题相关联,将问题与测试相关联。这种方法意味着无需将任何一种数据硬链接到任何其他数据。例如,给定的问题可以是两个或多个测试的一部分。所以,我在想(简化):

测试表:

  • id(PK)
  • 名称(varchar)
  • 问题(问题ID的清单)

问题表:

  • id(PK)
  • 问题文字(varchar)
  • 答案(答案编号的清单)

答案表:

  • id(PK)
  • 回答文字(varchar)

因此,tests表中的给定行可能如下所示:

---------------------------------------
| ID | NAME           | QUESTIONS     |
---------------------------------------
| 1  | SOME TEST      | 1,4,7,8,11,19 |
---------------------------------------

然后,当我获取一个测试及其问题时,我只是用做一些魔术group concat

问题:这都是一个坏主意吗?看起来比选择另一个简单得多,后者有两个专用的表分别用于记录测试和问题以及问题和答案之间的关联,这意味着在任何查询中都涉及更多的表。

比尔·卡温

当然,在某些情况下值得进行非规范化。

但请记住,非规范化有助于简化针对您的数据的查询子集,而以牺牲所有其他查询为代价。

我对在数据库列中存储定界列表的回答中列出的方案真的那么糟糕吗?显示您可能需要对数据执行多少其他类型的查询或更新。搜索,排序,插入,删除...此外,依靠引用完整性来避免您的数据转向孤儿集合。

但是,如果您知道获取或更新id的整个列表是唯一需要优化的事情,并且它永远不会改变(著名的最后一句话),那么就去使用非规范化。

如果您希望其他任何类型的查询都方便或高效,请坚持使用标准化设计。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

我应该为我的情况在数据库中存储com-sep数据吗?

来自分类Dev

我应该将Type存储在数据库中还是应该将其存储在枚举中?

来自分类Dev

我应该将GCM存储在数据库中吗?

来自分类Dev

我应该将上传的文件名存储在数据库中吗?

来自分类Dev

我应该在数据库中存储桌面应用程序的本地化数据吗?

来自分类Dev

我应该将其存储在数据库中还是代码中?

来自分类Dev

最佳实践:我应该在数据库中存储哪些信息?

来自分类Dev

我的数据未存储在数据库中

来自分类Dev

我应该先过滤用户密码,然后再将其存储在数据库中吗?

来自分类Dev

我们应该散列密码重置令牌并将它们存储在数据库中吗?

来自分类Dev

我应该为androidX中的实时数据库使用哪个firebaseUI库?

来自分类Dev

网站首选项,我应该将其保存在数据库表中吗?

来自分类Dev

我应该将 /var 放在数据库服务器的单独分区中吗?

来自分类Dev

我应该为每种数据库查询设置新实体吗?

来自分类Dev

我应该为我开发的每个新的wordpress网站创建一个新的数据库吗?

来自分类Dev

我应该为我的数据库制作多少个分片

来自分类Dev

我应该为数据库还是为每个表创建数据源

来自分类Dev

我应该在我的数据库中存储其他实体的用户特定信息吗?

来自分类Dev

我应该在网站上使用 JavaScript 数组来存储数据库中的项目数据吗?

来自分类Dev

数据存储设计问题。我应该结合使用数据库+ XML吗?

来自分类Dev

yii2为什么我不能在数据库中存储数据?

来自分类Dev

提交的数据不会存储在数据库中,提交后我将被重定向

来自分类Dev

我应该在数据库中输入什么日期

来自分类Dev

我应该在数据库中输入什么日期

来自分类Dev

我应该如何在.NET后端将国家/地区保存在数据库中

来自分类Dev

我应该使用哪种算法在数据库中查找相似之处?

来自分类Dev

有两种方法可以将多个数据存储在数据库中。我应该选择哪一个?

来自分类Dev

我应该缓存数据库数据吗?

来自分类Dev

我可以在数据库的不同存储过程中引用SQL Server中的CONSTANT这样的东西吗?

Related 相关文章

  1. 1

    我应该为我的情况在数据库中存储com-sep数据吗?

  2. 2

    我应该将Type存储在数据库中还是应该将其存储在枚举中?

  3. 3

    我应该将GCM存储在数据库中吗?

  4. 4

    我应该将上传的文件名存储在数据库中吗?

  5. 5

    我应该在数据库中存储桌面应用程序的本地化数据吗?

  6. 6

    我应该将其存储在数据库中还是代码中?

  7. 7

    最佳实践:我应该在数据库中存储哪些信息?

  8. 8

    我的数据未存储在数据库中

  9. 9

    我应该先过滤用户密码,然后再将其存储在数据库中吗?

  10. 10

    我们应该散列密码重置令牌并将它们存储在数据库中吗?

  11. 11

    我应该为androidX中的实时数据库使用哪个firebaseUI库?

  12. 12

    网站首选项,我应该将其保存在数据库表中吗?

  13. 13

    我应该将 /var 放在数据库服务器的单独分区中吗?

  14. 14

    我应该为每种数据库查询设置新实体吗?

  15. 15

    我应该为我开发的每个新的wordpress网站创建一个新的数据库吗?

  16. 16

    我应该为我的数据库制作多少个分片

  17. 17

    我应该为数据库还是为每个表创建数据源

  18. 18

    我应该在我的数据库中存储其他实体的用户特定信息吗?

  19. 19

    我应该在网站上使用 JavaScript 数组来存储数据库中的项目数据吗?

  20. 20

    数据存储设计问题。我应该结合使用数据库+ XML吗?

  21. 21

    yii2为什么我不能在数据库中存储数据?

  22. 22

    提交的数据不会存储在数据库中,提交后我将被重定向

  23. 23

    我应该在数据库中输入什么日期

  24. 24

    我应该在数据库中输入什么日期

  25. 25

    我应该如何在.NET后端将国家/地区保存在数据库中

  26. 26

    我应该使用哪种算法在数据库中查找相似之处?

  27. 27

    有两种方法可以将多个数据存储在数据库中。我应该选择哪一个?

  28. 28

    我应该缓存数据库数据吗?

  29. 29

    我可以在数据库的不同存储过程中引用SQL Server中的CONSTANT这样的东西吗?

热门标签

归档