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

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

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

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

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

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

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

  使用TSQL來開發(fā)應用程序邏輯存儲

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

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

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

  在應用程序邏輯中使用.NET類

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

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

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

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

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

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

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

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

分享到:

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