永恒的“金”典——C/S型数据库开发
技术与开发
由于IT业的快速发展以及企业信息化程度的不断提高,数据库的应用越来越广泛。权威数据显示,2006年中国商业数据库市场以每季度7.5%的速度高速增长,其中C/S(客户机/服务器)型数据库是当前应用的主流,比如银行证券系统、财务软件等。有数据显示,国内软件公司从事商业C/S型数据库开发的人员平均月收入在3000元以上,高级设计人员的月收入超过万元。所以,学习C/S型数据库开发是大有“钱”途的,软件公司和大型企业都需要这类人才。
一、“金”典为何物
在开始学习这门高“含金量”的技术之前,首先有必要介绍一下什么是C/S结构。
C/S结构又称Client/Server或客户/服务器模式。它是软件系统体系结构,通过它可以充分利用两端硬件环境的优势,将任务合理分配到Client端和Server端来实现,降低了系统的通讯开销。目前大多数应用软件系统都是Client/Server形式的两层结构。C/S能充分发挥客户端PC的处理能力,由于客户端响应速度快,很多工作可以在客户端处理后再提交给服务器。
C/S型数据库应用程序由两个部分组成:服务器和客户机。服务器指数据库管理系统(Database Manage System,DBMS),用于描述、管理和维护数据库的程序系统,是数据库系统的核心组成部分,对数据库进行统一的管理和控制。客户机则将用户的需求送交到服务器,再将数据从服务器返回给用户。
一般的,C/S的数据库系统项目示意图如图1所示。

在目前的数据库应用技术中普遍采用的就是C/S体系结构,在这种体系结构中,所有的数据和数据库管理系统都在服务器上,客户机通过采用标准的SQL语句等方式来访问服务器上数据库中的数据。由于这种体系结构把数据和对数据的管理都统一放在了服务器上,这就保证了数据的安全性和完整性,同时也可以充分利用服务器高性能的特点。正因为客户机/服务器体系结构的这些优点,该架构得到了非常广泛的应用。越来越多的企业都青睐基于C/S结构的数据库。
二、选择最好的利器
“工欲善其事,必先利其器”!要学好C/S开发技术,我们需要选择最好的工具。笔者为大家推荐Delphi+ SQL Server2000并以它们为例来介绍如何学习。
大名鼎鼎的Delphi是开发数据库前端程序的优秀工具,具有开发速度快、编程简单、界面优美等特点,它在数据库方面的特长显得尤为突出,具有非常强大的数据库管理功能,是目前最被看好的数据库编程软件之一;而Microsoft SQL Server2000是一个分布式的关系型数据库管理系统,具有客户机/服务器体系结构,能够满足今天的商业环境要求。它具有许多显著的优点:易用性好、适合分布式组织的可伸缩性、用于决策支持的数据仓库功能、与许多其他服务器软件紧密关联的集成性、良好的性价比等等。Delphi+ SQL Server2000是目前采用最多的套餐,可以说它们是做C/S型数据库开发的黄金搭档。
下面就举一个最简单例子来看看Delphi+ SQL Server2000是如何进行C/S型数据库开发的:
1.在服务器上建立一个数据库test,数据库中建立一个zhy的表,表中建立2个字段user、pwd,并且打开表写入几条记录(图2、图3)。


2.在客户端上用Delphi做操作界面。 此例子的意图是操作人员在客户机的应用系统界面上执行登录操作,如果用户名和密码输入正确后就可以进入系统了(图4)。多台客户机的操作人员可以用不同的用户名进行登录,因而也就具有不同的操作权限。

3.在Delphi中做逻辑控制和对数据库的操作。在Form1中添加2个控件ADOConnection1、ADODataSet1,代码如下:
procedure TForm1.FormCreate(Sender: TObject);
begin
ADOConnection1.ConnectionString := 'Provider=SQLOLEDB.1;Persist Security In fo=False;User ID=sa;Initial Catalog=test;Dat a Source=10.23.32.11';//通过IP或者计算机名的方式连接数据库服务器
ADOConnection1.Connected:=True;
end;
procedure TForm1.Button1Click(Sender: TObject);//登录按钮
var
user,pwd:string;
i:integer;
begin
ADODataSet1.Connection:=ADOCon nection1;
ADODataSet1.CommandText:='select * from zhy';
ADODataSet1.Open;
ADODataSet1.First;
for i:=0 to ADODataSet1.RecordCount-1 do //轮循zhy表中的每一条记录,把输入的用户名密码和表的记录进行对比,如果用户名和秘密匹配则进入应用系统,否则给出错误提示
begin
user:=ADODataSet1.FieldByName('us er').AsString;
pwd:=ADODataSet1.FieldByName('pwd').AsString;
if (Trim(Edit1.Text)=Trim(user)) and (Trim(Edit2.Text)=Trim(pwd)) then
begin
Form1.Release;//登录界面释放
Form2.Show;//进入应用系统主界面
ADODataSet1.Close;
exit;
end;
ADODataSet1.Next;
end;
MessageDlg('密码错误,请重新输入', mtError,[mbOk], 0);
ADODataSet1.Close;
end;
经过上述简单的编码后,把test数据库运行在SERVER服务器中,把Delphi开发的源码编译后制作成一个setup安装程序就可以把项目程序复制到任意一台客户机上运行了。各台客户机可以通过登录不同的用户名拥有不同等级的操作权限来使用软件。
三、学习要领
如果我们选择Delphi+SQL Server2000作为C/S型数据库开发的工具,首先就要对Delphi和SQL Server2000有一定的认知,那么我们应该怎么着手去学习呢?
1.学习时间
如果有编程基础的朋友,比如学习过数据库原理和一门面向对象高级编程语言的大学生,大约只要花费半个月左右的时间学习Delphi即可做一些简单的程序,如果对Delphi和数据库两个领域都是空白就需要更多的时间学习了。
2.学习步骤
学习Delphi
(1)首先要会Pascal语言,这是学习Delphi的前提条件,因为Delphi采用的编程语言就是Pascal,建议看看谭浩强先生的《PASCAL语言程序设计》。
(2)熟悉Delphi编程环境,常见的控件要会熟练运用。
(3)重点学习Delphi数据库编程,这是学习C/S开发技术的重点和难点。先从简单的入手,由浅入深,循序渐进。要了解数据库的基本知识,了解数据库系统的组件构成,常见数据库组件的属性、方法,要知道开发数据库系统的基本过程等等。
(4)学习在程序中如何连接数据库,读写数据等。
习SQL Server2000
(1)了解数据库的基本知识。
(2)掌握如何建立数据库,分离、还原数据库,以及数据库的备份等基本操作。
(3)学会熟练使用企业管理器这个强大的工具。
(4)重点和难点是熟练使用触发器、事务、存储过程等。
在对Delphi和SQL Server2000有一定认识的基础上,实际编写C/S小程序加深认识。
四、后续学习要领
当我们能使用Delphi+SQL2000编写一些小的C/S程序后就应该考虑如何使用这门技术创造财富了。要给企业做项目或者靠这门技术混饭吃,那么应该怎么深入学习呢,重点学习些什么呢?
1.要了解项目流程,一般来说,一个项目应有如下流程:
需求分析→基本设计→详细设计→软件开发→软件测试→软件投用→项目文档→项目鉴定
我们在接到一个企业的订单后就要按照这个流程来完成项目,如果前期工作(需求分析和详细设计)没有做到位,哪怕你对开发工具再熟悉、编程思路再优秀,也不能做出高质量的项目来,实际上,软件开发的时间在整个项目流程中所占的比例是很小的,我们要花大量时间搞好需求分析和基本设计。
2.在掌握了用户的需求之后,我们在做设计之前一定要搞懂业务流程再造,把业务流程转换为信息管理流程,这一点非常重要,我们做详细设计就要围绕业务流程开展。比如针对超市:组织货源→收货→库存管理→销售→财务成本分析。
3.进入详细设计阶段,我们在建立数据库之前要明白这么几个问题:要建立哪些表;为什么要建立这些表;表的结构;表间逻辑关系。
五、学习资源推荐
书籍
1.《网络数据库应用系统开发实用教程(Delphi版)》:本书从实用出发,简明、全面讲述开发网络数据库应用系统所需要的一些知识,包括网络数据库应用系统的基本概念、构建网络数据库应用系统服务器的数据库管理系统SQL Server 2000、客户机/服务器结构的网络数据库应用系统的开发工具Delphi、浏览器/服务器结构的网络数据库应用系统的开发工具ASP等几部分内容。
作者:尹会滨
出版社:清华大学出版社
2.《最新Delphi 7数据库开发指南》: 本书通过大量的实例和插图,深入浅出地介绍了Delphi 7开发数据库程序的技巧。
作者:只飞
出版社:北京希望电子出版社
网站
1.Delphi园地
网址:http://www.Delphifans.com
Delphi园地几乎每隔几日就会更新,包含大量的技巧文章、精彩源码、精选控件等等,其中源码按数据库、网络、算法、游戏等进行了详细的分类,其中的源码适合初学者和有一定经验的编程人员,并提供了按关键字搜索的功能,下载源码的速度也很快。
2.Delphi盒子
网址:http://www.Delphibox.com/
Delphi盒子也是一个众多Delphi爱好者经常光顾的网站,其特点是提供了大量的源码、第三方控件供大家下载,源码覆盖的面也比较广,包括数据库、多媒体、窗体、图形、ActiveX技术等等。还有一些演示文档和工具也非常不错,值得大家去好好研究。下载资源的速度也比较快。
论坛
CSDN技术社区
网址:http://community.csdn.net/
CSDN是目前网上人气非常高的技术社区,需要注册和登录,之后选择“Borland技术社区”的Delphi即可进入,在这里可选择 “数据库相关”进入论坛,论坛提供了搜索功能,可以查看你所需要的帖子,也可以发帖子提问。