当前位置:  开发笔记 > 数据库 > 正文

为什么多值字段在关系数据库中是个坏主意

如何解决《为什么多值字段在关系数据库中是个坏主意》经验,为你挑选了1个好方法。

在与Mongodb和Solr/Lucene合作之后,我开始想知道为什么关系数据库的多值字段(通常)被认为是个坏主意?

我知道关系数据库和规范化的理论基础.然而,在实践中,我遇到了许多用例,我最终使用键值对的元表来补充主表,例如在标记的情况下,我希望我不必进行多个连接查找数据.或者需求突然从支持单个作者变为每篇文章的多个作者.

那么,拥有多值字段有什么缺点,或者供应商选择不支持它,因为它不是SQL标准的一部分?



1> Erwin Smout..:

主要缺点是查询偏差.这种数据库倾向于考虑到一种特定类型的查询而设计的现象,并且当需要编写其他查询时变得难以处理.

假设您有学生和课程,并且您对所有这些进行建模,以便您可以在单个表中的单行中说"John Doe采用{法语,代数,关系理论}"和"Jane Doe采用{德语,功能计算,关系理论}".

这样可以很容易地查询"所有课程后面是什么......",但试着想象一下,为"所有遵循关系理论的学生"做出答案需要做些什么.

尝试并想象系统本身应该做的所有事情来提供这样的查询(如果可以写它)任何合理执行的机会......

推荐阅读
云聪京初瑞子_617
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有