Access多个位置的后端 - 共享与隔离数据库方法

时间:2012-02-06 12:49:09

标签: database-design ms-access ms-access-2007 database-schema

我正在为两个不同的总部建立一个数据库方案。每个位置使用相同的数据方案,但有自己的数据。两者都可以访问相同的位置,一个共享的网络文件夹,其中将放置相应的访问后端。两者都将使用相同的前端,根据用户(-account),将显示特定数据。每个位置将有两个主表,每年将增加约4000-5000条记录。

大多数情况下,每个位置仅使用自己的数据,但每周大约一次,第三方将从两个位置访问一些汇总数据。

在我看来,组织数据有两种可能性:共享方法,两个位置都使用&使用相同的表,其中一个字段指示当前数据是属于位置1还是2. 我看到的一个巨大问题是将通过网络传输的数据量(大致加倍),因为(到目前为止)据我所知)access在传输数据后在本地运行select语句。(我已经纠正)。除此之外,每次访问都需要额外的查询。

另一种方法是为第二个位置创建第二组表并保持它们“分离”(例如将它们重命名为loc1_tablex和/或创建第二个后端文件),这也可以使备份变得容易。 / p>

我更喜欢第二种方法,因为我真的看不到它的任何缺点。它会更快,在我看来更干净。

我是否错过任何进口或这种方法是否合理?

编辑:

在进一步讨论该主题后(我们也从客户端获得了一些新信息),我们决定将数据存储在一个后端和相同的表中。表结构完全相同,我们使用位置id来控制哪些数据属于哪个位置(第一种方法)。 Ty为了获得访问后端的一些信息,我在那里缺乏信息并且学到了很多东西!

1 个答案:

答案 0 :(得分:1)

如上所述,通过索引,当访问限制在一个位置或另一个位置时,Access不会删除更多记录。

但是,我认为这里将使用WAN,然后我可能会考虑使用SQL服务器,因为您可以聚合数据,这会发生在服务器端 - 比这些类型的场景快得多JET ,假设你需要这样的场景。

此处的另一种可能性是考虑使用Access 2010和Office 365.在这种情况下,您保留常规的Access前端,但将数据移至Office 365.

这个系统的优点是你有离线和本地数据存储。这意味着访问数据库的每个副本上的报告和只读数据将以非常高的速度发生,并以本地JET数据库速度发生。输入服务器表中的任何新数据都将自动同步到每个人都在使用的客户端。如上所述,由于这种自动离线模式,如果您的Internet连接中断或中断一段时间,则System Works非常好,甚至可以继续工作。

关于将数据迁移到Office 365的唯一不利方面,您需要执行一些额外的步骤来确保将参照完整性“正确”移至办公室365.

简而言之,这个额外的步骤意味着你打破(删除)表之间的关系,然后使用新的关系向导来设置简单的与Office 365兼容的关系。

这个系统的美妙之处在于每月6美元的低成本。而且您可以将许多用户从这个帐户中删除。不仅如此,这样的设置还允许您为每个人发布和构建用于数据输入的Web表单,理论上您甚至不必分发访问表单,而是使用Web表单。然后用它里面的数据。因此,如果您这样做,可以在智能手机或iPad上查看这些表格和数据。

这是一个一步一步的视图,它显示了我如何打破表之间的关系,然后以正确的方式重新连接它们以便在office 365上使用:

http://www.youtube.com/watch?v=3wdjYIby_b0&fmt=22&hd=1

最后但并非最不重要的一点是,您可以使用Office 2010上传完整的参考完整性数据,因此理论上可以使用Access 2007前端链接到这些表。但是,Access 2007没有自动脱机模式,并且性能不会接近使用此设置的Access 2010时的性能。

因此,我认为Office 365是一个潜在的理想解决方案,因为您可以实时更新现场的任何前端。

虽然以上视频是关于发送数据和使用常规Access前端,但您可以在Office 365上的Access中构建和使用Web表单,如此视频所示:

http://www.youtube.com/watch?v=AU4mH0jPntI

此处不需要activeX或silverlight。