MS Access何时比RDBMS支持的Web应用程序更好?

Hen*_*nry 3 ms-access rdbms

几年前我从高中开始就没有使用Access.

它解决了什么样的问题,甚至比真正的RDBMS支持的Web应用程序更好?

它还在积极发展吗?或者MS已经死了?

它最大的限制是什么?

更新:

应该使用什么资源来学习如何为小型企业开发MS Access解决方案?

谢谢

awr*_*ley 10

首先,Access是一个真正的RDBMS.它不是客户端服务器RDBMS.

这种情况的唯一含义是同时连接的数量存在节流,并且需要仔细考虑数据的安全性.

除此之外,Access也是一个使用VBA作为其语言的IDE.

这意味着在Access中,您可以编写链接到SQL Server后端,Access后端或SharePoint后端的前端应用程序.所以这是一个非常多功能的cookie.

它的局限性是:

  1. 安全性:如果您使用的是Access Back End,请注意它没有客户端服务器数据库的内置安全性.在任何应用程序中,安全性都是成本和数据必要保密的函数.

  2. 同时连接数.如果你不小心,Access会遇到超过10个人试图同时更新数据.你可以扩展它,但你需要知道你在做什么来保证结果.给它一个数字,让我们说50个同时连接.

  3. 像大多数数据库一样,它容易腐败.

注意:当将Access称为数据库时,您应该真正引用"数据库引擎",JET或ACE,具体取决于版本,对于Access 2007+,由您使用的文件格式决定.换句话说,如果要在Access表中存储数据,则使用JET或ACE.但是,如果您使用的是LINKED TABLES,例如SQL Server,那么严格来说,您不会对这些表使用JET或ACE安全性.

  1. Access SQL不允许您编写存储过程(您可以在VBA中编写函数),因为Access SQL只允许命令式语句而不是过程语句(例如,控制流语句).您可以使用VBA函数引入一些"过程代码",但这与使用SQL语句非常不同.

  2. 您备份文件本身.您可以通过单击按钮编写代码来执行此操作.

安全始终是成本的函数.如果您的数据价值超过100,000美元(如果它被盗,并且您没有表现出尽职调查保护它的话,可能会失去权利或法律责任),那么Access可能不是答案.100,000是任意数字.具体数字取决于数据是否可保险以及数据丢失或被盗的后果.

即,如果数据的值是驱动问题,那么绝对不要使用Access作为后端.您是否将其用作前端,是一个预算问题.对于5000美元,我已经编写了10年后仍在运行的应用程序.他们现在需要将后端移植到SQL Server,因为敏感数据量已经增长.

在上述限制条件下使用时以及专业Access开发人员(而不是一些认为自己应该使用"冷却器"技术的心怀不满的傻瓜)使用时,访问将以十分之一的成本生成非常复杂,坚固且可靠的应用程序.其他系统.在这种情况下,Access是一个完整的NO BRAINER.

其他任何东西都会花费更多,花费更长时间,只会与编写代码和设计UI的人一样好.

我有一个应用程序(我在Access中构建的第一个应用程序)已运行10年没有问题.我们已大规模扩展它.我已经进入了ASP.NET MVC,但Access是我欢呼的地方,我看到它运作良好.

总而言之:用户数量是相关的,数据中隐含的价值或负债是另一个决定因素.

如果同时用户数量较少且数据的值/隐含负债较低,那么选择肯定是Access.

但是,给自己一个好的开发人员.

EDITS /澄清:

像所有答案一样,上面的答案是在一个工作日的中间匆忙写的.有些陈述有点粗俗和通用,没有合适的精确度......但是,当其他人的评论合理时,答案的作者应编辑帖子并澄清.

1 /

访问是神圣的三位一体.它是一个用于编写表单,报表和函数以在查询中使用的IDE.它"包含"了一个数据库引擎(JET/ACE).它为数据库引擎提供了一个Visual Interface,允许您设计查询,设置表之间的关系等.

它通常在其许多角色中称为Access,但精确度确实有助于学习Access并充分利用它.

2/

Access不能使用存储过程,因为Access SQL只能使用命令式语句而不是程序性语句(例如,控制流语句).我一直认为,有一个原因是要将它们称为存储过程.

3 /

并非每个Access应用程序的成本都是100,000.Access应用程序的预算也不等于数据的价值.这很明显.我试图传达的想法是,如果数据的价值超过了可以合理保险的金额,那么就不要使用Access.这个数字是100,000吗?根据Luke Chung和Clint Covington,前任Access的项目经理,是的,但是不要相信他们.它真的只是意味着"很多钱".

我已经为医疗慈善机构编写了一个应用程序,该应用程序在初始预算为5000之后仍然运行10年.他们多年来可能投入了另外20,000个.这种应用程序是Access甜蜜点.