中华网校

系列网站: 中华网校 | www.网校.com | 3D模型 | 中华网校教育

电脑网校 | 业界新闻 | 职业网校 | 网校宝典 | 软件下载 | 网校论坛 | 网校联盟

电脑入门 | 网页设计 | 网络编程 | 图形图象 | 三维空间 | 多媒体 | 程序语言 | 操作系统 | 系统专题 | 办公应用 | 软件宝典 | 硬件天下 | 

 

您的位置:首页 >> 软件宝典 >> 其它软件 >> 新闻正文

企业级N Tier体系结构解决方案讨论(一)  

作者:_  时间:2004-7-10  来自:中华网校  责任编辑:  阅读次数:

我再举一个数据完整性(Integerity)的问题。例如网上报帐的系统,它需要两个相关的表,一个是帐务的记录表
(loan_history),一个是帐务的清除表(loan_clear),每当在loan_clear表中增加一个记录条的时候,必须在相应的
loan_history表中清除相应的loan记录。那么我们将该过程写实现在App Server端上怎么办呢?有点难度,来两个SQL语句
吧:
insert into loan_clear values(loan_id,*,*,*) (1)

delete from
loan_history lh inner join loan_clear lc where lh.loan_id=lc.loan_id (2)
那么万一在第一条语句执行完后,停电了怎么办(买UPS吧)?万一有人就执行第一条语句怎么办?这些在app Server端令
人头痛的问题放到database端就不成问题了,我可以用事务处理来解决:
begin transaction
insert into loan_clear values(loan_id,*,*,*)
delete from
loan_history lh inner join loan_clear lc where lh.loan_id=lc.loan_id
commit transaction
再将这个事务处理的过程写成一个Procedure。或者做个触发器(trigger)
Create Trigger fresh_loan on loan_clear
For insert
delete from
loan_history lh inner join loan_clear lc where lh.loan_id=lc.loan_id
好了,3H都讨论到了,我这里讨论的主要的是SQL Server系列,其实Oracle的体系结构(Frame)和解决的很多方案是和
SQL Server相同的。不过一个是用了Transaction SQL,一个是用了PL/SQL。当然性能是有区别的,当然价格也是有区别的
(得去找一个economical analysis engineering了)。希望我的这篇拙作能对各位开发者小有作用,不然就当笑谈了吧。

相关文章 最新文章 推荐文章
企业级N Tier体系结构解决方案讨论(一)
数组数据排序的程序例子
Session对象在各浏览器中的有效范围
Zaks Pop3 简要介绍
结合singleton和线程做一个定时服务

  中华网校依法保护知识产权,如果我们的文章有涉及或侵犯您的有关权益,请即时与我们 联系, 注明网址及文章,我们会即时处理或删除,感谢您的合作!中华网校email
  中华网校由广州市中六电脑城智锐计算机专业培训学院及中华网校技术中心提供网络支持未经本站许可任何个人网站、书刊报社一律不得私自复制,转载本站内容!

关于中华网校 | 广告服务 | 版权声明 | 投稿指南 | 网站合作 | 友情链接 | 网站地图

 

版权所有 中华网校 & 智锐网校 1999-2004 COPYRIGHT (C) 1999-2004 www.ZhiRui.com ALL RIGHTS RESERVED

 
/**/