我最近一直推出新的Access 2007的功能是多值字段。 我的初步印象是,它是一个坏主意,利用多个值的一个领域。 传统上,如果你想允许记录有几个值,你可以创建其他两个表,并与外键链接它们的字段。 这可以很容易地查询,并确保重复值引用同一项目。 在细胞保持列表似乎违反了数据库的目的。
是否有这些字段不让我觉得脏好用途?
我最近一直推出新的Access 2007的功能是多值字段。 我的初步印象是,它是一个坏主意,利用多个值的一个领域。 传统上,如果你想允许记录有几个值,你可以创建其他两个表,并与外键链接它们的字段。 这可以很容易地查询,并确保重复值引用同一项目。 在细胞保持列表似乎违反了数据库的目的。
是否有这些字段不让我觉得脏好用途?
多值字段的想法是支持轻松地创建报告/界面对象的,此外,我们可以创建一个表单显示说类别的问题。 相反,做了一些紧张的工作中,上帝保佑加入,这是假想simplier存储:
机械,电气
如在字段,而不是一个值
机械机电
Personnally我不喜欢它,并认为这种类型的字段是对非技术人员如会计师:)(开个玩笑)创建的。 没当回事,除非你正在创建一个愚蠢的工具,很少有人会用,很少有人永远不会有进军不要用这个。
来处理,这是正确的方式加入,没有重复,列内没有多值(这是所有3NF无论如何)。
这是创建的另一个原因是支持SharePoint列表内的多值。
乔恩
看到:
多值数据类型认为是有害的:多么危险数据类型是什么?
我曾与苏拉杰Poozhiyil,在Access项目经理......都苏拉杰一次长谈,我完全同意,开发商并不需要使用多值字段。 谁懂数据库的人已经实现多对多关系的一种好方法,都不可能得到的多值字段效益。
所以,我清楚,某些建议开发者不使用多值字段。 他们什么都没有给我们提供除了潜在的疼痛。
没有真正回答这个问题在这里,但读者可能会想指出,有一个完整的产业利基围绕的想法MultValued数据库 :
这些数据库从关系数据库的区别在于它们具有支持功能,并鼓励使用具有值的列表,而不是一个单一的值的所有属性的属性
因为在这种情况下,数据库引擎扩展到它的查询语言,以适应它的多面性的表(我假设访问可能没有),那么这不是真的堪比访问多值的字段。 但在任何情况下,一个有趣的平行(任何人谁是以前没有听说过MultValued数据库)。
接入市场的一大段非开发,但技术,用户亲切。 他们可能不明白正常化的价值,但他们可以得到的东西的工作。 他们只是需要一些简单,它比自由文本字段,人们输入,在那里你希望他们所有类型一样的东西更好。
当他们了解,他们可能会开始使用其他表和外键。 但是,有时候,多值字段是不够好。
多值字段可以很容易地从不必创建一个新的表和关系拯救你。
纯碱 - >类型
为什么我需要一个全新的表格只是说,百事进来常规,饮食等。
我希望他们让我们给多值的字段列,那么他们将成为像一个表,但要少得多
拒绝吧!
如果你正在学习SQL,学习正确的方式和规范你的表。 如果你知道数据库的设计做正确。 并不是每一个功能已被使用。
死灵-后......我想问题应该当线程第一次开始进行了修订,但我不会经过编辑过程中走了。
现在的问题是“多值字段一个好主意?”
本来应该问真正的问题是“多值字段在RDBMS一个好主意?”
正如其他人指出有一个完整的MVDBMS模型支持多值字段。 我在这个领域的专家,已经与模型超过30年的工作。 当然,这是在我看来,和其他人谁使用该平台每天都有一个好主意。 是的,高速缓存不仅拥有本身就是巨大的多维模型,但它也支持MVDBMS模型。 所以在这方面,问题的答案是肯定的。
但对于关系数据库,专门MS ACCESS答案几乎肯定是否定的,因为无论是RDBMS模型,也不是天生的平台支持的概念。
接受的答案是正确的,海事组织,因为它不只是回答提出的问题,就回答说是为了要问的问题。 但要做到一丝不苟,对询问确切的问题,接受的答案是不正确。
我相信真正的答案是“这是只有在DBMS平台支持是一个好主意,是对MVDBMS,也许还有其他的NoSQL平台,没有找到RDBMS。”
我真的不喜欢多值的字段。 也许他们这样做是为了使之更容易与其他多值系统,如老PICK / Unidata的系统界面。 我敢打赌,它的乐趣大量使用这一新功能到SQL Server升迁Access数据库。