- 21天學通SQL Server
- 秦婧 劉存勇編著
- 1232字
- 2019-03-01 13:16:14
1.2 了解數據庫對象
在上一節中讀者已經認識了目前比較流行的6款數據庫產品,那么數據庫中究竟都有什么呢?本節將講述SQL Server數據庫中一些常用的對象,如表、視圖、索引、存儲過程、觸發器等。
1.2.1 表
表是一個數據庫中使用最多的對象,每一個數據庫都是由若干個表組成的。數據庫中每一張表都是由行和列組成的,這就像常用的Excel表格一樣。在數據庫中表中的行稱為記錄,列稱為字段。如表1.1所示為存放學生信息的學生信息表。
表1.1 學生信息表

這里,編號、姓名、年齡、學號、班級都是表中的字段名,而其中的“1,張三,20,20001,一班”就是學生信息表中的一條記錄。
1.2.2 視圖
上一節中已經講解了什么是數據庫中的表,其實視圖也是一張表,通常把視圖看成是數據庫中一張虛擬的表,視圖中的數據都是從數據庫表中查詢出來的數據。也就是說視圖中的數據全部來源于數據庫中存在的表,也稱組成視圖的表為基表或源表。視圖在數據庫中的作用主要是為查詢數據提供方便并提高數據庫的安全性。假設有學生信息表和班級信息表,如表1.2和表1.3所示。
表1.2 學生信息表

表1.3 班級信息表

如果要得到學生的姓名和學生所在的班級名稱,就必須要在學生信息表和班級信息表中查詢才能得到,這樣就減慢了查詢的速度。這時就可以考慮使用視圖,把要查詢的數據放置到視圖中,如表1.4所示。對于怎么實現從表到視圖的操作,在本書后面的章節中會講述。
表1.4 學生班級信息視圖表

這樣,在查詢學生姓名和班級信息時只需要查詢表1.4所示的視圖即可,此時不僅查詢方便,而且可以隱藏學生信息表和班級信息表的字段信息,從而提高數據庫操作的安全性。
1.2.3 索引
索引是創建在數據表中的字段上的,相當于圖書的目錄。在表中設置索引字段可以提高查詢速度,可以想象一下如果字典沒有目錄,那么要查一個漢字需要多長時間呢?同樣,在數據表中如果沒有設置索引字段,那么在查詢時也會減慢速度。在圖書中目錄只有一個,那么表中的索引有多少呢?在數據表中索引分為聚集索引和非聚集索引兩類,但是聚集索引只有一列,那么在檢索表中數據時也都是根據聚集索引來檢索的。索引的創建和使用可以參考本書后面的章節。
1.2.4 存儲過程
存儲過程從字面意義上來說,就是用來存儲數據表操作的一個過程。實際上,存儲過程確實就是把對數據表操作的方法存儲到一起的一個對象。存儲過程和視圖一樣能夠提高數據庫的安全性,通過存儲過程可以完成對數據表的增加、刪除、修改及查詢的操作,并且使用存儲過程還能完成數據表的一些判斷等復雜操作。存儲過程的創建和使用可以參考本書后面的章節。
1.2.5 觸發器
觸發器可以理解為當執行某一個操作時執行某一個方法,就像設置電腦自動關機一樣,當到達了電腦的自動關機時間,電腦就會自動運行關機程序來關閉電腦。觸發器是確保數據表數據一致性的重要的數據庫對象之一,通過觸發器可以完成諸如向一個表插入數據的同時向另一個表插入數據,或者刪除另一個表中數據的操作。但是,使用觸發器也要慎重,因為數據庫中如果存在大量的觸發器,在操作時就會影響數據庫的效率。觸發器的創建和使用可以參考本書后面的章節。