将MS Excel用作数据库的最佳实践

在办公室里,使用MS Excel来存储数据是很受欢迎的。 在大多数情况下,数据是结构化的,这意味着它适合于数据库。 我知道人们更喜欢MS Excel,因为它很容易改变数据结构和数据值。 所以我有一个想法,使用MS Excel作为数据库如果人们遵循一般规则来存储数据。 换句话说,通过使用MS Excel作为数据库的最佳实践。 我曾经想过使用MS Access来存储数据,但是它很昂贵,并不像MS Excel那样stream行。

我不介意购买这样一个解决scheme,尤其是在.Net平台上。

任何想法或build议是受欢迎的。

我不知道为什么你声称MS Access是昂贵的解决scheme。 Office Professional(包括Access)为499.99美元,Office Standard(不包括Access)为399.99美元。 这是每个许可证获得Access 100美元; 而且为了这笔钱,你不仅可以得到一个数据库引擎,而且还是一个处理大量数据的非常好的交钥匙解决scheme。 另外,您仍然可以轻松地在Access和Excel之间导入/导出数据。

如果这不是一个好的解决scheme,您还可以下载SQL Server Express,并将其用作在每个桌面上部署的本地数据库引擎。

还有其他免费的,非微软的select,如SQLLite和MySql,如果你需要一个SQL解决scheme,或者MongoDB,Cassandra和CouchDB,如果你对NoSQL解决scheme很好。 请注意,如果您需要处理大量的结构化规范化关系数据,则NoSQL解决scheme具有一些细节,可能不太适合您的需求。

无论如何,这些都是比Excel更好的存储数据的解决scheme。 虽然Excel在数据处理方面performance出色(双关语:-)),但它是一种专门的产品,数据的存储,索引和检索并不是最优化的。

我想你会更好用SQLServer Express或任何开源的SQL数据库。 大多数数据库都有ODBC连接器,如果他们这样做,您仍然可以通过Excel访问它们。

关于Excel的好处是您可以将任何数据放在任何地方。 Excel作为数据库pipe理系统的原因是你可以将任何数据放在任何地方。 数据库帮助您保持电子表格无法有效执行的数据完整性。 数据完整性包括像要求值,值的数据types,可接受值的范围,相关数据集之间的完整性等规则。

永远不能devise一个可靠的系统,前提是用户可能不会做X. 它根本就不会工作。 如果用户可以做些什么,他们最终会做,除非系统阻止它。

所以,对于一个数据库使用Excel肯定是一种反模式。 对于小型系统来说,Access是一个体面的,相对便宜的简单解决scheme,并附带一个表单构build器。 如果你认为这个系统可能非常大或者有大量的用户,那么这将不是一个好的解决scheme。 更便宜的是SQL Server Express,但是这要求你为用户build立一个接口到数据库。

在Excel中保留数据库数据没有最佳实践。 Excel不适合存储关系数据。

几乎每个Windows安装(如果不是每一个)都安装Microsoft Access使用的数据引擎。 如果你在networking编程,你可以使用该引擎来存储数据,而不需要MS Access许可证。

关键问题是用户是否需要共享数据。 这是Excel如此危险的主要原因(尽pipe程度较低),但每个桌面都有不同的版本,因为没有任何数据同步机制。

如果您有许可证的钱,最好的解决scheme是使用SQL Server来存储数据,SharePoint来处理分配并保留Excel作为前端。 这样可以让您的用户保持当前的工作方式,同时还可以获得数据库的优势。 MSSQL 2008有一些简洁的function来支持这个堆栈。

表面上最便​​宜的选项是在networking驱动器上放置可共享的Excel电子表格。 两个问题。 第一个是序列化用户对数据的写权限。 但是更大的问题是让用户同意哪个电子表格包含正确的数据版本。 当然,这适用于合并不同数据源的任何练习。

我刚刚search互联网,发现以下有趣的网页:

  1. Excel不是数据库! ( http://adminsecret.monster.com/benefits/articles/2599-excel-is-not-a-database )本文总结了上面的大部分回复。

2.Excel作为数据库( http://www.neopoleon.com/home/blogs/neo/archive/2003/09/29/5458.aspx )这篇文章提供了一系列有趣的图片来展示IT能力。

3.使用Excel表格作为数据库后端( http://www.beansoftware.com/NET-Tutorials/Excel-ADO.NET-Database.aspx )本文提供了使用Excel作为数据库的基本方法。

谢谢大家

对于大多数小企业主自己来说,一个Excel数据库是一个好主意。 特别是考虑到很多企业根本没有数据库。