电脑知识|欧美黑人一区二区三区|软件|欧美黑人一级爽快片淫片高清|系统|欧美黑人狂野猛交老妇|数据库|服务器|编程开发|网络运营|知识问答|技术教程文章 - 好吧啦网

您的位置:首頁技術文章
文章詳情頁

解析SQL Server數據體系和應用程序邏輯

瀏覽:2日期:2023-11-07 08:16:18

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

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

既然有了這樣的靈活性,那么我們為什么不盡可能用TSQL寫更多的事物邏輯呢?

使用TSQL來開發應用程序邏輯存儲

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

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

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

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

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

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

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

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

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

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

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

標簽: Sql Server 數據庫
主站蜘蛛池模板: 安规_综合测试仪,电器安全性能综合测试仪,低压母线槽安规综合测试仪-青岛合众电子有限公司 | 千斤顶,液压千斤顶-力良企业,专业的液压千斤顶制造商,shliliang.com | 首页|光催化反应器_平行反应仪_光化学反应仪-北京普林塞斯科技有限公司 | 知网论文检测系统入口_论文查重免费查重_中国知网论文查询_学术不端检测系统 | 大白菜官网,大白菜winpe,大白菜U盘装系统, u盘启动盘制作工具 | 裹包机|裹膜机|缠膜机|绕膜机-上海晏陵智能设备有限公司 | 黑龙江京科脑康医院-哈尔滨精神病医院哪家好_哈尔滨精神科医院排名_黑龙江精神心理病专科医院 | 河南mpp电力管_mpp电力管生产厂家_mpp电力电缆保护管价格 - 河南晨翀实业 | 成都离婚律师|成都结婚律师|成都离婚财产分割律师|成都律师-成都离婚律师网 | 砍排机-锯骨机-冻肉切丁机-熟肉切片机-预制菜生产线一站式服务厂商 - 广州市祥九瑞盈机械设备有限公司 | 山东聚盛新型材料有限公司-纳米防腐隔热彩铝板和纳米防腐隔热板以及钛锡板、PVDF氟膜板供应商 | 顶呱呱交易平台-行业领先的公司资产交易服务平台 | 冷藏车-东风吸污车-纯电动环卫车-污水净化车-应急特勤保障车-程力专汽厂家-程力专用汽车股份有限公司销售二十一分公司 | 模温机-油温机-电加热导热油炉-工业冷水机「欧诺智能」 | 网络推广公司_网络营销方案策划_企业网络推广外包平台-上海澜推网络 | 真空冷冻干燥机_国产冻干机_冷冻干燥机_北京四环冻干 | 哈尔滨治「失眠/抑郁/焦虑症/精神心理」专科医院排行榜-京科脑康免费咨询 一对一诊疗 | 青岛代理记账_青岛李沧代理记账公司_青岛崂山代理记账一个月多少钱_青岛德辉财税事务所官网 | 铝箔袋,铝箔袋厂家,东莞铝箔袋,防静电铝箔袋,防静电屏蔽袋,防静电真空袋,真空袋-东莞铭晋让您的产品与众不同 | 泰来华顿液氮罐,美国MVE液氮罐,自增压液氮罐,定制液氮生物容器,进口杜瓦瓶-上海京灿精密机械有限公司 | 喷码机,激光喷码打码机,鸡蛋打码机,手持打码机,自动喷码机,一物一码防伪溯源-恒欣瑞达有限公司 | 土壤养分检测仪_肥料养分检测仪_土壤水分检测仪-山东莱恩德仪器 大型多片锯,圆木多片锯,方木多片锯,板材多片锯-祥富机械有限公司 | 塑胶地板-商用PVC地板-pvc地板革-安耐宝pvc塑胶地板厂家 | 广州小程序开发_APP开发公司_分销商城系统定制_小跑科技 | 广东恩亿梯电源有限公司【官网】_UPS不间断电源|EPS应急电源|模块化机房|电动汽车充电桩_UPS电源厂家(恩亿梯UPS电源,UPS不间断电源,不间断电源UPS) | 一体式钢筋扫描仪-楼板测厚仪-裂缝检测仪-泰仕特(北京) | 金属切削液-脱水防锈油-电火花机油-抗磨液压油-深圳市雨辰宏业科技发展有限公司 | 金库门,金库房,金库门厂家,金库门价格-河北特旺柜业有限公司 | 乐泰胶水_loctite_乐泰胶_汉高乐泰授权(中国)总代理-鑫华良供应链 | 二手光谱仪维修-德国OBLF光谱仪|进口斯派克光谱仪-热电ARL光谱仪-意大利GNR光谱仪-永晖检测 | 压砖机_电动螺旋压力机_粉末成型压力机_郑州华隆机械tel_0371-60121717 | 北京遮阳网-防尘盖土网-盖土草坪-迷彩网-防尘网生产厂家-京兴科技 | 昆明挖掘机修理厂_挖掘机翻新再制造-昆明聚力工程机械维修有限公司 | 东莞注册公司-代办营业执照-东莞公司注册代理记账-极刻财税 | 美缝剂_美缝剂厂家_美缝剂加盟-地老板高端瓷砖美缝剂 | 雷冲击高压发生器-水内冷直流高压发生器-串联谐振分压器-武汉特高压电力科技有限公司 | 杰恒蠕动泵-蠕动泵专业厂家-19年专注蠕动泵| 江苏农村商业银行招聘网_2024江苏农商行考试指南_江苏农商行校园招聘 | 蓝牙音频分析仪-多功能-四通道-八通道音频分析仪-东莞市奥普新音频技术有限公司 | 浙江上沪阀门有限公司 | 成都珞石机械 - 模温机、油温机、油加热器生产厂家 |