拆分MS Access数据库-仅后端中的表? [英] Splitting an MS Access database--only Tables in Back End?

查看:72
本文介绍了拆分MS Access数据库-仅后端中的表?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

因此,我正在MS Access中建立这个全新项目(2007,但我认为这并不重要),并且我接近将数据库拆分以进行最终测试和测试的时候了. ;部署.拆分设置的常用描述是"BE中的所有表,FE中的所有其他表",但我想知道是否可能不存在某些适当的例外情况:

So, I'm building this brand-new project in MS Access (2007, but I don't think it matters), and I'm getting close to the point where it's time to split the database for final testing & deployment. The ususal description of a split setup is "All tables in BE, everything else in FE", but I'm wondering if there might not be some appropriate exceptions to that:

  1. 我计划在FE中保留一张表的应用程序管理数据.这是一行,其中包含诸如版本号和应用程序标题之类的信息.它将对用户隐藏.

  1. I plan to keep one table of application-management data in the FE. This is one row with information such as version numbers and the application title. It would be hidden from the users.

在跟进相关问题的同时,我看到了BE中一个小的启动表单的想法,该表单告诉用户(很好)告诉&而是打开FE.

While following up on the Related Questions, I saw the idea of a small startup form in the BE that tells users (nicely) to go away & open the FE instead.

在我看来,我的查询中的一些实际上实际上属于BE.这些特定的查询在用法上类似于SQL Server中的视图-也就是说,它们将归一化的数据汇总到一个更非归一化的表示中,并且/或者对所有已存储在一起但确实具有一个明显的不同.后者的一个示例是人员表,其中的BE查询以一个 唯一涉及以下成员的形式提供了一个子集,这些子集都位于同一部门中,以便进一步操作(或FE查询).该部门.

It seems to me that some of my queries would actually belong in the BE instead. These particular queries are, in usage, similar to Views in SQL Server--that is, they draw together normalized data into a more denormalized presentation, and/or do a "first cut" filter on some data that's all stored together but really has one significant difference. An example of the latter is a Personnel table, with a BE query that presents a subset that are all in the same Department for further manipulation in a form (or FE query) that is only concerned with members of that department.

这些听起来像是合理的做法,还是我应该坚持所有表/其他所有内容"的划分?

Do these sound like reasonable practices, or should I jsut stick to the "All tables/everything else" division?

推荐答案

将视图"放在后端无法获得任何性能.在执行架构工作时,您仅应使用其中存储的QueryDef.例如,在所有复制的应用程序中,我都会执行少量查询,这些查询显示复制系统表中的数据.这些都与前端无关.

There is no performance to be gained by putting your "views" in the back end. The only QueryDefs that should be stored there are the ones you use when doing schema work. For instance, in all my replicated apps, I keep a handful of queries that display data from the replication system tables. None of those are relevant to the front ends.

换句话说,属于应用程序的任何部分都属于前端.从Jet/ACE的角度来看,性能确实没有任何区别,但是您需要做更多的工作来利用这些后端视图"-您无法将它们链接为表格就像使用ODBC数据源中的视图一样.

In other words, anything that's part of the application belongs in the front end. From Jet/ACE's point of view, there really wouldn't be any difference in terms of performance, but you'd have a lot more work to utilize those back end "views" -- you can't link to them as a table like you can with a view from an ODBC data source.

这篇关于拆分MS Access数据库-仅后端中的表?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆