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

时间:2010-04-18 01:30:48

标签: database excel

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

我不介意购买这样的解决方案,特别是当它用于.Net平台时。

欢迎任何想法或建议。

7 个答案:

答案 0 :(得分:3)

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

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

如果您需要SQL解决方案,还有其他免费的非Microsoft替代方案,如SQLLite和MySql,如果您使用NoSQL解决方案,则可以使用MongoDB,Cassandra和CouchDB。请注意,如果您需要处理大量结构化规范化关系数据,NoSQL解决方案有一些细节,可能不太适合您的需求。

在任何情况下,这些都是比Excel更好的存储数据的解决方案。虽然Excel在数据的数字处理方面表现出色(双关语:-)),但它是一种专门的产品,数据的存储,索引和检索并不是它所优化的。

答案 1 :(得分:2)

我认为使用SQL Server Express或者任何开源SQL数据库都会更好。 大多数数据库都有ODBC连接器,如果有,你仍然可以通过Excel访问它们。

答案 2 :(得分:1)

Excel的优点在于您可以将任何数据放在任何地方。 Excel作为数据库管理系统非常糟糕的原因是您可以将任何数据放在任何地方。数据库可帮助您维护电子表格无法有效执行的数据完整性。数据完整性包括诸如要求值,值的数据类型,可接受值的范围,相关数据集之间的完整性等规则。

您可以从不设计可靠的系统,前提是用户可能不会执行X 。它根本不可行。如果用户可以做某事,他们最终会做,除非系统阻止它。

因此,对数据库使用Excel绝对是一种反模式。对于小型系统,Access是一种体面的,相对便宜的,简单的解决方案,并且带有表单构建器。如果您认为系统可能非常庞大或拥有大量用户,那么这将不是一个好的解决方案。更便宜的是SQL Server Express,但这要求您为用户构建数据库接口。

答案 3 :(得分:1)

关键问题是用户是否需要共享数据。这就是Excel如此危险的主要原因(以及Access,尽管程度较小):每个桌面都有不同版本的事实,因为没有同步数据的机制。

如果您有许可证,最重要的解决方案是使用SQL Server存储数据,使用SharePoint来处理分发并将Excel保留为前端。这为您提供了数据库的优势,同时允许您的用户保持其当前的工作方式。 MSSQL 2008有一些很好的功能来支持这个堆栈。

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

答案 4 :(得分:1)

将数据库数据保存在Excel中没有最佳做法。 Excel不适合存储关系数据。

Microsoft Access使用的数据引擎作为几乎所有Windows安装(如果不是每个)的一部分安装。如果您使用dot net进行编程,则可以使用该引擎存储数据,而无需任何MS Access许可证。

答案 5 :(得分:0)

我刚搜索了互联网,发现了以下有趣的网页:

  1. Excel不是数据库! (http://adminsecret.monster.com/benefits/articles/2599-excel-is-not-a-database) 本文总结了大多数上述回复。
  2. 2.Excel as a database (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作为数据库的基本方法。

    谢谢大家

答案 6 :(得分:0)

对于大多数小企业主自己运行一切,excel database是一个好主意。特别是考虑到许多企业根本没有数据库。