国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁(yè) > 學(xué)院 > 開(kāi)發(fā)設(shè)計(jì) > 正文

企業(yè)級(jí)N Tier體系結(jié)構(gòu)解決方案討論(一)

2019-11-18 22:05:51
字體:
來(lái)源:轉(zhuǎn)載
供稿:網(wǎng)友
我再舉一個(gè)數(shù)據(jù)完整性(Integerity)的問(wèn)題。例如網(wǎng)上報(bào)帳的系統(tǒng),它需要兩個(gè)相關(guān)的表,一個(gè)是帳務(wù)的記錄表(loan_history),一個(gè)是帳務(wù)的清除表(loan_clear),每當(dāng)在loan_clear表中增加一個(gè)記錄條的時(shí)候,必須在相應(yīng)的
loan_history表中清除相應(yīng)的loan記錄。那么我們將該過(guò)程寫實(shí)現(xiàn)在App Server端上怎么辦呢?有點(diǎn)難度,來(lái)兩個(gè)SQL語(yǔ)句吧:
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)
那么萬(wàn)一在第一條語(yǔ)句執(zhí)行完后,停電了怎么辦(買UPS吧)?萬(wàn)一有人就執(zhí)行第一條語(yǔ)句怎么辦?這些在app Server端令人頭痛的問(wèn)題放到database端就不成問(wèn)題了,我可以用事務(wù)處理來(lái)解決:
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
再將這個(gè)事務(wù)處理的過(guò)程寫成一個(gè)PRocedure。或者做個(gè)觸發(fā)器(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系列,其實(shí)Oracle的體系結(jié)構(gòu)(Frame)和解決的很多方案是和SQL Server相同的。不過(guò)一個(gè)是用了Transaction SQL,一個(gè)是用了PL/SQL。當(dāng)然性能是有區(qū)別的,當(dāng)然價(jià)格也是有區(qū)別的(得去找一個(gè)economical analysis engineering了)。希望我的這篇拙作能對(duì)各位開(kāi)發(fā)者小有作用,不然就當(dāng)笑談了吧。
發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 苏州市| 北宁市| 巨野县| 沂南县| 鄂伦春自治旗| 三门县| 河间市| 瑞金市| 泸州市| 彭水| 昌乐县| 乡城县| 汉阴县| 潢川县| 镇原县| 镇雄县| 禹州市| 温州市| 台南县| 长沙市| 大港区| 寻乌县| 株洲市| 微山县| 遵义市| 社会| 延寿县| 寻乌县| 吉林省| 永吉县| 玛纳斯县| 香河县| 乌什县| 万山特区| 中山市| 霍林郭勒市| 南投市| 泊头市| 长丰县| 延安市| 眉山市|