視圖
視圖是一個虛擬表,並不代表任何物理數據,只是用來查看數據的窗口而已。視圖並不是以一組數據的形式存儲在數據庫中,數據庫中只存儲視圖的定義,而不存儲視圖對應的數據,這些數據仍存儲在導出視圖的基本表中。當基本表中的數據發生變化時,從視圖中查詢出來的數據也隨之改變。
視圖由視圖名和視圖定義兩個部分組成。視圖是從一個或多個表導出來的表,它實際上是一個查詢結果,視圖的名字和視圖對應的查詢存儲在數據字典中。
視圖只供查詢,數據不可更改,查詢數據來源於我們建立的實體表。
SQL CREATE VIEW 語法
CREATE VIEW view_name AS SELECT column_name(s) FROM table_name WHERE condition
註釋:視圖總是顯示最近的數據。每當用戶查詢視圖時,數據庫引擎通過使用 SQL 語句來重建數據。
索引
用戶無法看到索引,它們只能被用來加速搜索/查詢。聚集索引存儲記錄是物理上連續存在,而非聚集索引是邏輯上的連續,物理存儲並不連續。
爲表設置索引要付出代價的:一是增加了數據庫的存儲空間,二是在插入和修改數據時要花費較多的時間(因爲索引也要隨之變動)。
創建索引的語法:
CREATE [UNIQUE][CLUSTERED | NONCLUSTERED] INDEX index_name
ON {table_name | view_name} [WITH [index_property [,....n]]
說明:
UNIQUE: 建立唯一索引。
CLUSTERED: 建立聚集索引。
NONCLUSTERED: 建立非聚集索引。
Index_property: 索引屬性。
UNIQUE索引既可以採用聚集索引結構,也可以採用非聚集索引的結構,如果不指明採用的索引結構,則SQL Server系統默認爲採用非聚集索引結構。
1.42 刪除索引語法:
DROP INDEX table_name.index_name[,table_name.index_name]
說明:table_name: 索引所在的表名稱。
index_name : 要刪除的索引名稱。