亚洲韩日午夜视频,欧美日韩在线精品一区二区三区,韩国超清无码一区二区三区,亚洲国产成人影院播放,久草新在线,在线看片AV色

您好,歡迎來到思海網(wǎng)絡(luò),我們將竭誠為您提供優(yōu)質(zhì)的服務(wù)! 誠征網(wǎng)絡(luò)推廣 | 網(wǎng)站備案 | 幫助中心 | 軟件下載 | 購買流程 | 付款方式 | 聯(lián)系我們 [ 會(huì)員登錄/注冊 ]
促銷推廣
客服中心
業(yè)務(wù)咨詢
有事點(diǎn)擊這里…  531199185
有事點(diǎn)擊這里…  61352289
點(diǎn)擊這里給我發(fā)消息  81721488
有事點(diǎn)擊這里…  376585780
有事點(diǎn)擊這里…  872642803
有事點(diǎn)擊這里…  459248018
有事點(diǎn)擊這里…  61352288
有事點(diǎn)擊這里…  380791050
技術(shù)支持
有事點(diǎn)擊這里…  714236853
有事點(diǎn)擊這里…  719304487
有事點(diǎn)擊這里…  1208894568
有事點(diǎn)擊這里…  61352289
在線客服
有事點(diǎn)擊這里…  531199185
有事點(diǎn)擊這里…  61352288
有事點(diǎn)擊這里…  983054746
有事點(diǎn)擊這里…  893984210
當(dāng)前位置:首頁 >> 技術(shù)文章 >> 文章瀏覽
技術(shù)文章

SQL Server應(yīng)用程序邏輯和數(shù)據(jù)體系

添加時(shí)間:2014-3-25 15:39:05  添加: 思海網(wǎng)絡(luò) 

  在許多用SQL Server實(shí)現(xiàn)的新的企業(yè)系統(tǒng)設(shè)計(jì)中,系統(tǒng)設(shè)計(jì)師需要在給數(shù)據(jù)結(jié)構(gòu)和管理應(yīng)用程序邏輯的定位上做出具有關(guān)鍵性意義的決定。SQL Server有它自己的編程語言(Transact-SQL,即TSQL),開發(fā)者可以用它來管理數(shù)據(jù)訪問、代碼事務(wù)邏輯和交易控制。

  使用TSQL,開發(fā)者可以創(chuàng)建保存過程,在保存過程中用一段可重用、預(yù)編譯而且擁有自己的許可設(shè)置的代碼塊來封裝數(shù)據(jù)訪問。數(shù)據(jù)庫中每個(gè)表格都有一組叫做 triggers的特殊的保存過程。當(dāng)?shù)讓訑?shù)據(jù)庫發(fā)生特定的數(shù)據(jù)庫事件(如Insert、Delete或者Update)時(shí),trigger就被“觸發(fā)” 了。使用triggers,開發(fā)者就可以編寫基于事件的事務(wù)邏輯,這樣,給定表格的Insert、Delete和Update事件就可以驅(qū)動(dòng)其它表格的變 化。

  既然有了這樣的靈活性,那么我們?yōu)槭裁床槐M可能用TSQL寫更多的事物邏輯呢?

  使用TSQL來開發(fā)應(yīng)用程序邏輯存儲(chǔ)

  TSQL不僅可以作為單個(gè)應(yīng)用程序的邏輯倉庫,它也可以是一個(gè)訪問相同數(shù)據(jù)的應(yīng)用程序組的邏輯倉庫——這有幾個(gè)邏輯上的原因。通過對(duì)數(shù)據(jù)的集中處理和管理SQL server中數(shù)據(jù)的規(guī)則,你可以配置這樣的安全體系——即應(yīng)用程序在通過事務(wù)規(guī)則之前,不可以訪問底層數(shù)據(jù)庫。

  這是大多數(shù)兩層客戶——服務(wù)器應(yīng)用程序的常見數(shù)據(jù)庫范例。該體系把所有的事務(wù)邏輯和數(shù)據(jù)訪問交給后端的服務(wù)器而把豐富的表示邏輯交給客戶端。客戶管理事務(wù) 過程和數(shù)據(jù)的視(view),但不在本地處理除顯示之外的其它事務(wù)。如果把所有的事務(wù)邏輯放到中央倉庫去,那么這個(gè)體系還有降低管理成本的潛力,但這會(huì)付 出降低了可測性的代價(jià)。

  我最近接觸了一個(gè)客戶,它花了數(shù)百個(gè)人月(一個(gè)人工作一個(gè)月的工作量)和數(shù)以千計(jì)的美元來設(shè)計(jì)一個(gè)非常復(fù)雜的、用TSQL管理所有應(yīng)用程序邏輯的應(yīng)用程 序。盡管該體系非常精巧、在10到15個(gè)用戶的情況下也運(yùn)行良好,但是如果有20個(gè)用戶,速度就非常慢。通過給SQL server增加處理器的方法,該系統(tǒng)可以允許60個(gè)用戶同時(shí)使用。但是這距離100個(gè)用戶的設(shè)計(jì)目標(biāo)還有很大一段距離,這就使得該公司在 Internet上開放該應(yīng)用程序的計(jì)劃無法實(shí)施下去。由于存儲(chǔ)過程和trigger只能操作本地?cái)?shù)據(jù),該公司無法把該應(yīng)用程序分解成多個(gè)SQL server以提高可測性。結(jié)果,該公司不得不大規(guī)模的修改它。

  在應(yīng)用程序邏輯中使用.NET類

  上面那家公司在經(jīng)過一段曲折后所發(fā)現(xiàn)的問題,大多數(shù)體系設(shè)計(jì)師在體系設(shè)計(jì)階段都會(huì)重新認(rèn)識(shí)到——應(yīng)用程序邏輯包含在一組.NET類的n層體系可以增加該應(yīng) 用程序的靈活性和可測性。由于TSQL是一種以管理數(shù)據(jù)為主要目的的語言,因此它不夠靈活,但是我們?nèi)钥梢杂肨SQL編寫出復(fù)雜的事務(wù)邏輯。

  如果開發(fā)者使用.NET框架,那么他們可以在開發(fā)核心事務(wù)過程時(shí)做出自己的語言選擇。這個(gè)靈活性可以讓你對(duì)應(yīng)用程序要求和開發(fā)語言或者資源進(jìn)行最合理的搭 配。而且如果適當(dāng)開發(fā),封住這些事務(wù)過程的對(duì)象可以在多臺(tái)機(jī)器上運(yùn)行并共享同樣的底層數(shù)據(jù)庫server。在與處理TSQL事務(wù)邏輯無關(guān)的情況下,SQL server可以應(yīng)付大量的并發(fā)請(qǐng)求。

  行操作(row operation)和集操作(set operations)

  在規(guī)劃體系階段時(shí)判斷使用行操作還是集操作的一個(gè)指導(dǎo)思想就是:如果使用TSQL就使用集操作,如果使用.NET則進(jìn)行行操作。通過網(wǎng)絡(luò)連接來提供大量的 數(shù)據(jù)會(huì)影響應(yīng)用程序的整體性能,所以只要有可能就使用server來處理它們——這樣做是很有意義的。但是從內(nèi)存和處理能力的角度來看,SQL Server的指針(cursor)是非常昂貴的對(duì)象,因此創(chuàng)建一個(gè)指針來遍歷集合中的所有記錄并依次處理這些記錄一般來說并沒有多大意義。

  當(dāng)你需要執(zhí)行基于行的處理,而這些處理包括了復(fù)雜的程序邏輯或者占用CPU比較厲害的操作時(shí),你就應(yīng)該從server中查詢這些行并在中間層來處理它們。

  如果你想通過一個(gè)例子來看看如何把數(shù)據(jù)訪問邏輯封裝到一個(gè)中間層對(duì)象中去,請(qǐng)從MSDN中下載數(shù)據(jù)訪問應(yīng)用程序模塊。這是一個(gè)提供代碼的、可重用的數(shù)據(jù)訪問子系統(tǒng),你可以根據(jù)它來編寫自己的數(shù)據(jù)庫或者特性應(yīng)用程序的數(shù)據(jù)訪問對(duì)象。

  通過創(chuàng)建可重用的.NET應(yīng)用程序框架來處理大多數(shù)應(yīng)用程序邏輯、并用基于TSQL的保存過程來作為服務(wù)器端的集操作的安全限制和機(jī)制,那么你就可以創(chuàng)建同時(shí)擁有TSQL和.NET這兩者優(yōu)點(diǎn)的應(yīng)用程序了。

關(guān)鍵字:服務(wù)器SQL Server、應(yīng)用程序、邏輯

分享到:

頂部 】 【 關(guān)閉
版權(quán)所有:佛山思海電腦網(wǎng)絡(luò)有限公司 ©1998-2024 All Rights Reserved.
聯(lián)系電話:(0757)22630313、22633833
中華人民共和國增值電信業(yè)務(wù)經(jīng)營許可證: 粵B1.B2-20030321 備案號(hào):粵B2-20030321-1
網(wǎng)站公安備案編號(hào):44060602000007 交互式欄目專項(xiàng)備案編號(hào):200303DD003  
察察 工商 網(wǎng)安 舉報(bào)有獎(jiǎng)  警警  手機(jī)打開網(wǎng)站