出版時間:2010-6 出版社:北京大學(xué)出版社 作者:賈艷宇 編 頁數(shù):328 字?jǐn)?shù):492000
前言
數(shù)據(jù)庫技術(shù)人員包括數(shù)據(jù)庫設(shè)計人員、數(shù)據(jù)庫管理員和數(shù)據(jù)庫開發(fā)人員等,要成為合格的數(shù)據(jù)庫技術(shù)人員,僅掌握“如何做”的技術(shù)是不夠的,更重要的是理解和掌握“為什么這樣做”的原理和技術(shù),這就必須熟悉數(shù)據(jù)庫設(shè)計、管理和開發(fā)的各種知識及技能。本書依據(jù)數(shù)據(jù)庫技術(shù)人員所需的有關(guān)知識及技能,將有關(guān)的知識與技術(shù)融合在一個項目中,并通過逐步實現(xiàn)這個項目,帶領(lǐng)讀者-步步進(jìn)入數(shù)據(jù)庫技術(shù)的奇妙世界?! ”緯诰帉戇^程中,努力突出基礎(chǔ)性和實踐性,力求做到講解原理通俗易懂、深入淺出,使讀者既掌握較扎實的基礎(chǔ)知識,又能較快地掌握數(shù)據(jù)庫應(yīng)用的技術(shù)。按照設(shè)計-創(chuàng)建-操作-管理-開發(fā)的線索,針對數(shù)據(jù)庫技術(shù)人員所需的基礎(chǔ)知識和技能,全書內(nèi)容分為5個模塊、11個任務(wù),分別如下?! ∧K-,設(shè)計數(shù)據(jù)庫,本模塊包含任務(wù)1“設(shè)計數(shù)據(jù)庫”,主要介紹任何想要使用數(shù)據(jù)庫的人都必須要理解的一些基本概念和基本原理,也介紹設(shè)計關(guān)系數(shù)據(jù)庫的關(guān)鍵步驟、方法以及-些技巧。最后帶領(lǐng)讀者-步步實現(xiàn)項目中涉及的數(shù)據(jù)庫設(shè)計方案?! ∧K二,創(chuàng)建數(shù)據(jù)庫,本模塊包含任務(wù)2“創(chuàng)建數(shù)據(jù)庫”和任務(wù)3“創(chuàng)建表”。任務(wù)2介紹操作數(shù)據(jù)庫的語言(SQL語言)和創(chuàng)建數(shù)據(jù)庫的方法;任務(wù)3介紹在特定數(shù)據(jù)庫中創(chuàng)建表的方法,同時也介紹數(shù)據(jù)完整性、規(guī)則和默認(rèn)的應(yīng)用。 模塊三,操作數(shù)據(jù)庫,本模塊包含任務(wù)4“查詢數(shù)據(jù)”和任務(wù)5“管理和維護(hù)數(shù)據(jù)”。任務(wù)4介紹使用SQL語言查詢數(shù)據(jù)的方法以及視圖和索引的應(yīng)用;任務(wù)5介紹在特定數(shù)據(jù)庫中管理數(shù)據(jù)的方法,包括插入數(shù)據(jù)、更新數(shù)據(jù)和刪除數(shù)據(jù)?! ∧K四,管理數(shù)據(jù)庫,本模塊包含任務(wù)6“數(shù)據(jù)庫安全管理”和任務(wù)7“數(shù)據(jù)備份與轉(zhuǎn)換”。任務(wù)6介紹數(shù)據(jù)庫安全管理的方法;任務(wù)7介紹管理、維護(hù)數(shù)據(jù)庫的方法,包括備份和還原數(shù)據(jù)庫、分離和附加數(shù)據(jù)庫以及導(dǎo)入和導(dǎo)出數(shù)據(jù)。模塊五,開發(fā)數(shù)據(jù)庫,本模塊包含任務(wù)8“學(xué)習(xí)T.SQL編程知識”、任務(wù)9“開發(fā)存儲過程”、任務(wù)10“實現(xiàn)觸發(fā)器”和任務(wù)11“實現(xiàn)用戶定義函數(shù)”。任務(wù)8主要介紹開發(fā)存儲過程、觸發(fā)器、用戶定義函數(shù)所需的編程基礎(chǔ)知識;任務(wù)9介紹創(chuàng)建、執(zhí)行和管理存儲過程的方法;任務(wù)10介紹創(chuàng)建和管理觸發(fā)器,以及使用觸發(fā)器實現(xiàn)數(shù)據(jù)完整性的知識;任務(wù)11介紹創(chuàng)建和調(diào)用用戶定義函數(shù)的內(nèi)容。 本書的每個任務(wù)內(nèi)容由學(xué)習(xí)目標(biāo)、項目描述、工作任務(wù)、獨(dú)立實驗、閱讀材料、小結(jié)等部分組成,以幫助讀者了解工作任務(wù)要求、明確學(xué)習(xí)目標(biāo)、鞏固學(xué)習(xí)成果、強(qiáng)化職業(yè)技能,并將知識和技能轉(zhuǎn)化為經(jīng)驗和工作能力。
內(nèi)容概要
在主流關(guān)系數(shù)據(jù)庫管理系統(tǒng)中,SQL server是較為易用且功能強(qiáng)大的一種。本書結(jié)合一個項目實例,使初學(xué)者可以圍繞一個主線快速入門,由淺入深地學(xué)習(xí);本書為讀者刻畫關(guān)于數(shù)據(jù)庫技術(shù)的清晰輪廓,使讀者了解數(shù)據(jù)庫技術(shù)可以做什么,以及如何使用SQL Server數(shù)據(jù)庫來滿足用戶的需要。本書的最大特點就是所講授的內(nèi)容與實例緊密結(jié)合,幫助讀者更好地領(lǐng)會數(shù)據(jù)庫設(shè)計、開發(fā)和使用的技術(shù)及技巧。通過學(xué)習(xí)本書,讀者可以在較短的時間內(nèi)掌握數(shù)據(jù)庫技術(shù)人員所需的數(shù)據(jù)庫基礎(chǔ)知識及技能,盡快進(jìn)入職業(yè)狀態(tài)。 本書可作為高職高專計算機(jī)相關(guān)專業(yè)的數(shù)據(jù)庫課程教材,也可供對數(shù)據(jù)庫技術(shù)有興趣的人士自學(xué)使用。
書籍目錄
任務(wù)1 設(shè)計數(shù)據(jù)庫 1.1 子任務(wù):理解數(shù)據(jù)庫 1.1.1 數(shù)據(jù)庫的概念 1.1.2 數(shù)據(jù)庫系統(tǒng)的組成和結(jié)構(gòu) 1.1.3 數(shù)據(jù)庫管理系統(tǒng)及其功能 1.2 子任務(wù):學(xué)習(xí)數(shù)據(jù)模型和關(guān)系運(yùn)算 1.2.1 數(shù)據(jù)模型 1.2.2 實體關(guān)系模型 1.2.3 關(guān)系模型 1.2.4 關(guān)系運(yùn)算 1.3 子任務(wù):數(shù)據(jù)庫設(shè)計 1.3.1 收集數(shù)據(jù) 1.3.2 創(chuàng)建E-R模型 1.3.3 創(chuàng)建數(shù)據(jù)庫模型 1.3.4 規(guī)范化數(shù)據(jù) 1.3.5 設(shè)計表 1.4 實現(xiàn)項目的子任務(wù)——設(shè)計數(shù)據(jù)庫 實驗1:設(shè)計數(shù)據(jù)庫 閱讀材料:數(shù)據(jù)庫技術(shù)的發(fā)展 小結(jié) 習(xí)題任務(wù)2 創(chuàng)建數(shù)據(jù)庫 2.1 子任務(wù):學(xué)習(xí)結(jié)構(gòu)化查詢語言 2.1.1 T-SQL的組成 2.1.2 T-SQL語法約定 2.2 子任務(wù):理解數(shù)據(jù)庫存儲結(jié)構(gòu) 2.2.1 系統(tǒng)數(shù)據(jù)庫 2.2.2 數(shù)據(jù)庫文件和文件組 2.3 子任務(wù):創(chuàng)建數(shù)據(jù)庫 2.3.1 使用SSMS創(chuàng)建數(shù)據(jù)庫 2.3.2 使用查詢編輯器創(chuàng)建數(shù)據(jù)庫 2.4 子任務(wù):查看和修改數(shù)據(jù)庫 2.4.1 查看數(shù)據(jù)庫信息 2.4.2 修改數(shù)據(jù)庫 2.4.3 刪除數(shù)據(jù)庫 2.5 實現(xiàn)項目的子任務(wù)——創(chuàng)建數(shù)據(jù)庫 實驗2:創(chuàng)建和修改數(shù)據(jù)庫 閱讀材料:SSMS概覽 小結(jié) 習(xí)題任務(wù)3 創(chuàng)建表 3.1 子任務(wù):熟悉數(shù)據(jù)類型 3.1.1 系統(tǒng)數(shù)據(jù)類型 3.1.2 用戶自定義數(shù)據(jù)類型 3.2 子任務(wù):創(chuàng)建表 3.2.1 使用SSMS創(chuàng)建表 3.2.2 使用查詢編輯器創(chuàng)建表 3.2.3 使用模板創(chuàng)建表 3.3 子任務(wù):實現(xiàn)數(shù)據(jù)完整性 3.3.1 理解數(shù)據(jù)完整性 3.3.2 使用約束 3.3.3 使用規(guī)則 3.3.4 使用默認(rèn) 3.4 子任務(wù):查看和修改表 3.4.1 查看表信息 3.4.2 修改表定義 3.4.3 刪除表 3.5 實現(xiàn)項目的子任務(wù)——創(chuàng)建表 實驗3:創(chuàng)建和修改表 閱讀材料:規(guī)劃表 小結(jié) 習(xí)題任務(wù)4 查詢數(shù)據(jù) 4.1 子任務(wù):單表數(shù)據(jù)查詢 4.1.1 簡單查詢 4.1.2 WHERE子句 4.1.3 ORDER BY子句 4.1.4 函數(shù)和表達(dá)式 4.1.5 數(shù)據(jù)匯總 4.2 子任務(wù):使用連接和聯(lián)合 4.2.1 連接查詢 4.2.2 聯(lián)合查詢 4.3 子任務(wù):使用子查詢 4.3.1 嵌套子查詢 4.3.2 相關(guān)子查詢 4.3.3 測試存在性的子查詢 4.4 子任務(wù):使用索引查詢數(shù)據(jù) 4.4.1 理解索引 4.4.2 創(chuàng)建和維護(hù)索引 4.5 子任務(wù):使用視圖查詢數(shù)據(jù) 4.5.1 理解視圖 4.5.2 創(chuàng)建和修改視圖 4.5.3 為視圖創(chuàng)建索引 4.5.4 刪除視圖 4.6 實現(xiàn)項目的子任務(wù)——創(chuàng)建索引和視圖 實驗4:實現(xiàn)索引和視圖 閱讀材料:優(yōu)化查詢 小結(jié) 習(xí)題任務(wù)5 管理和維護(hù)數(shù)據(jù) 5.1 子任務(wù):插入數(shù)據(jù) 5.1.1 基本INSERT語句 5.1.2 插入多條記錄 5.2 子任務(wù):更新數(shù)據(jù) 5.2.1 UPDATE語句 5.2.2 使用子查詢 5.2.3 使用視圖更新數(shù)據(jù) 5.3 子任務(wù):刪除數(shù)據(jù) 5.3.1 DELETE語句 5.3.2 截斷表 5.3.3 使用子查詢 5.4 子任務(wù):使用事務(wù)維護(hù)數(shù)據(jù) 5.4.1 理解事務(wù) 5.4.2 使用事務(wù)更新數(shù)據(jù) 5.5 實現(xiàn)項目的子任務(wù)——管理和維護(hù)數(shù)據(jù) 實驗5:操作數(shù)據(jù) 閱讀材料:安裝SQL Server 2005 數(shù)據(jù)庫 小結(jié) 習(xí)題任務(wù)6 數(shù)據(jù)庫安全管理 6.1 子任務(wù):登錄管理 6.1.1 理解SQL Server安全 6.1.2 Windows身份驗證 6.1.3 SQL Server身份驗證 6.2 子任務(wù):用戶管理 6.2.1 使用T-SQL代碼管理用戶 6.2.2 使用SSMS管理用戶 6.3 子任務(wù):角色管理 6.3.1 理解角色 6.3.2 管理角色 6.4 實現(xiàn)項目的子任務(wù)——保證數(shù)據(jù)安全 實驗6:實現(xiàn)數(shù)據(jù)庫安全 閱讀材料:規(guī)劃SQL Server的安全性 小結(jié) 習(xí)題任務(wù)7 數(shù)據(jù)備份與轉(zhuǎn)換 7.1 子任務(wù):備份和還原數(shù)據(jù)庫 7.1.1 理解備份 7.1.2 備份數(shù)據(jù)庫 7.1.3 還原數(shù)據(jù)庫 7.2 子任務(wù):分離和附加數(shù)據(jù)庫 7.2.1 分離數(shù)據(jù)庫 7.2.2 附加數(shù)據(jù)庫 7.3 子任務(wù):導(dǎo)出和導(dǎo)入數(shù)據(jù) 7.3.1 導(dǎo)出數(shù)據(jù) 7.3.2 導(dǎo)入數(shù)據(jù) 7.4 實現(xiàn)項目的子任務(wù)——備份數(shù)據(jù)庫 實驗7:數(shù)據(jù)備份和還原 閱讀材料:數(shù)據(jù)復(fù)制 小結(jié) 習(xí)題任務(wù)8 學(xué)習(xí)T-SQL編程知識 8.1 子任務(wù):T-SQL編程基礎(chǔ) 8.1.1 T-SQL批處理 8.1.2 格式化T-SQL代碼 8.1.3 使用變量 8.1.4 流程控制 8.2 子任務(wù):T-SQL錯誤處理 8.2.1 使用變量@@Error和@@RowCount 8.2.2 使用:RaiserrOr語句 8.2.3 使用TRYCATCH結(jié)構(gòu) 8.2.4 錯誤的嚴(yán)重級別 8.3 實現(xiàn)項目的子任務(wù)——T-SQL批處理 實驗8:T-SQL編程 閱讀材料:使用XML數(shù)據(jù) 小結(jié) 習(xí)題任務(wù)9 開發(fā)存儲過程 9.1 子任務(wù):理解存儲過程 9.1.1 什么是存儲過程 9.1.2 存儲過程的優(yōu)勢 9.2 子任務(wù):創(chuàng)建和執(zhí)行存儲過程 9.2.1 創(chuàng)建和執(zhí)行不帶參數(shù)的存儲過程 9.2.2 創(chuàng)建和執(zhí)行帶輸入?yún)?shù)的存儲過程 9.2.3 創(chuàng)建和執(zhí)行帶輸出參數(shù)的存儲過程 9.2.4 嵌套存儲過程 9.3 子任務(wù):管理存儲過程 9.3.1 修改存儲過程 9.3.2 查看存儲過程信息 9.3.3 重新編譯存儲過程 9.3.4 刪除存儲過程 9.4 實現(xiàn)項目的子任務(wù)——使用存儲過程 實驗9:實現(xiàn)存儲過程 閱讀材料:批處理、視圖和存儲過程 小結(jié) 習(xí)題任務(wù)10 實現(xiàn)觸發(fā)器 10.1 子任務(wù):觸發(fā)器簡介 10.1.1 理解觸發(fā)器 10.1.2 觸發(fā)器原理 10.2 子任務(wù):創(chuàng)建觸發(fā)器 10.2.1 INSERT觸發(fā)器 10.2.2 DELETE觸發(fā)器 10.2.3 UPDATE觸發(fā)器 10.2.4 INSTEAD OF觸發(fā)器 10.2.5 用觸發(fā)器實現(xiàn)數(shù)據(jù)完整性 10.3 子任務(wù):管理觸發(fā)器 10.3.1 修改觸發(fā)器 10.3.2 刪除觸發(fā)器 10.3.3 禁用觸發(fā)器 10.3.4 查看觸發(fā)器信息 10.4 實現(xiàn)項目的子任務(wù)——使用觸發(fā)器 實驗10:實現(xiàn)觸發(fā)器 閱讀材料:約束和觸發(fā)器 小結(jié) 習(xí)題任務(wù)11 實現(xiàn)用戶定義函數(shù) 11.1 子任務(wù):用戶定義函數(shù) 11.1.1 理解用戶定義函數(shù) 11.1.2 用戶定義函數(shù)的類型 11.2 子任務(wù):設(shè)計和實現(xiàn)用戶定義函數(shù) 11.2.1 創(chuàng)建和調(diào)用標(biāo)量函數(shù) 11.2.2 創(chuàng)建和調(diào)用內(nèi)聯(lián)表值函數(shù) 11.2.3 創(chuàng)建和調(diào)用多語句表值函數(shù) 11.2.4 將存儲過程重寫為函數(shù) 11.2.5 將函數(shù)重寫為視圖或存儲過程 11.3 子任務(wù):管理用戶定義函數(shù) 11.3.1 修改用戶定義函數(shù) 11.3.2 刪除用戶定義函數(shù) 11.3.3 查看用戶定義函數(shù) 11.4 實現(xiàn)項目的子任務(wù)——創(chuàng)建用戶定義函數(shù) 實驗11:實現(xiàn)用戶定義函數(shù) 閱讀材料:視圖、存儲過程和用戶定義函數(shù) 小結(jié) 習(xí)題參考文獻(xiàn)
章節(jié)摘錄
4.4.1理解索引 索引是一種數(shù)據(jù)庫結(jié)構(gòu),是SQL Server使用的一種內(nèi)部表結(jié)構(gòu)。它是依賴于表建立的,提供了數(shù)據(jù)庫各表中數(shù)據(jù)的排序方法。如果把數(shù)據(jù)庫看作一本書,則可以把索引看作書的目錄,通過目錄查找書中的信息,要比使用沒有目錄的書更方便、快捷?! ≡跀?shù)據(jù)庫中,一個表的存儲由兩部分組成,一部分用來存放表的數(shù)據(jù)頁面,另一部分是索引頁面。索引就存放在索引頁面上。通常,索引頁面相對于數(shù)據(jù)頁面來說小得多。當(dāng)進(jìn)行數(shù)據(jù)檢索時,系統(tǒng)先搜索索引頁面,從中找到所需數(shù)據(jù)的指針,再通過指針從數(shù)據(jù)頁面中讀取數(shù)據(jù)。SOL Server提供了兩種索引:聚集索引(CLUSTERED、ERED INDEX)和非聚集索引(NONCLUSTERED INDEX),聚集索引也稱聚類索引或簇索引,非聚集索引也稱非聚類索引或非簇索引。 1. 聚集索引和非聚集索引 舉例來說明聚集索引和非聚集索引,這正像人們使用漢語字典查字時經(jīng)常使用的兩種方法。漢語字典的正文本身就是一個聚集索引。例如,要查“安”字,很自然就會翻開字典的前幾頁。因為“安”的拼音是“an”,漢字的字典是按照拼音排序的,并以英文字母“a”開頭,以“z”結(jié)尾,那么“安”字就自然地排在字典的前部。如果翻完了所有以“a”開頭的部分仍然找不到這個字,那么就說明字典中沒有這個字;同樣的,如果查“張”字,那用戶也會將字典翻到后面的部分。因為“張”的拼音是“zhang”,字母“z”是排在字典后面的。也就是說,字典的正文部分本身就是一個目錄,不需要再去查其他目錄來找到所需要找的內(nèi)容。通常把這種正文內(nèi)容本身就是一種按照一定規(guī)則排列的目錄稱為聚集索引?! ∪绻龅揭粋€不認(rèn)識的字,不知道它的發(fā)音,就不能按照拼音的方法查找所要的字了,這時需要根據(jù)字的偏旁部首,先查到所要找的字所在的頁碼,然后再根據(jù)這個字的頁碼直接翻到某頁來找到所要找的字。但結(jié)合部首目錄和檢字表而查到的字的排序并不是真正的正文的排序方法。例如查“張”字,在查部首目錄之后的檢字表中,“張”的頁碼是第610頁,而“張”的上面是“弟”字,其頁碼是第94頁,“張”的下面是“弧”字,其頁碼卻是第188頁。很顯然,這些字并不是真正地分別位于“張”字的前后,現(xiàn)在所看到的連續(xù)的“弟、張、弧”3個字,實際上就是它們在非聚集索引中的排序,是字典正文中的字在非聚集索引中的映射。可以通過這種方式來找到所需要的字,但它需要兩個過程,先找到目錄中的結(jié)果,然后再翻到所需要的頁碼。把這種與正文排序不同的目錄(如檢字表)稱為非聚集索引?! ≡跀?shù)據(jù)庫中,索引是對數(shù)據(jù)庫表中的一列或多個列的值進(jìn)行排序的結(jié)構(gòu)。聚集索引基于數(shù)據(jù)行的鍵值在表內(nèi)排序和存儲這些數(shù)據(jù)行,也就是說,聚集索引的排序與有聚集索引的表中數(shù)據(jù)行的排序是一致的,數(shù)據(jù)行按基于聚集索引鍵的排序順序存儲。因為數(shù)據(jù)行本身只能按一個順序存儲,所以每個表只能有一個聚集索引。 ……
編輯推薦
《SQL Server數(shù)據(jù)庫基礎(chǔ)與應(yīng)用》針對性強(qiáng):切合職業(yè)教育的培養(yǎng)目標(biāo),側(cè)重技能傳授,弱化理論,強(qiáng)化實踐內(nèi)容。體例新穎:從人類常規(guī)的思維模式出發(fā),對教材的內(nèi)容編排進(jìn)行全新的嘗試,打破傳統(tǒng)教材的編寫框架;符合老師的教學(xué)要求,方便學(xué)生理解理論知識在實際中的運(yùn)用?! ?nèi)容立體:從鍛煉學(xué)生的思維能力以及運(yùn)用概念解決問題的能力出發(fā),內(nèi)容一改以往的慣例,不僅有知識的講解,部分教材還有動手操作、知識銜接、特別提示、自問自答等知識模塊?! ∽⒅厝宋模鹤⒅厝宋呐c科技的結(jié)合,在傳統(tǒng)的理論教材中適當(dāng)?shù)卦黾尤宋姆矫娴闹R,激發(fā)學(xué)生的學(xué)習(xí)興趣?! 》奖憬虒W(xué):全套教材以立體化精品教材為構(gòu)建目標(biāo),網(wǎng)上提供的電子課件、素材、源代碼和習(xí)題參考答案等教學(xué)資源。
圖書封面
評論、評分、閱讀與下載
SQL Server數(shù)據(jù)庫基礎(chǔ)與應(yīng)用 PDF格式下載