數據庫中創建視圖和索引還有存儲過程起什麼作用?

視圖可以被看成是虛擬表或存儲查詢。可通過視圖訪問的數據不作爲獨特的對象存儲在數據庫內。數據庫內存儲的是 SELECT 語句。SELECT 語句的結果集構成視圖所返回的虛擬表。用戶可以用引用表時所使用的方法,在 Transact-SQL 語句中通過引用視圖名稱來使用虛擬表。使用視圖可以實現下列任一或所有功能:

將用戶限定在表中的特定行上。
例如,只允許僱員看見工作跟蹤表內記錄其工作的行。

將用戶限定在特定列上。
例如,對於那些不負責處理工資單的僱員,只允許他們看見僱員表中的姓名列、辦公室列、工作電話列和部門列,而不能看見任何包含工資信息或個人信息的列。

將多個表中的列聯接起來,使它們看起來象一個表。


聚合信息而非提供詳細信息。
例如,顯示一個列的和,或列的最大值和最小值。
------------------
數據庫中的索引與書籍中的索引類似。在一本書中,利用索引可以快速查找所需信息,無須閱讀整本書。在數據庫中,索引使數據庫程序無須對整個表進行掃描,就可以在其中找到所需數據。
------------------
存儲過程可以使得對數據庫的管理、以及顯示關於數據庫及其用戶信息的工作容易得多。存儲過程是 SQL 語句和可選控制流語句的預編譯集合,以一個名稱存儲並作爲一個單元處理。存儲過程存儲在數據庫內,可由應用程序通過一個調用執行,而且允許用戶聲明變量、有條件執行以及其它強大的編程功能。

存儲過程可包含程序流、邏輯以及對數據庫的查詢。它們可以接受參數、輸出參數、返回單個或多個結果集以及返回值。

可以出於任何使用 SQL 語句的目的來使用存儲過程,它具有以下優點:

可以在單個存儲過程中執行一系列 SQL 語句。


可以從自己的存儲過程內引用其它存儲過程,這可以簡化一系列複雜語句。


存儲過程在創建時即在服務器上進行編譯,所以執行起來比單個 SQL 語句快。 
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章