第3章01數(shù)據(jù)庫對象_第1頁
第3章01數(shù)據(jù)庫對象_第2頁
第3章01數(shù)據(jù)庫對象_第3頁
第3章01數(shù)據(jù)庫對象_第4頁
第3章01數(shù)據(jù)庫對象_第5頁
已閱讀5頁,還剩11頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

數(shù)據(jù)庫設計與實現(xiàn)數(shù)據(jù)庫對象曹志勝數(shù)據(jù)庫對象學習目標:掌握數(shù)據(jù)庫中的表、索引、視圖、圖表和缺省值概念。掌握觸發(fā)器和存儲過程的概念和優(yōu)缺點。數(shù)據(jù)庫對象1.表(Table)數(shù)據(jù)庫中的表與我們日常生活中使用的表格類似,它也是由行(Row)和列(column)組成的。列由同類的信息組成,每列又稱為一個字段,每列的標題稱為字段名。行包括了若干列信息項。一行數(shù)據(jù)稱為一個或一條記錄,它表達有一定意義的信息組合。一個數(shù)據(jù)庫表由一條或多條記錄組成,沒有記錄的表稱為空表。每個表中通常都有一個主關鍵字,用于唯一地確定一條記錄。數(shù)據(jù)庫對象2.索引(Index)索引是根據(jù)指定的數(shù)據(jù)庫表列建立起來的順序。它提供了快速訪問數(shù)據(jù)的途徑,并且可監(jiān)督表的數(shù)據(jù),使其索引所指向的列中的數(shù)據(jù)不重復。如聚簇索引。

數(shù)據(jù)庫對象3.視圖(View)視圖看上去同表似乎一模一樣,具有一組命名的字段和數(shù)據(jù)項,但它其實是一個虛擬的表,在數(shù)據(jù)庫中并不實際存在。視圖是由查詢數(shù)據(jù)庫表產生的,它限制了用戶能看到和修改的數(shù)據(jù)。由此可見,視圖可以用來控制用戶對數(shù)據(jù)的訪問,并能簡化數(shù)據(jù)的顯示,即通過視圖只顯示那些需要的數(shù)據(jù)信息。數(shù)據(jù)庫對象4.圖表(Diagram)圖表其實就是數(shù)據(jù)庫表之間的關系示意圖。利用它可以編輯表與表之間的關系。5.缺省值(Default)缺省值是當在表中創(chuàng)建列或插入數(shù)據(jù)時,對沒有指定其具體值的列或列數(shù)據(jù)項賦予事先設定好的值。數(shù)據(jù)庫對象6.觸發(fā)器觸發(fā)器由事件來觸發(fā),可以查詢其他表,而且可以包含復雜的SQL語句。它們主要用于強制服從復雜的業(yè)務規(guī)則或要求。也可用于強制引用完整性,以便在多個表中添加、更新或刪除行時,保留在這些表之間所定義的關系。實際上觸發(fā)器就是一個用戶定義的SQL事務命令的集合。數(shù)據(jù)庫對象

觸發(fā)器(trigger)是SQLserver提供給程序員和數(shù)據(jù)分析員來保證數(shù)據(jù)完整性的一種方法,它是與表事件相關的特殊的存儲過程,它的執(zhí)行不是由程序調用,也不是手工啟動,而是由事件來觸發(fā),比如當對一個表進行操作(insert,delete,update)時就會激活它執(zhí)行。

數(shù)據(jù)庫對象優(yōu)點觸發(fā)器可通過數(shù)據(jù)庫中的相關表實現(xiàn)級聯(lián)更改,不過通過級聯(lián)引用完整性約束可以更有效地執(zhí)行這些更改。觸發(fā)器可以強制用比CHECK約束定義的約束更為復雜的約束。與CHECK約束不同,觸發(fā)器可以引用其它表中的列。數(shù)據(jù)庫對象優(yōu)點觸發(fā)器可通過數(shù)據(jù)庫中的相關表實現(xiàn)級聯(lián)更改,不過,通過級聯(lián)引用完整性約束可以更有效地執(zhí)行這些更改。觸發(fā)器可以強制用比CHECK約束定義的約束更為復雜的約束。與CHECK約束不同,觸發(fā)器可以引用其它表中的列。數(shù)據(jù)庫對象例如,觸發(fā)器可以使用另一個表中的SELECT比較插入或更新的數(shù)據(jù),以及執(zhí)行其它操作,如修改數(shù)據(jù)或顯示用戶定義錯誤信息。觸發(fā)器也可以評估數(shù)據(jù)修改前后的表狀態(tài),并根據(jù)其差異采取對策。一個表中的多個同類觸發(fā)器(INSERT、UPDATE或DELETE)允許采取多個不同的對策以響應同一個修改語句。數(shù)據(jù)庫對象慎用觸發(fā)器觸發(fā)器功能強大,觸發(fā)器本身沒有過錯,但由于我們的濫用會造成數(shù)據(jù)庫及應用程序的維護困難。如果我們對觸發(fā)器過分的依賴,勢必影響數(shù)據(jù)庫的結構,同時增加了維護的復雜程度。數(shù)據(jù)庫對象7.存儲過程(StoredProcedure)存儲過程(StoredProcedure)是在大型數(shù)據(jù)庫系統(tǒng)中,一組為了完成特定功能的SQL語句集,存儲在數(shù)據(jù)庫中,經(jīng)過第一次編譯后再次調用不需要再次編譯,用戶通過指定存儲過程的名字并給出參數(shù)(如果該存儲過程帶有參數(shù))來執(zhí)行它。存儲過程是數(shù)據(jù)庫中的一個重要對象。數(shù)據(jù)庫對象觸發(fā)器與存儲過程的主要區(qū)別在于觸發(fā)器的運行方式。存儲過程必須有用戶、應用程序或者觸發(fā)器來顯示的調用并執(zhí)行,而觸發(fā)器是當特定時間出現(xiàn)的時候,自動執(zhí)行或者激活的,與連接用數(shù)據(jù)庫中的用戶、或者應用程序無關。數(shù)據(jù)庫對象當一行被插入、更新或者刪除時觸發(fā)器才執(zhí)行,同時還取決于

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論