重要的是要认识到物理和逻辑关系之间的差异。今天,整个互联网和网络服务(SOAP)在一种本质上具有多值性的数据格式上非常实现。
当你代表关系数据库(如Access)多值数据,然后在后台使用的是传统的(和合法)的关系。我不能这样强调,那么在Access中使用多值列实际上是一个LEGITIMATE关系模型。
表未暴露的事实并不否定此问题。实际上,如果您将发票(主记录和重复详细信息)表示为XML数据立方体,那么我们会看到两件事情:
1)您可以使用关系数据库构建并表示该发票,如Access 2)这样规范化的关系数据模型也可以表示为一个单一的xml字符串。 3)删除XML记录(或字符串)意味着级联删除子行(发票明细)必须发生。
所以,尽管将多值字段添加到Access以处理SharePoint是事实,但认识到这些数据可以映射到关系数据库是非常重要的(如果您不能这样做,那么Access可以不使用关系数据库表中的XML数据作为ACCESS当前的权利)。
而且随着网络如XML和SharePoint则需要消耗以及管理和利用这些数据不仅分布广泛,但实际上是互联网的一个基本的主食。
随着越来越多的数据变得越来越复杂,我们发现使用中要求多值数据爆炸。任何使用互联网所谓“时尚”的人都会依赖和使用实际上非常多的XML,而且本质上是多值(复杂)的数据。
只要逻辑(而不是物理)关系数据模型被保留,那么就可以使用多值列来表示这样的数据,这正是Access正在做的事情(它将关系数据模型映射到复杂模型)。请注意,complex(xml)数据模型不一定必须是关系型的。但是,如果您要将这些数据映射到Access,那么复杂的多值模型必须符合关系数据模型。
这完全是在Access中发生的。
这样一个正确和合法的数学关系模型没有暴露的事实在这里没什么问题。我们是否建议,因为Excel不公开使用的二进制代码,那么用户将永远不会了解计算机?或者,也许我们都必须编写汇编程序,以便我们都正确地学习计算机的工作方式。
在一天结束时,谁在乎,为什么会这样?现在人们驾驶自动驾驶汽车的事实并没有抛弃他们使用不同的齿轮来操作汽车的概念。我们关闭全社会的想法是因为有人打算驾驶自动汽车,或者在这种情况下使用复杂的数据,这对我们来说太笨了。
因此请记住,SQL中的扩展确实存在于Access中以查询多值数据,但这里也指出这些基础表未公开。但是,如上所述,暴露这样的表将仍然需要一个不改变或混乱级联删除,因为该功能是必需的维护复杂数据模型(xml)和使用两个之间的特征交集和正确的数学关系模型相关表格来表示这些数据。
换句话说,您可以使用相关的表格来表示复杂的数据模型如果您删除用户使用参照完整性选项玩的能力。 RI选项必须保持在隐藏表格中设置,否则这些数据将无法将跳闸返回到其消耗的XML或复杂数据模型。
如前所述,关于用户被教授汽油如何与氧气反应以学习驾驶汽车,或者使用文字处理器以及被迫学习关系模型以及暴露底层表格在这里没什么意义。
但是,这里提到的关于这样的表格暴露的观点是合理的担忧。
REAL问题是SQL服务器和Oracle等不能消耗或表示复杂的数据而访问可以消费这些数据。
如前所述,复杂的数据船在LONG前航行! XML,soap和互联网的基本技术都基于这种复杂的数据模型。
在效果上,SQL服务器,Oracle和大多数数据库不能消耗此多值数据表示它无需用户具有在关系的方式来创建和模型这样的数据是SQL服务器等的大的缺点
访问权独立于使用此数据的能力。
因此,对于任何使用智能手机,iPad或网络的用户,您都在使用基于复杂数据构建的基本技术,这些技术都是Access现在允许的。
由于越来越多的数据本质上是复杂的,很可能其他行业将不得不效仿。如果数据库行业没有改变,那么主流的传统关系数据库系统将不会成为这些数据的休憩处。
现在,远离在相关表中存储数据的趋势正在迅速发展,像SharePoint这样的产品甚至Google文档都证明了这一概念。因此,Access只是对市场压力作出反应,其他数据库供应商很可能不得不效仿或放弃成为称为互联网的“时尚”的一部分。
XML和复杂的数据结构是现在的行业和事实 - 这不是一个我们都应该逃避的问题,但实际上是拥抱。
Albert D. Kallal (Access MVP)
Edmonton, Alberta Canada
[email protected]
多值字段在很多方面与查找相似,所以http://access.mvps.org/access/lookupfields.htm。它们主要对Sharepoint有价值,除非您使用Sharepoint,否则建议通常不会使用它们。用SQL复制表(select into,insert into)也不起作用。对于你的学生来说,这可能是一个很好的时机,可以让你了解应用程序有时会有反功能:) – Fionnuala