視圖概述
視圖和表一樣,也包括幾個被定義的數據列和多個數據行,但就本質而言,這些數據列和數據行來源於視圖所引用的表,所以視圖不是真實存在的物理表,而是一張虛表。
基於單表的視圖創建以後,可以通過視圖對源表數據進行添加、刪除、修改和查詢操作。
創建視圖
1、使用SSMS創建視圖(演示)
2、使用T-SQL腳本創建視圖
語法:
Create view 視圖名稱
as
select 語
使用聚合函數創建視圖
創建視圖的查詢語句中可以使用聚合函數,可以進行分組查詢
顯示用戶定義規則的定義、默認值、未加密的 Transact-SQL 存儲過程、用戶定義 Transact-SQL 函數、觸發器、計算列、CHECK 約束、視圖或系統對象(如系統存儲過程)。
索引的概念
資料庫中的索引是一個列表,在這個列表中包含了某個表中一列或者若干列值的集合,以及這些值的記錄在數據表中的存儲位置的物理地址
索引的優點
可以大大加快數據檢索速度。
通過創建唯一索引,可以保證數據記錄的唯一性。
在使用ORDER BY和GROUP BY子句進行檢索數據時,可以顯著減少查詢中分組和排序的時間。
使用索引可以在檢索數據的過程中使用優化隱藏器,提高系統性能。
可以加速表與表之間的連接,這一點在實現數據的參照完整性方面有特別的意義。
使用T-SQL語句創建索引
利用Transact-SQL語句中的CREATE INDEX命令可以創建索引,CREATE INDEX命令既可以創建一個可改變表的物理順序的聚集索引,也可以創建提高查詢性能的非聚集索引 。
使用T-SQL語句刪除索引
2 使用Transact-SQL語句刪除索引
當不再需要某個索引時,可以使用Transact-SQL語句中的DROP INDEX命令刪除索引。DROP INDEX命令可以刪除一個或者多個當前資料庫中的索引
操作要求:
(1)在Users表的u_Name列上創建非聚集索引idx_UsersName。(SSMS)
(2)在OrderDetails表的o_ID列和g_ID列上創建複合非聚集索引idx_OID_GID。(SSMS)
(3)查看所建索引idx_UsersName和idx_OID_GID的基本信息。(SSMS)
(4)刪除所建的索引idx_UsersName和idx_OID_GID。(SSMS)
(5)在Employees表中創建基於e_Name列的非聚集索引idx_EName。(T-SQL)
(6)在Orders表中創建基於e_ID列的非聚集索引idx_EID。(T-SQL)