【问题标题】:Access vs SqlServer for a Simple Database简单数据库的 Access 与 Sql Server
【发布时间】:2009-05-15 02:02:37
【问题描述】:

我目前正在开发一个非常简单的数据库,用于跟踪人员及其持有的公司认证。该数据库需要将证明书存储为 PDF 文件。我被要求在 MS Access 中开发它,但我认为在 SQLServer 中构建它并使用 Windows Forms 构建界面会更好。此应用需要可从共享驱动器等公共位置访问。

我的问题是,像我想的那样在 SQLServer 中执行此操作会更好,还是我已经满了,而我的老板是正确的?还是我们都错了?

【问题讨论】:

标签: sql sql-server ms-access


【解决方案1】:

经常使用的 Access 的一个很好的替代品是SQL Server Compact (SqlCe)。这是与 SQL Server Express/Standard/etc 完全不同的产品。它是像 Access 一样的进程内数据库,它不作为单独的进程或服务运行。

  • 免费
  • 完整的 ACID 支持
    • 支持多个连接
    • 完整的事务支持
    • 参照完整性(包括级联更新和删除)
    • 锁定
  • T-SQL 语法和 SQL Server 数据类型(与 SQL Server 相同的 API)
  • 占用空间小 (~2 MB)
  • 易于部署(支持 ClickOnce、MSI、XCopy 等)
  • 数据库包含在一个可以移动的文件中
  • 支持 ADO.NET、LINQ to SQL、LINQ to Entities。

【讨论】:

    【解决方案2】:

    这是一个极其困难的问题,不了解应用程序的规模。在我看来,我不会用 33.5 英尺的杆子碰 Access。

    访问的好处:

    1. 无需专用机器
    2. 便携性没有问题

    SQL Server 的好处

    1. 更好的 SQL 合规性
    2. 更好的管理控制

    您打算将 PDF 文件存储在数据库中吗?如果有,为什么?

    我选择 SQL Server。

    【讨论】:

    • 为了给人一种规模感,我们预计该应用程序的用户总数约为 10 个,并且它可以存储大约 800-1000 条记录。希望对您有所帮助。
    【解决方案3】:

    基于 SQL Server 构建的应用程序将比基于 MS Access 构建的应用程序更强大并支持更多用户。

    基于 MS Access 构建的应用程序可以更容易调试,因为缺少服务器,缺乏重要的多用户支持,并且整个数据库位于磁盘上的单个文件中,可以轻松复制。

    鉴于在几乎所有情况下,我都会选择 SQL Server 而不是 MS Access。

    【讨论】:

    • 您似乎完全忽略了如何开发前端的问题,而只是专注于后端。对于那些真正不熟悉如何正确使用 Access 的人来说,这是一个非常常见的错误。
    • “基于 SQL Server 构建的应用程序将更加健壮” 该应用程序将与其程序员构建的一样健壮。应用程序编程的好坏不取决于数据库引擎。是。 “.. 并且支持的用户多于基于 MS Access 构建的用户。”他只需要 10 个用户,甚至不需要并发。
    【解决方案4】:

    啊,帮世界一个忙,使用 SQL 服务器。 Express 版本是免费的,并且功能强大,足以满足您的要求。如果您愿意,您甚至可以继续在 Access 中进行表单/报告/UI 设计,它可以非常轻松、透明地连接到 SQL Server。

    SQL 优于访问的优点:并发性、可扩展性、可靠性、更少的未来开发人员试图追捕你并杀死你。

    既然 SQL Express 存在,如果可以避免的话,我几乎不会使用访问数据库。

    【讨论】:

      【解决方案5】:

      如果我是你,我会按照其他人所说的使用 SQL Express:

      http://www.microsoft.com/express/sql/default.aspx

      您可以免费获得真正的 SQL 环境的所有好处!您甚至可以使用 SQL Management Studio 以及利用 Reporting Services(如果您下载了高级包)。下载链接如下:

      http://www.microsoft.com/express/sql/download/

      哪个版本的 SQL Server 2008 Express 适合您? SQL Server 2008 Express 提供以下 3 个版本(每个版本都可从安装向导中获得):

      带有工具的 SQL Server 2008 Express SQL Server 数据库引擎 - 创建、存储、更新和检索您的数据 SQL Server Management Studio Basic - 用于创建、编辑和管理数据库的可视化数据库管理工具 具有高级服务的 SQL Server 2008 Express SQL Server 数据库引擎 - 创建、存储、更新和检索您的数据 SQL Server Management Studio Basic - 用于创建、编辑和管理数据库的可视化数据库管理工具 全文搜索 - 用于搜索文本密集型数据的强大、高速引擎 Reporting Services - 用于创建报告的集成报告创建和设计环境 SQL Server 2008 Express(仅限运行时) SQL Server 数据库引擎 - 创建、存储、更新和检索您的数据 SQL Server 2008 管理工作室速成版 (SSMSE) 免费、易于使用的图形管理工具,用于配置、管理和管理 SQL Server 2008 Express。它还可以管理由任何版本的 SQL Server 2008 创建的 SQL Server 数据库引擎的多个实例,包括 Workgroup、Web、Standard 和 Enterprise。

      注意:此单独下载专为以前安装过 SQL Server 2008 Express(仅限运行时)的客户设计。如果您是首次下载 SQL Server Express 和 SSMSE,请从安装向导下载带有工具的 SQL Server 2008 Express。

      对我来说,Access 确实是一个爱好者工具,或者是目前尚未逐步淘汰的非常基本的本地项目。我肯定会考虑使用 SQL Express,而且如果您将来超越 4 GB 数据库的障碍,它会使升级变得更加容易。

      【讨论】:

        【解决方案6】:

        选择您最擅长的领域 - Access 非常适合各种项目,如果您知道自己在做什么,它可以很好地扩展。相反,一个糟糕的程序员可能会在 Win Forms 和 SQL Server 中开发一个应用程序并产生一个性能很差的怪物。

        我个人会使用 SQL Express 和 Win Forms 或 ASP.Net 前端,因为经验表明,随着时间的推移,这些小项目可以轻松地开发成比最初计划的更大的应用程序以及基于 SQL 构建的结构良好的数据库如果需要,服务器可以更轻松地扩展到更多用户。

        【讨论】:

          【解决方案7】:

          不了解环境很难说。可能所有用户都拥有 Access,但没有桌面拥有 .NET Framework(尽管这很难相信)。也许他们所有的应用程序都在 Access 上,而那里的开发人员和用户都知道。

          考虑到所有这些废话,您应该使用SQL Server Express 2008Visual Studio 2008 Express。希望我不会让你被解雇。 :)

          【讨论】:

            【解决方案8】:

            如果应用程序,如您所说,是一个非常简单的数据库,那正是访问的目的,即创建简单的数据库。您可以在同一环境中编写数据库和应用程序表单,用户无需安装任何东西。

            请注意并发访问您的应用程序。如果您选择访问解决方案,多个用户将无法同时使用该应用程序。如果您希望发生这种情况,您将需要将数据库和应用程序分开。这并不意味着数据库必须是 SQL 服务器,如果您不需要更复杂引擎的强大功能,您仍然可以使用 Access 作为数据库。

            编辑:请阅读您计划拥有 10 个用户和少于 1000 条记录的评论。忘记 SQL Server,你会浪费你的钱。无论您决定选择简单的全访问解决方案,还是选择具有远程存储的分布式 Web 应用程序或桌面应用程序,Access 的功能都比您需要的强大数百倍。即使对于访问是“玩具式”引擎,您也没有使用它的 1%。

            【讨论】:

            • 同意。并发是 Access 的主要问题。
            • (如果我还有票,我会投票给你,希望其他人会为我投票)
            • 我没有跳过Access的原因是PDF的存储和我对它的不熟悉。我在 SQLServer 方面有一些经验,而在 VBA 方面没有任何经验,这似乎是存储 PDF 的要求。仅链接到它们对我们不起作用,因为我们需要将此数据库存储在共享驱动器上。
            • 您可以完美地将文件存储在 Access 数据库中。如果我们在这里谈论严肃的应用程序,我不建议这样做,但是对于您共享的数字,您完全可以接受 Access 为此目的提供的服务。将这些 PDF 文件无所畏惧地存储在数据库中。
            • 如果您可以使用 Access 运行时部署应用程序,则每个用户都不需要 Office Pro。使用 Access 2007,运行时现在是免费的,但使用以前的版本只需 300 美元。只要您的应用有 3 个用户,就避免为每个用户购买 Access,您已经为运行时付费。
            猜你喜欢
            • 1970-01-01
            • 2012-02-15
            • 2011-01-06
            • 1970-01-01
            • 2017-09-02
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            相关资源
            最近更新 更多