數據庫的索引、視圖、觸發器、存儲過程、遊標等概念的理解

索引、視圖、遊標、存儲過程和觸發器的理解


索引、視圖、遊標、存儲過程和觸發器的理解

 

1、索引 

      1-1、索引的概述 

               我們把一個表中的一列或者多列和列中元素所在表中記錄的物理地址組合成一個新的表。這個表的記錄大致爲列的內容和該列所在記錄的物理地址。 

      1-2、索引的優缺點   www.2cto.com  

               優點:大大加快了對源表的執行速度,我們對索引表的檢索就可以實現對源表的檢索。到底快在哪裏?舉例說明:我們通過T-SQL語句查詢源表中的一條記錄,在沒有索引表的時候,計算機首先把整個源表從外存加載到內存,然後再一一匹配,從外存加載到內存耗時是非常的大;在有索引的時候,計算機首先加載索引表,然後匹配,找到後,取出它的物理地址,此時,再從外存中加載大表中的該記錄,這種方法,人看的時候麻煩,但計算機可能就不那麼認爲(具體還要看源表記錄的長度和數量) 

               缺點:索引表需要佔物理空間;當對源表操作時,也要維護索引表,是維護的任務加重了。

 

2、視圖 

       2-1、視圖的概述

                視圖由一張表或多張表的列數據組成的一張虛擬表,所謂虛擬表,就是該整體表在硬盤上不存在,其實,我們創建一個視圖,實際上是創建了一個經過包裝了的Select語句,在這裏我們稱爲A,創建視圖,就是我們往硬盤存放了A,我們調用該視圖的時候,系統就會自動執行一遍A,然後,我們看見的就是一張表了。(這張表數據的改變時,基表變不變,那要看具體情況了,可以說明的是,我們可以通過虛擬表達到改變基表數據的目的) 

      2-2、視圖的優缺點 

               優點:視圖可以限制我們對錶中一些數據的訪問,增加了數據的安全性;減少了重複寫入T-SQL語句。 

               缺點:複雜的視圖一般不能修改內容;能修改的視圖,也需要經過變化使該操作應用到基表中。

  www.2cto.com  

3、遊標 

      3-1、遊標的概述

               數據庫管理系統爲了對數據的管理更加高效,採用的是整塊數據進行管理操作,這個管理方式對於數據庫管理系統來說是非常的好的,但是,這種管理方式對於應用程序來說不好,因爲我應用程序對於操作管理的數據是很少的,而且針對性也強,根據應用程序的這些特點,我們爲了使應用程序更加的高效,我們創建了遊標,遊標就是爲了完成對數據集中的數據經行更小單位的操作,也就是對記錄集中的數據的操作是按一條一條記錄經行的,所以呢,遊標是由結果集(可以是零條、一條或由相關的選擇語句檢索出的多條記錄)和結果集中指向特定記錄的遊標位置組成。遊標是由管理多數據到少數據,操作不確定數據到確定性數據,對數據頂對性弱到針對性強的一種產物。 

     3-2、遊標的優缺點

              優點:應用程序可以應用遊標對數據集經行指定行的操作。

              缺點:使用不當會使運行效率更低。

 

4、存儲過程 

           4-1、存儲過程的概述 

                    存儲過程就是一個SQL語句集,當然,這個語句集可以完成特定的功能,存儲過程建立後,就先會經過編譯,然後,存放在硬盤上。

           4-2、存儲過程的優缺點   www.2cto.com  

                    優點:一次編譯,多次執行,使用戶不用多次的書寫相同的SQL語句了,同時這些SQL語句也不用一直先編譯在執行了,節省了時間。

                    缺點:簡單應用換可以,複雜的時候應用,就是變的複雜。

 

5、觸發器 

      5-1、觸發器的概述 

               觸發器就是特殊的存儲過程,特殊在,觸發器不需要通過人爲(例:在程序中調用)的操作來啓動它,觸發器的啓動是由事件(刪除、更新等)的執行來自動啓動的。

      5-2、觸發器的優缺點 

              優點:是數據的安全性更強,例:通過觸發器可以取消刪除數據的操作。

              缺點:維護數據的時候變得有些複雜。




發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章