确定目标 DBMS 和驱动程序
接下来要考虑的问题是,应用程序的目标 DBMS 是什么,以及哪些驱动程序支持这些 DBMS? 由于泛型应用程序往往具有高度互操作性,因此目标 DBS 的问题最适用于自定义应用程序和纵向应用程序。 但是,目标驱动程序的问题适用于所有应用程序,因为驱动程序在速度、质量、功能支持和可用性方面的差异很大。 此外,如果要将驱动程序与应用程序一起重新分发,则需要考虑许可计划的成本和可用性。
对于许多自定义应用程序,目标 DBMS 是显而易见的:应用程序旨在访问的现有 DBMS。 还应考虑计划将来要迁移到的 DBMS。 但是,这些应用程序的主要问题是要搭配使用哪个或哪些驱动程序。 对于其他自定义应用程序(未设计为访问现有 DBMS 的应用程序),可以根据功能支持、并发用户支持、驱动程序可用性和可负担性来选择目标 DBMS。
对于纵向应用程序,通常根据功能支持、驱动程序可用性和市场来选择目标 DBMS。 例如,为小型企业设计的纵向应用程序必须以这些企业负担得起的 DBMS 为目标;设计为现有 DBMS 加载项的纵向应用程序必须以广泛使用的 DBMS 为目标。
选择目标 DBMS 时,应考虑桌面数据库与服务器数据库之间的差异。 桌面数据库(如 dBASE、Paradox 和 Btrieve)不如服务器数据库强大。 大多数基于文件的驱动程序使用的 SQL 引擎功能不太强大,通常通过此类引擎访问桌面数据库,因此往往缺少完整的事务支持、支持的并发用户数较少,并且 SQL 有限。 但其成本较低,并且安装基础庞大。
Oracle、DB2 和 SQL Server 等服务器数据库提供完整的事务支持,支持的并发用户数较多,并且具有丰富的 SQL。 其成本要高得多,而且安装数量较少。 另一方面,软件价格往往更高,在一定程度上抵消了潜在市场较小的问题。
因此,有时可以根据应用程序和应用程序的目标市场所需的功能来选择目标 DBMS。 例如,大型企业的订单输入系统可能不面向桌面数据库,因为这些数据库缺乏足够的事务支持。 为小型企业设计的类似系统可能会因为成本关系而排除大多数服务器数据库。 泛型应用程序的开发人员可能同时以这两种数据库为目标,但会避免使用服务器数据库中的高级功能。