多值领域是一个好主意?

sti*_*mms 7 database ms-access multivalue multivalue-database

我最近介绍了新的Access 2007功能,它是多值字段.我的初步印象是,在单个字段中使用多个值是一个坏主意.传统上,如果您希望允许记录具有多个字段值,则可以创建另外两个表并使用外键链接它们.这样可以轻松查询并确保重复值引用相同的项目.将列表保留在单元格中似乎违反了数据库的目的.

这些领域有很好的用途,不会让我感到肮脏吗?

one*_*hen 7

看到:

被认为有害的多值数据类型:数据类型有多危险?

我和Suraj Poozhiyil,访问项目经理进行了长时间的谈话...... Suraj和我都非常同意开发人员不需要使用多值字段.理解数据库的人已经有很好的方法来实现多对多关系,并且不会从多值字段中获益.

因此,我对开发人员的明确建议不是使用多值字段.除了潜在的痛苦之外,他们没有什


roh*_*agg 5

这里并没有真正回答这个问题,但读者可能会注意到,围绕MultValued Databases的想法存在一个完整的利基行业:

这些数据库与关系数据库的不同之处在于它们具有支持和鼓励使用具有值列表的属性的功能,而不是具有单个值的所有属性

因为在这种情况下,数据库引擎具有对其查询语言的扩展,以适应其表的多维性质(我假设Access可能没有),那么它与Access中的多值字段无法真正比​​较.但在任何情况下都是一个有趣的并行(对于之前从未听说过MultValued Databases的人).


Jon*_*onH 3

多值字段的想法是支持轻松创建报告/界面对象,此外,还可以创建一个显示问题类别的表单。与其做一些繁重的工作(上帝禁止加入),据说存储起来更简单:

机械、电气

作为字段中的值而不是

机械电气

就我个人而言,我不喜欢它,并假设这种类型的字段是为会计师等非技术人员创建的:)(开玩笑)。不,说真的,不要使用它,除非您正在创建一个很少有人会使用并且很少有人需要利用的愚蠢工具。

处理这个问题的正确方法是连接、没有重复、列内没有多值(无论如何,这都是 3nf)。

创建它的另一个原因是支持共享点列表内的多值。

乔恩