哪位能说说c/s、b/s、多层结构的定义及优缺点,请详细些?
解决方案 »
- 能否用DBGridEh实现Access中主从表那样的树型结构
- 求助!为什么我创建的系统服务程序仍然可以在任务管理器中结束掉?
- 如何使用FileWrite
- 放暑假了,在家里没事干啊。郁闷ing~ 散分阿~
- 如何在程序主代码里注册当前目录下的ocx、dll控件?
- ??用DBGridEh数据表格显示数据的三个问题??
- 请教:如何实现电子邮件功能(300分分次相赠)
- Midas开发的问题,求救!
- dxDBGrid1.SaveToXLS(savedialog1.FileName+'.xls',true);导出的数据,数字为文本类型
- 请问在dephi中如何发送邮件,最好把源程序给我谢谢,我本人刚学dephi
- 怎样动态定义adoquery 的parameters 对象
- 请教下面源码的意思!注释或delphi都行!谢了!
• 传统结构(两层) 在传统的客户机/服务器应用程序中,一个数据库服务器实现数据管理
功能,而另一个客户应用程序实现其他的功能。业务逻辑经常在客户应用程序和数据库宿主
的存储过程和触发器中划分。
• 三层结构( n层) 在三层模型中,数据库服务器实现数据管理功能,中间层应用程序实现
公共业务逻辑,而界面组件提供用户界面。当几个应用程序访问同样的数据时,将相关的业
务逻辑封装到一个组件中就很有意义了。当访问规则改变时,只有中间层组件需要更改。
• 连接式连接式客户应用程序是一直保持对数据库或网络连接的一种应用程序。这是一
种最普通的客户机/服务器计算类型。应用程序实时响应用户处理信息的要求,并将处理好的
信息更新到数据库中。在这种方式下处理数据的任务会落到R D B M S上。R D B M S通常并发更
新和同时处理来自多个用户对数据的请求。因为大量的和这些应用程序相关的业务规则都是
以存储过程、触发器、授权和特权、用户角色等形式存储或设置在R D B M S内部。
• 断开式断开式应用程序是一种脱机操作的应用程序,它允许用户处理数据而并不和某
个网络或公司的数据仓库直接连接。使得数据可以按照与使用实时事务处理不同的某种方式
来进行处理。通常的方式是在给定周期的时间内接收数据并进行批处理,事务处理在本地数
据仓库进行,该仓库必须能够实现某种形式的复制操作。远程用户对公司数据仓库中数据的
复制或分发通常依靠周期性使用调制解调器连接到公司网络并传输数据来完成。这种传输通
常由应用程序逻辑来处理,它利用了信息自动复制技术以保持数据的同步。这种方式在网络
条件较差,实时处理要求不高的情况下是一种最佳的解决方案。
传统的客户机/服务器模型实现起来可以特别快,因为它要求较少的前端设计。用户响应
时间也可能要比更复杂的客户机/服务器模型的响应时间少。对于一个用户数量少,范围划分
清晰的应用程序来说,两层模型是一个很好的选择。
两层应用程序通常不能很好地适应大量用户使用的情况。在用户数量增加时,存储过程
中真实业务逻辑的实现会导致数据库竞争。客户也需要高速地连接到数据库服务器上;因此
对于远程用户来说两层模型不是一个好选择。更新分布可以很灵活,因为客户组件中的改变
必须要和服务器组件中的改变很细心的协调。
三层应用程序一般比两层应用程序具有更好的规模。在中间层中实现业务逻辑而不是用
触发器或存储过程实现,这样极大地减少了数据库查询的数量,因而也减少了数据库竞争。
当数据库操作通过中间层时,用户响应时间会增加。但是,尽管中间层初始化会降低开始的
操作,但后续的操作会快得多。另外,并不是所有的数据库操作都要通过中间层。对于简单
的数据库查询,其中的数据不可能再被使用,因此,从用户界面直接访问数据库是适当的。
虽然三层模型更复杂,但是它真正具有更好的规模可变能力和灵活性。因为触发器不强
制执行业务逻辑,所以插入和更新操作快速且有效,并且数据库服务器可以处理更繁重的加
载而更少产生竞争。
书中自有黄金屋。(走题了):)