摘自慧都控件网 http://www.evget.com/view/article/viewNews.asp?news=733
现流行数据库程序开发工具的比较分析
摘要:随着计算机技术不断发展,各种数据库编程工具也随着发展,使当今的大多数程序开发人员可以摆脱枯燥无味的用计算机指令或汇编语言开发软件,而是利用一系列高效的、具有良好可视化的编程工具去开发各种数据库软件,从而达到事半功倍的效果,但是现在市面上的数据库编程工具门类众多,优良不齐,比如VB,VC,DEPHI,PB等,对此我特别针对流行的开发语言介绍相应的较为成熟的数据库编程工具。
关键字:数据库编程 程序开发工具
1 几种数据库开发工具的介绍
1.1 VB
全称Visual Basic,它是以Basic语言作为其基本语言的一种可视化编程工具。在中国乃至全世界都曾看到过它的身影,它曾是在中国最为流行的编程工具,到现在还占据着非常重要的地位,对于它的好坏大家都有一定的了解,VB作为一种较早出现的开发程序以其容易学习,开发效率较高,具有完善的帮助系统等优点曾影响了好几代编程人员,但是由于VB不具备跨平台这个特性,从而也决定了VB在未来的软件开发中将会逐渐地退出其历史舞台;它对组件技术的支持是基于COM和ActiveX,对于组件技术不断完善发展的今天,它也显出了它的落后性;同时VB在进行系统底层开发的时候也是相对复杂的,调用API函数需声明,调用不方便,不能进行DDK编程,不可能深入Ring0编程,不能嵌套汇编;而且面向对象的特性差;网络功能和数据库功能也没有非常特出的表现,综上所述,VB作为一种可视化的开发工具由于其本身的局限性,导致了它在未来软件开发中逐步被其他工具所代替。
1.2 PB
全称PowerBuilder,是开发MIS系统和各类数据库跨平台的首选,使用简单,容易学习,容易掌握,在代码执行效率上也有相当出色的表现。PB是一种真正的4GL语言(第四代语言),可随意直接嵌套SQL语句返回值被赋值到语句的变量中,支持语句级游标,存储过程和数据库函数,是一种类似SQLJ的规范,数据访问中具有无可比拟的灵活性。但是它在系统底层开发中犯了跟VB一样的错误,调用API函数需声明,调用不方便,不能进行DDK编程,不可能深入Ring0编程,不能嵌套汇编;在网络开发中提供了较多动态生成Web页面的用户对象和服务以及系统对象,非常适合编写服务端动态Web应用,有利于商业逻辑的封装;但是用于网络通讯的支持不足;静态页面定制支持有限,使得PB在网络方面的应用也不能非常广泛。面向对象特向也不是太好。
1.3 C++Builder/Delphi
它们都是基于VCL库的可视化开发工具,它们在组件技术的支持、数据库支持、系统底层开发支持、网络开发支持、面向对象特性等各方面都有相当不错的表现,并且学习使用较为容易,充分提现了所见即所得的可视化开发方法,开发效率高。由于两者都是Borland 公司的产品,自然继承了该公司一贯以来的优良传统:代码执行效率高。但是,它们并不是毫无缺点,它们所作的最大不足之处就是他们的帮助系统在众多的编程工具中是属于比较差的。C++Builder 的VCL库是基于Object pascal(面向对象pascal),使得C++Builder在程序的调试执行上都面向落后于其他编程工具。而Delphi则是它的语言不够广泛,开发系统软件功能不足两个比较大的缺点。
1.4 Visual C++
是基于MFC库的可视化的开发工具,从总体上说它是一个功能强大但是不便使用的一种工具。它在网络开发和多媒体开发都具有不俗的表现,帮助系统也做得非常不错(Microsoft 在细节方面的处理往往都让人觉得亲切),但是虽然是使用C++作为基本语言,但是它在面向对象特性上却不够好,主要是为了兼容C的程序,结果顾此失彼;在组件支持上也不太好,虽然说除了支持COM,ActiveX外还支持CORBA,但是没有任何IDE支持,是所有C编译器的功能, 需要CORBA中间件支持;最大的问题是开发效率也不高。
1.5 Java编程工具
目前比较出名的是Borland出的JBuilder和IBM出的Visual Age for Java,两种工具都有一定数量的是用人群。JBuilder继承了C++Builder/Delphi的特点,在可视化上做得非常不错,使用简便。由于Java本身语言的特点使得他们在网络开发中具有高人一等的表现,而且面向对象特性高,支持的组件技术也非常多,跨平台的特性也使得它在现在和未来的开发中占据越来越重要的地位。但是在系统底层开发和多媒体开发中却表现得并不让人那么满意,这个可能跟设计Java的意图有关吧。
2 各种开发工具在对数据库方面的支持比较分析
2.1数据访问对象:
2.1.1VB:DAO,ADO,RDO功能相仿;
2.1.2PB:Transaction,DwControl,可绑定任何SQL语句和存储过程,数据访问具有无与比拟的灵活性
2.1.3 C++ Builder/Dephi:具有包括DataSource,Table,Query,Midas,ADO在内的二十多个组件和类完成数据访问
2.1.4 VC:同VB,但有不少类库可供使用,但极不方便,开发效率很低
2.1.5 JAVA:JAVA JDBC API,不同的IDE具有不同的组件
2.2 数据表现对象:
2.2.1 VB:DBGriD,与数据库相关的数据表现控件只有此一种,只能表现简单表格数据,表现手段单一
2.2.2 PB:DataWindow对象(功能异常强大,其资源描述语句构成类似HTML的另外一种语言,可在其中插入任何对象,具有包括DBGrid在内的数百种数据表现方法),只此一项功能就注定了PB在数据库的功能从诞生的那一天起就远远超过了某些开发工具今天的水平
2.2.3 C++Builder/Dephi:具有包括DBGrid,DBNavigator,DBEdit, DBLookupListBox在内的15个数据感知组件,DecisionCube, DecisionQuery在内的6个数据仓库组件和包括QRChart, QRExpr在内的20多个报表组建,可灵活表现数据
2.2.4 VC:同数据访问对象
2.2.5 JAVA:不同的IDE具有不同的组件,比较著名的有Jbuilder,PowerJ, VisualAge for Java
2.3 语句执行方式:
2.3.1 VB:将一句SQL串绑定到一个命令对象中,结果返回到ResultSet对象中自行拆取
2.3.2 PB:是一种真正的4GL语言,可随意直接嵌套SQL语句返回值被赋值到语句的变量中,支持语句级游标,存储过程和数据库函数,是一种类似SQLJ的规范
2.3.3 C++ Builder/Dephi:使用数据库组件或类完成SQL语句串的执行和提交
2.3.4 VC:同数据访问对象
2.3.5 JAVA:SQLJ,JAVA JDBC API
3 各种开发工具其他的比较分析
3.1面向对象特性
VB:差;PB:较好;C++ Builder/Dephi:很好; VC:一般 ;JAVA:非常好
3.2跨平台特性
VB:跨平台性不怎么好,但是可以与WINDOWS 家族无缝连接。
PB:跨平台性一般
C++ Builder/Dephi:WINDOWS家族,Linux
VC:无
JAVA:所有能够运行JAVA虚拟机的操作系统
3.3 组件技术支持
VB:COM,ActiveX
PB:COM,JavaBean,Jaguar,UserObject使用:CORBA+Acti veX
C++ Builder/Dephi:COM, ActiveX CORBA(本身自带CORBA中间件VisiBroker,有丰富向导)
VC:COM,ActiveX,CORBA(没有任何IDE支持,是所有C编译器的功能,需要CORBA中间件支持)
JAVA:JavaBean,CORBA;ActiveX
3.4网络或Web开发支持
VB:Asp,VBScript,具有编写DHTML的简单IDE,编写静态页面非常方便;用于网络通讯的支持一般
PB:DynaSript, Web.PB;提供了较多动态生成Web页面的用户对象和服务以及系统对象,非常适合编写服务端动态Web应用,有利于商业逻辑的封装;用于网络通讯的支持不足;静态页面定制支持有限
C++ Builder/Dephi:ISAPI,WININET API等各类网络或互联网API可自由而方便的调用;提供了ServerSocket,ClientSocket等三十余个组件及类,用来处理网络通讯控制,流处理,Mail,Email,FTP,HTTP等应用协议处理以及生成动态页面和商业逻辑的封装;功能强大,使用方便
VC:SAPI,WININET API等各类网络或互联网API可自由而方便的调用;提供CAsyncSocket等数量众多的类;功能强大但使用不太方便
JAVA:不可直接调用API但内置非常多的网络及互联网功能;可利用Servlet API,Java Bean API,以及JSP等协同开发功能强大的Web应用;功能强大,对于某些IDE使用不太方便
4 综合评价:
4.1 VB:是新人开发与系统无关的综合应用程序的首选;容易使用和厂商财力很强是其仅有的两点优势。VB开发效率高,代码执行效率一般,但是入门和学习速度快,有较好的学习氛围和帮助书籍和帮助文档。但是随着微软的.net技术的推广,VB将会逐渐推出历史舞台。
PB:是开发大型MIS及各类数据库跨平台应用的首选;从数据库前端工具来讲甚至远远超过了Oracle的Develop系列等专门的工具;从通用语言角度来讲功能也与VB等不相上下;多媒体和网络功能与其他工具相比较弱。
4.2 PB最大的优势就是Datawindow技术的成熟和方便,他成为PB与其他数据库开发工具抗衡的资本。同时PB在对JAVA和WEB,以及面向对象方面的发展也可以预见PB将成继续成为数据库系统(特别是MIS系统)开发工具的首选。同时PB的强大帮助文档也为初学者提供了入门基础,PB连接数据库的自由和方面也为PB的提供了方便,同时PB对API的调用以及对报表的处理强大。但是PB的高级编程书籍的缺乏和基础语言PowerScript的普及程度对PB的明天有一定的限制。
4.3 C++ Builder/Dephi:是唯一一套能够同时适用于开发数据库应用、网络及Web应用、分布式应用、可重用组件、系统软件、驱动程序、多媒体及游戏等所有软件的高效率开发环境;VCL源码基于Object Pascal是C++ Builder 唯一的缺憾,基础语言不够通用和开发系统软件功能不足是Dephi仅有的两点不足。
4.4 VC:从功能上讲除了跨平台应用外什么都可开发;从开发效率角度讲只局限于开发windows系统应用、可重用组件及驱动程序。 又因为有微软的支持,其自身的基础语言的普及程度高,以及其代码的执行效率高等特性、VC自带强大帮助文档和大量优质教材,VC在数据库开发工具中始终可以稳住阵角。
4.5 JAVA:适用于开发除了系统软件、驱动程序、高性能实时系统、大规模图像处理以外所有的应用。在一般的管理信息系统中和一般的数据库开发中,很少有人会选择JAVA,一是由于其开发环境的配置较难,已经和数据库连接时较为负责,对开发人员的开发经验和学习时间都要很高要求,所以对于经验不是很丰富的开发人员一般是不选择JAVA,但是JAVA的强大网络功能和真正的面向对象特性决定了JAVA的未来,JAVA将在一个较为长期的时段里可以与微软家族抗衡。
5 选择开发工具的几点建议:
5.1 如果你的程序基本上完全是数据录入、查询、汇总、打印等,性能要求高,打算使用C/S结构,那么PowerBuilder的确是不错的选择。
5.2 如果数据库要求不高,只是本地的,对于用户界面、通信、多媒体等方面有要求,那么我觉得VB、VC、Delphi更好。我个人不太喜欢BDE,主要是分发和建立别名比较麻烦。
5.3 一旦你确定了基本使用的语言,那么采用什么方式也就定下来。如对于VC、VB,访问本地数据库一般为DAO,访问服务器上数据库一般使用ODBC/RDO/ADO。我在访问本地数据库一般不使用ADO,主要是在配置比较低的机器上速度比较慢,不过DAO迟早要被ADO取代。
5.4 同时结合MS SQL或是My SQL的其他功能,比如触发器,存储过程,视图等。
6 说明:
6.1 参考(整理)网友意见部分:
1.1,1.3,1.4,2.2.3,3.3,3.4
6.2 原创部分:
1.2,2.1,2.2,2.3,3.1,3.2,4(全部),5(全部)
6.3 其他为对一些网友和自己的看的整理归纳
6.4 由于自己能力有限,漏洞之处还请大家斧正!
6.5 希望对大家在进行数据库程序开发选择开发工具(或是学习)时有用
6.6 最后提醒一下,注意根据自己的爱好和基础选择一个或是多个适合自己并适合当前程序需求的开发工具。切勿多而不精!
分享到:
相关推荐
这些工具通常包括数据库管理系统、集成开发环境、数据库设计工具、数据库应用程序开发工具等。 多种数据库系统开发工具的名称与特点: * Delphi:是一个集成开发环境,支持开发桌面应用程序、移动应用程序和 web ...
Linux操作系统作为目前最流行的开源操作系统之一,在数据库应用程序开发中扮演着重要角色。为了满足数据库应用程序的开发需求,需要选择合适的开发工具和数据库管理系统。Lazarus和Firebird是两个非常适合开发数据库...
Oracle数据库应用程序开发工具因其高效、稳定和丰富的功能受到开发人员的热烈欢迎。在Oracle服务器技术软件开发副副总裁Michael Hickwa的发言中,他强调了Oracle SQL Developer和Oracle Application Express等开发...
### Oracle数据库Web开发工具指南 #### 一、Oracle数据库Web开发基础知识与趋势 在Oracle数据库Web开发领域,选择合适的开发工具至关重要。随着Web技术的发展,越来越多的企业和个人开发者开始寻找能够提高开发...
PowerBuilder 是一种功能强大的数据库应用开发工具,能够快速开发出功能强大的数据库应用程序。它完全按照客户机/服务器体系结构研制设计,在客户机/服务器结构中,它使用在客户机中,作为数据库应用程序的开发工具...
Delphi作为一个强大的面向对象的Windows应用程序开发工具,其集成的VCL(Visual Component Library)库为数据库编程提供了丰富的组件和接口,使得数据库应用的开发变得更加便捷。 首先,Delphi7中的ADO(ActiveX ...
总的来说,“万能数据库打开工具”具备跨平台和多格式兼容性,无论你是数据库管理员、开发人员,还是数据分析者,都能在它的一站式服务下高效地处理各种数据库文件。只需运行压缩包内的Data_LLQ.exe文件,即可启动这...
用户通过运行这个程序,输入两个要比较的数据库连接信息,然后工具会进行深入分析,展示出详细的差异报告。 4. **操作流程**:使用这样的工具,首先需要配置源和目标数据库的连接信息,然后选择要对比的数据库对象...
《Visual C++ 数据库系统开发完全手册》(目录) 第一篇 Visual C++编程篇 第1章 Visual C++ 6.0开发环境概述 1.1 Visual C++ 6.0概述 1.2 熟悉Visual C++ 6.0的集成开发环境 1.2.1 进入Visual C++ 6.0环境 1.2.2 ...
6. 数据库应用开发技术:数据库应用开发技术是指使用 Delphi 等开发工具来开发数据库应用程序的技术。包括使用 Delphi 开发数据库应用程序、使用 Object Pascal 编程语言等。 7. 实验指导:实验指导是指实验的指导...
描述中的"SQLite数据库加密解密小工具"应该是一个.NET库或应用程序,它提供了对SQLite数据库加密和解密的功能。这个工具可能使用了某种加密算法(如AES)对数据库文件进行加解密,确保数据在存储和传输过程中的安全...
7. **版本管理**:在开发过程中,版本控制数据库的工具可以帮助开发者比较不同版本的数据库,理解各版本间的差异。 8. **性能分析**:通过分析查询执行时间和资源消耗,开发者可以优化数据库性能,提高应用的整体...
例如,可以跟踪和比较不同版本的数据库设计,解决冲突,确保团队成员在项目开发过程中保持同步。此外,一些高级工具可能还包括逆向工程功能,即能从现有数据库中读取结构并生成模型,这对于理解已有系统或进行数据库...
书第1,2章分别介绍了使用Visual C#和SQL Server开发数据库应用程序的基本知识,第3章~第10章,通过开发8个完整实用的数据库应用程序,系统全面地介绍了用Visual C#和SQL Server来进行数据库应用程序开发的各种技术...
程序开发员自己电脑上的数据库是最新的,而某 客户的 数据库和程序都是N年前的,现在要用新程序的功 能,那就 可用这个工具,先在程序员电脑上运行本工具,填 上数据库 属性,按'读源数据',然后把这个工具程序及同目录 下...
4. **开发工具**:对于开发人员,可能包含ODBC/JDBC驱动程序,以及支持各种编程语言(如Java、C#、Python等)的SDK,用于集成数据库操作到应用程序中。 5. **文档和教程**:提供详细的用户手册和开发指南,帮助用户...
什么是PowerBuilder PowerBuilder的特点 PowerBuilder与数据库的连接 完整应用程序开发过程
JDK包含了Java编译器、调试器和其他开发工具,是运行Java应用程序的基础。 “包含最新oracle12c驱动”,意味着该工具内置了最新的Oracle Database 12c的JDBC驱动程序,这是Oracle公司推出的一个数据库版本,提供了...
数据库表差异比较程序是一种用于分析和识别两个数据库之间表结构和数据差异的工具。这个程序在IT领域中具有广泛的应用,特别是在数据库管理、数据分析、软件升级和数据迁移等场景下。下面将详细介绍这个主题。 首先...