|
发表于 2004-10-13 09:20:39
|
显示全部楼层
个人认为,要实现应用程序的数据库平台无关性,遵循ANSI SQL标准和选择一个良好
的构架设计是解决问题的大方向。但是,这里面也涉及了大量的细节性技术问题。
首先,如何确定一个目标数据库平台的初步选择范围,从PostgreSQL,DB2,MySQL,
Oracle,Sybase,MS SQL Server,Interbase到Pointbase,这里面的每一个
都可能需要加以考虑。开发及维护团队的技术和客户的倾向性会对此产生影响。
其次,还要确定标准,是SQL-92,还是SQL-99,或者SQL-2003?应用程序的复杂性
会对此产生影响。是不是需要stored procedure,是不是需要trigger,是不是
需要sequnce,等等,这些细节决定了选择哪些标准的哪些子集。
这个网址提供了一个标准监测工具(sql92/sql99/sql2003):
http://developer.mimer.com/validator/index.htm
仅供参考。
第三,按照选定的标准去检验预先选定的数据库平台,看看哪些数据库符合要求,
哪些不符合。这需要去查数据库平台的文档。如何在标准和数据库平台之间做取舍,
通常都是一件很麻烦的事。
最后,选择一个好的软件构架也有一些细节需要考虑,比如是不是需要分布(业务
逻辑由中间件承担)?是不是需要分层(表示层/控制层/业务逻辑层/数据访问层是
比较流行的分层方法)?J2EE还是.Net?事务处理是容器管理还是自己管理,以及
是不是需要分布的事务?ADO、ODBC还是JDBC?使用现成O/RMapping工具还是自
己封装?。。。 |
|