why
一、 提高執行速度。在執行儲存過程前,資料庫伺服器對其進行語法和語義分析,並給出優化執行方案。(這裡面的名詞聽過,理解的很淺)相比之下,互動執行的sql語句是解釋執行,所以前者要快。(這裡面的道理有誰願意交流一下,很樂意!)
二、增強了sql的功能和靈活性。儲存過程可以用流程控制語句編寫,有很強的靈活性,能完成複雜的邏輯判斷和複雜的運算。
三、可以降低網路的通訊量。儲存過程儲存在伺服器端,執行全部邏輯流程僅需要 向伺服器傳送一次過程請求即可,避免了互動模式下處理邏輯執行中額外的中間通訊開銷。
四、減輕了程式編寫的工作量。儲存過程可以反覆呼叫,並可供其他前端應用程式共享應用邏輯。
五、間接實現安全控制功能。
how開始用了幾個儲存過程,裡面的小規矩值得注意,不過多多之間就能明白不少。
和使用儲存過程能達到同樣效果的還有乙個叫sql/psm.。簡單解釋一下:其指定了如何編寫持久儲存模組,提供流程控制語句來表示過程處理應用邏輯。
來張圖吧:
接下來繼續說說下面的觸發器。
what
觸發器(trigger)是乙個能有系統自動執行對資料庫修改的語句。由三部分組成:一、事件:事件是指對資料庫的插入,刪除,修改等操作。觸發器在這些事件發生時開始工作。二、條件:觸發器將測試條件是否成立。成立則執行相應的動作,否則不執行。三、動作。如果觸發器測試滿足預定的條件,那麼,就由dbms執行這些動作。
why觸發器是一種特殊的儲存過程,觸發器不能被直接執行,它們只能為表上的insert,update,delete事件所觸發。不能傳遞或接受引數。能夠處理更複雜的關係。開銷非常低。
可以引用表中的列來完成資料完整性的約束。
總結:
這些知識只有在事件中才能更好地感受其中的妙處,也更能激發學習的興趣。通過實踐,我發現理解的不夠深入是應用的不夠多!儲存過程和觸發器,期待再次學習!
機房重構 資料庫設計
上次發表過一篇資料庫設計後來師傅說理解的不正確就擱置了很久才提筆。關於資料庫的設計是乙個大方面,因為暑假已經用vb6.0敲過機房收費系統了,對於裡面的功能結構也比較熟悉,所以對於重建有很大的幫助。分析er圖 實體user和card之間存在著4種關係 註冊 充值 取消 上下機。實體card和stude...
sql server 資料庫設計《機房重構》
開始機房重構了,不自己設計乙個資料庫怎麼好意思說自己是在重構機房呢?而且原資料庫本身就有很多瑕疵,不符合資料庫的規範,今天我們就根據資料庫三正規化,來設計屬於我們自己的一版資料庫。本次的資料庫是為了服務於我們的機房收費系統,機房收費系統大致的要求是什麼呢?看圖 這是我們機房收費系統的主要的功能,這涉...
重構機房收費系統 資料庫設計
弄完了三層的例子後,機房重構早就該開始了,但是自己一直不想動,萬事開頭難,機房收費的重構,先是資料庫的設計問題,開始包括er圖的設計。然後設計資料庫,設計表.現在想想自己資料庫的設計。首先先想一想上下機的整個流程,乙個學生拿著卡來到老師面前,老師講學生的卡啟用,學生在拿著卡去找機子上機,假如學生沒有...