php与数据库交互论文 php和数据库制作网站的例子( 七 )


在设计时,对数据可能有如下不同的处理形式 。
(1)在处理时,客户机先向服务器索取数据,然后释放数据库,即客户机发出的是文件请求 , 在客户机端处理数据,最后将结果送回服务器 。这种处理方式的缺点很明显:所有的应用处理都在客户端完成,这就要求客户端的计算机必须有足够的能力,以便执行需要的任何程序 。更为糟糕的是,由于所有的处理均在客户端完成,每次运行时都要将文件整体传送到客户端 , 然后才能执行 。如:Student表中有30 000条记录 , 客户端发出命令:
Select * From Student Where Sno='200101'
这条命令将要求服务器将Student表中的所有记录传送到客户端,然后在客户端执行查询 , 结果只用到一条记录;如果查询的记录不存在,网络传输的数据实际上是无 用的 。如此大的数据传输量是不可想象的 。因此 , 人们提出了在服务器中能够执行部分代码的客户机/服务器结构 。
(2)在处理时,客户机接受用户要求,并发给服务器;在服务器端处理用户要求,最后将结果传回客户机显示或打印 。这种处理方式网络通信量较小 。客户机向服务器发出的是处理请求 , 而不是文件请求 , 处理请求中的代码在服务器端执行后向客户机传送处理后的结果 。
这样,为了特定任务,客户机上的程序和服务器上的程序协同工作:客户机端的代码用于完成用户的输入输出及数据的检查,而服务器端的代码完成对数据库的操作 。
客户机/服务器结构的另一个主要特点在于软件、硬件平台的无关性 。数据库服务器上的数据库管理系统集中负责管理数据,它向客户端提供一个开放的使用环境,客户端通过数据库接口,如ODBC(开放数据库连接)和SQL语言访问数据库,也就是说,不管客户端采用什么样的硬件和软件,它只要能够通过网络和数据库接口程序连接到服务器 , 就可对数据库进行访问 。
在客户机/服务器结构中,常把客户机称为前台,而把服务器端称为后台 。前台应用程序的功能包括用户界面、接收用户数据、处理应用逻辑、向后台发出请求、同时接收后台返回的结果,最后再将返回的结果按一定的格式或方式显示给用户 。而后台服务器则负责共享外部设备、存取共享数据、响应前台客户端的请求并回送结果等工作 。前台的应用程序和数据一般是用户专用的,而后台的数据和代码是所有用户可以共享的 。
由于数据库服务器不仅要管理共享数据,保证数据的完整性,还要执行一部分代码,完成客户端的一些处理请求,所以对用于服务器的计算机提出较高的要求 。最好要采用一台专用的服务器,有较快的处理速度,有大容量的硬盘和内存 , 支持磁带等大容量的存储设备 。
上面讲的客户机/服务器结构将应用分在了客户机、服务器两级 , 称其为两层客户机/ 服务器结构 。总之,两层C/S结构的基本工作方式是客户程序向数据库服务器发送SQL请求,服务器返回数据或结果 。
这种C/S结构有两种实现方式 , 一种是客户来完成表示部分和应用逻辑部分,而服务器完成数据访问部分 , 这种情况是以客户为中心的,适用于应用相对简单、数据访问量不是很大的情况 。另一种是以服务器为中心的,把一些重要的应用逻辑部分放到服务器上,这样可充分利用服务器的计算能力,减少网络上需要传送的数据 。通常以存储过程和触发器的形式出现,但存储过程都依赖于特定数据库 , 不同数据库之间很难移植,而三层C/S结构可以很好地解决这个问题 。

推荐阅读