代码之家  ›  专栏  ›  技术社区  ›  HasanG Joe Dabones

决定数据库需求

  •  2
  • HasanG Joe Dabones  · 技术社区  · 14 年前

    我有一个我卖的小型.net应用程序。

    我的程序是一个商店销售组织者,我记录每一个商店的销售。我需要数据库中的客户,库存,销售记录。一些客户一个月的销售额为1万英镑,产品约为10万英镑。

    编辑:

    6 回复  |  直到 14 年前
        1
  •  2
  •   JeffO    14 年前

    我不知道你是怎么得出结论的,你目前的配置使用一个访问文件是不够的。当心那些通常以“我从2.0开始就没用过Access,但我记得有些问题”开头的访问恐怖故事。因为你在Win95上遇到的一些崩溃,这和判断Windows7一样糟糕。

    似乎您的客户机发现了一个明显的性能问题,数据集较大,或者您的产品遇到了太多您归因于数据文件的错误。似乎还有其他的特性和功能,客户会对过早的扩展更感兴趣。

    你提到了SQL Server CE。它可以像Express一样处理多达4千兆的数据。两者都可以与安装包一起部署。CE的安装要小得多:1.8mbv197mb。两者都提供Transact-SQL,但CE缺少过程T-SQL以及存储过程、视图和触发器(这是在IMO中不使用它的一个重要原因)。Express是基于服务器的,具有更多的服务功能。拒绝用户直接访问数据文件可能会更安全,而且为了使事情更简单,提供了基于角色的安全性。CE文件是文档安全的,因为它们没有代码,您可以创建特定于应用程序的文件扩展名。我猜你的应用程序大部分时间都在安装的机器上运行,所以一直运行SQL Express服务可能是问题,也可能不是问题。零售店似乎不使用高性能硬件。你可能想要更轻的。

    没有一种转变是完美的。根据您开发应用程序的方式,坚持使用MS产品可能更容易。这要看情况。

        2
  •  3
  •   Byron Whitlock    14 年前

    如果您想要零配置,我建议您使用嵌入式数据库 SQLite

    你不必在用户机器上设置数据库服务器,只要你没有大量的流量,就可以在网络设置中正常工作。

        3
  •  2
  •   Courtney Christensen    14 年前

    MySQL 是个不错的选择。我相信新版本(最终)允许严格执行外键。我已经用过很多次了。

    如果你要重新分配你的系统(这样用户可以建立自己的销售店),我强烈建议 sqlite . 它速度快,免费,而且一直在流行。现在所有主要编程语言都有api。此外,如果您的项目考虑到这一点,也可以在web服务器上运行它。

        4
  •  0
  •   Paul Sonier    14 年前

        5
  •  0
  •   Tony Toews    14 年前

    是什么让你觉得接触不够灵活或不够快?Access还可以很好地与网络上的多个用户协作。

    请注意,Access的数据库引擎部分和允许您创建查询、表单、报表、nacros和VBA代码的Access的UI部分之间存在差异。这里的许多海报在回复中只提到了数据库引擎部分。