您现在的位置: 无忧电子商务网 >> 信息学院 >> 程序开发 >> asp >> 正文

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

作者:佚名    信息学院来源:整理    点击数:    更新时间:2008-1-24 我要参与讨论

  我再举一个数据完整性(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了)。希望我的这篇拙作能对各位开发者小有作用,不然就当笑谈了吧。  

在google里搜索更多企业级N Tier体系结构解决方案讨论(一)

Google
Web www.51ec.org
【字体: 】【发表评论】【加入收藏】【告诉好友】【打印此文】【关闭窗口
我来说两句 对此文章发表了评论
  昵 称: *必填    ·注册用户·
  评 分: 1分 2分 3分 4分 5分     严禁发表危害国家安全、政治、黄色淫秽等内容的评论,用户需对自己在使用本网站服务过程中的行为承担法律责任。本站管理员有权保留或删除评论内容,评论内容只代表机友个人观点,与本网站立场无关。  
评 论
内 容

 
评论列表 (最新 评论仅限网友观点!)

供求信息




| 设为首页 | 加入收藏 | 关于我们 | 广告服务 | 联系方式 | 友情链接 | 版权申明