|
-- 會員 / 註冊 --
|
|
|
|
大話數據庫 ( 簡體 字) |
作者:鄒茂揚、田洪川 | 類別:1. -> 資料庫 -> SQL語言 |
譯者: |
出版社:清華大學出版社 | 3dWoo書號: 34826 詢問書籍請說出此書號!【缺書】 NT售價: 295 元 |
出版日:1/17/2013 |
頁數:462 |
光碟數:0 |
|
站長推薦: |
印刷:黑白印刷 | 語系: ( 簡體 版 ) |
|
加入購物車 │加到我的最愛 (請先登入會員) |
ISBN:9787302305712 |
作者序 | 譯者序 | 前言 | 內容簡介 | 目錄 | 序 |
(簡體書上所述之下載連結耗時費功, 恕不適用在台灣, 若讀者需要請自行嘗試, 恕不保證) |
作者序: |
譯者序: |
前言:只有枯燥的教材,沒有枯燥的編程 ——天轟穿 “編程很枯燥!”是這句話是我要寫一套編程類入門書籍的主要誘因。 而數據庫則是作為進入編程世界的一個重要“關卡”,為什么這么說,首先,因為所有編程語言到了實際應用階段都無法避免地與數據庫打交道;其次,數據庫是體現編程藝術的一個重要平臺;另外,學好數據庫,會使你以后學習其他語言的時候事半功倍。 而能否讓你學得輕松、學得扎實就成為了一個至關重要的條件,這也是本書的宗旨。 通過學習本書,你能夠在嬉笑怒罵的環境中輕松掌握數據存儲原理、數據庫設計技巧以及大量數據庫編程的實戰經驗,更重要的是能夠掌握一種優秀的學習方法、解決問題的思路和思考的方式。這些經驗和技巧得益于我和鄒老師兩人加起來近25年的項目開發和教育培訓經歷。 本書特色 這不是一本以傳統順序堆砌而成的書 1.本書以最有效的教學思路講解數據庫的每一個知識點,完全以初學者的思維方式提出疑問再深入答疑。這也許不是一本傳統的教科書,但絕對是自學數據庫的首選書籍。 2.本書并非嚴格將數據庫知識分類整理講解,而是按照初學者的思維習慣,將每一個知識點放在最恰當的位置,所以單看目錄,會感覺知識的排列不像同類書那樣“井井有條”。 3.本書采用【老田、小天】二人對話的形式講解,其中不乏詼諧幽默的問題和解答,避免對知識點生搬硬套。 4.本書總是提出問題再來解釋,通過解釋的過程來講解新的知識。這樣極大地避免了知識點的生硬出現,轉而將學習的過程變成了解決問題的過程,同時也復習的相關其他知識點。 5.本書中出現的專業術語隨著知識的深入而出現,故盡量從頭開始閱讀。 6.每章最后的“每日一練”中提出的問題常常有錯誤的問法夾雜其中,在這種題下面會緊跟著一道題,要求你將前一個題修改正確,極大避免了填鴨式教學,讓你想不思考都不行。 7.本書配備對應的視頻教程,去百度谷歌“天轟穿趣味編程”就可以找到,或者去學云網搜“天轟穿”。 這是一本教會你學習方法的書 ? 學習方式是按照初學者的理解方式,看實例→提出問題→解答問題; ? 通過對小天提出問題的解答來引導學員的思考和學習; ? 學習時間按“天”計算; ? 每章均有本章學習線路提示。 讀者定位 ? 希望靠一本書從頭到尾自學的零基礎學員; ? 培訓講師的備課資料,因為這本書總結了我們培訓過程所遇到的問題和學生會問的問題、有疑慮的地方; ? 自覺性不高的學員。
關于本書的創作起點與過程 我在2006年制作了《天轟穿VS 2005入門.Net2.0系列視頻教程》,其“非主流”的講授風格受到大部分兄弟姐妹的肯定。截至目前,該視頻在6年時間,已知的瀏覽量超過1000萬次。 從2007年開始做培訓,直到現在,我帶過完全零基礎的社招培訓班、去高校上過專業課、去企業做過專題培訓,也做了大量的以“天轟穿”命名的視頻教程。在積累了大量實體培訓和與網絡學員交互培訓的經驗后,我再次萌生了要寫一套專門給自學的兄弟姐妹的教材,于是和成都信息工程學院鄒茂楊老師聯合編寫了這本書。 我不想太多去談這本書怎么樣,但當你翻開本書,那些無傷大雅的小幽默和深入淺出的實例引導會讓您覺得選擇這本“由初中生+高校教授的詭異組合”撰寫的教材來學習數據庫是對的。因為本書不僅是我個人自學技巧和教學經驗的深度體現,還是鄒茂楊老師十余年教學經驗的總結和匯聚。 近幾年,常常有去一些企業和高校做講座的機會,總有學員問:“川哥,我英語不好,能學好編程嗎?我數學不好,能學好編程嗎”。我的回答永遠都是:“只要你努力,只要你堅持,就肯定能學好編程”。 ? 因為你底子再差,不會比我這個初中生更差; ? 因為你英語再差,不會比我這個初中英語最高成績就沒不及格過的家伙差; ? 因為你數學再差,不會比我這個因為不會計算圓柱體面積而被老師罵的刺頭更差。 我從1999年第一次接觸計算機,從連鼠標都不會玩的土包子到做出自己的網站用了不到一年(一個純靜態頁面組成的圖片網站),再從只會做HTML頁面到做出第一個ASP的留言本用了一年,之后多次閉關學習新技術(最狠的一次為了管住自己的雙腳,把眉毛剃掉)。 回想寫這本書的過程,眼眶濕了。雖然今天已經是學云網CEO,但作為一個1996年初中畢業就混社會的農村小伙子而言,這一路走來,有歡笑也有淚水,但更多是汗水。由此得出一個結論,要學好編程,不在于你智商多高,而取決于你能否堅持,取決于你是否勤奮。編程不是看書、看視頻就能學會了,而是靠大量的練習——不斷舉一反三的練習。 出社會后這十幾年,我養成了一個習慣,無論做什么事都會全力以赴(如果做不到,就人為斬斷自己的一切退路),寫本書的時候也一樣,我辭去公司的講師工作、推掉所有找上門的外包項目和一些高校的課程安排,期間僅靠老婆的工資和我去企業做培訓的收入來糊口,過程中也有兩周寫不完一章的情況,由于想不出更好的辦法來將深奧的知識講得足夠有趣,很多時候覺得自己很笨、很失敗,很想放棄。但在老婆和朋友們的鼓勵下,我堅持了下來。在此,感謝我親愛的老婆,感謝這一路走來所有支持我、理解我、鼓勵我的兄弟姐妹們!謝謝你們!!!
|
內容簡介:本書是一本獨特的數據庫入門書,以最有效的教學思路講解數據庫的每一個知識點,完全以初學者的思維方式提出疑問再深入答疑。這也許不是一本傳統的教科書,但絕對是自學數據庫的首選書籍。本書采用【老田、小天】二人對話的形式講解,其中不乏詼諧幽默的問題和解答,避免對知識點生搬硬套。 通過學習本書,你能夠在嬉笑怒罵的環境中輕松掌握數據存儲原理、數據庫設計技巧以及大量數據庫編程的實戰經驗,更重要的是能夠掌握一種優秀的學習方法、解決問題的思路和思考的方式。這些經驗和技巧得益于我和鄒老師兩人加起來近25年的項目開發和教育培訓經歷。 本書第一部分對于數據庫的創建、備份、配置、安全等做詳細介紹,通過這部分學習,可以掌握關系數據庫的基礎,以及對數據庫的日常維護操作;本書第二部分對于分析項目需求,創建表,然后使用T-SQL語句和存儲過程對表中數據做各種操作等做詳細講解,通過這一部分的學習,可以掌握對數據庫的基本應用,熟練使用T-SQL語言建庫、建表、T-SQL查詢、高級檢索、存儲過程、性能優化技巧等; 讀者對象:希望靠一本書從頭到尾自學的零基礎學員;培訓講師的備課資料,因為這本書總結了我們培訓過程所遇到的問題和學生會問的問題、有疑慮的地方;自覺性不高的學員。
|
目錄:第一部分 關系型數據庫基礎
第1章 概述 3 1.1 什么是數據庫 4 1.2 為什么要使用數據庫 4 1.3 數據庫的基本概念 6 1.4 數據庫的歷史 7 1.5 關系數據庫 8 1.6 為什么選擇SQL Server 9 1.7 SQL語言 10 1.8 SQL標準 11 1.9 10分鐘探索IDE 12 1.9.1 啟動和登錄SQL Server Management Studio 14 1.9.2 修改登錄驗證模式 15 1.9.3 注冊數據庫服務器 18 1.9.4 修改數據庫服務器屬性 18 1.9.5 啟動和停止服務器 19 1.9.6 創建查詢 19 1.9.7 使用指定數據庫 19 本章小結 20 問題 20 第2章 創建和維護數據庫 21 2.1 系統數據庫 23 2.1.1 修改系統數據 23 2.1.2 查看系統數據 24 2.2 創建數據庫 24 2.2.1 使用Transact-SQL 語句創建數據庫 25 2.2.2 查看數據庫文件屬性 27 2.3 數據庫文件和文件組 28 2.3.1 數據庫文件的類型 29 2.3.2 文件組 29 2.3.3 刪除數據庫文件 31 2.3.4 管理文件組 32 2.3.5 文件組的填充策略 33 2.3.6 優化數據庫的策略 34 2.3.7 文件狀態 35 2.4 數據庫狀態和選項 35 2.5 查看數據庫 37 2.6 刪除數據庫 38 2.7 修改數據庫 39 2.7.1 修改數據庫名稱 39 2.7.2 擴展數據庫 40 2.7.3 收縮數據庫 42 2.8 數據庫快照 44 2.8.1 數據庫快照的應用 45 2.8.2 數據庫快照的原理 46 2.8.3 管理數據庫快照 48 2.9 分離和附加數據庫 51 2.9.1 分離數據庫 51 2.9.2 附加數據庫 52 2.10 移動數據庫文件 54 2.11 移動和復制數據庫 55 2.12 備份和還原數據庫 57 2.12.1 備份數據庫 58 2.12.2 還原數據庫 60 本章小結 62 問題 63
第二部分 設計、實現和使用數據庫
第3章 Transact-SQL語言 67 3.1 SQL與Transact-SQL語言 概述方式 69 3.2 Transact-SQL語言的執行 方式與調試 71 3.2.1 調試代碼 73 3.2.2 調試Transact-SQL代碼 74 3.3 數據定義語言(DDL) 75 3.4 數據操縱語言(DML) 76 3.5 數據庫控制語言(DCL) 78 3.6 附加的語言元素 78 3.6.1 標識符和命名規范 79 3.6.2 局部變量 81 3.6.3 全局變量 82 3.6.4 運算符 83 3.6.5 表達式 88 3.6.6 注釋 88 3.7 數據類型 90 3.7.1 字符數據類型 91 3.7.2 數字數據類型 93 3.7.3 日期和時間數據類型 95 3.7.4 二進制數據類型 97 3.7.5 其他數據類型 98 3.7.6 用戶自定義數據類型 100 3.8 內置函數 103 3.8.1 概述 103 3.8.2 如何查看SQL Server幫助 中的語法 104 3.8.3 如何使用函數 109 3.8.4 函數類型 111 本章小結 133 問題 134 第4章 創建與維護表 135 4.1 概述 137 4.2 設計表時應該考慮的因素 137 4.3 E-R模型 140 4.3.1 概述 141 4.3.2 屬性和主鍵 142 4.3.3 外鍵 143 4.3.4 聯系 145 4.3.5 關系規范化 147 4.4 利用PowerDesigner設計 數據庫 150 4.4.1 PowerDesigner說明和 模型設置 150 4.4.2 創建概念數據模型實體 153 4.4.3 創建概念數據模型關系 154 4.4.4 從概念數據模型到生成物理 數據模型 155 4.4.5 創建物理數據模型 157 4.4.6 更新已有的物理 數據模型 157 4.4.7 生成數據庫腳本 158 4.5 表的基本特點和類型 159 4.5.1 表的特點 160 4.5.2 表的類型 160 4.6 創建和修改表 161 4.6.1 創建普通表 161 4.6.2 創建臨時表 165 4.6.3 創建分區表 166 4.6.4 增加和刪除列 171 4.6.5 修改列 173 4.6.6 創建和修改列標識符 174 4.6.7 查看表信息 178 4.6.8 刪除表 179 4.7 約束 180 4.7.1 主鍵約束 181 4.7.2 外鍵約束 184 4.7.3 NOT NULL約束 187 4.7.4 DEFAULT約束 188 4.7.5 CHECK約束 190 4.7.6 UNIQUE約束 191 4.7.7 禁止與刪除約束 192 本章小結 195 問題 195 第5章 操作表中的數據 197 5.1 準備工作 199 5.2 插入語句 200 5.2.1 簡單的插入語句 200 5.2.2 批量插入語句 204 5.3 檢索數據 207 5.3.1 選擇數據列 207 5.3.2 使用文字串 207 5.3.3 改變列標題 208 5.3.4 數據運算 209 5.3.5 使用ALL與DISTINCT 關鍵字 210 5.3.6 使用TOP關鍵字 212 5.3.7 排序 213 5.4 WHERE子句 216 5.4.1 簡單條件查詢 216 5.4.2 模糊查詢 216 5.4.3 復合條件查詢 218 5.4.4 使用IN子句 219 5.4.5 使用BETWEEN子句 220 5.4.6 空值與非空值 221 5.5 修改語句 222 5.6 刪除語句 223 本章小結 224 問題 224 第6章 高級檢索技術 225 6.1 聚合技術 228 6.1.1 SELECT子句中的聚合 228 6.1.2 COMPUTE子句中 的聚合 229 6.2 分組數據 230 6.2.1 普通分組 231 6.2.2 使用HAVING子句 234 6.2.3 使用ROLLUP和CUBE 234 6.3 聯合查詢 237 6.4 連接查詢 240 6.4.1 內連接 241 6.4.2 外連接 243 6.4.3 交叉連接 246 6.4.4 自連接 247 6.5 子查詢技術 248 6.5.1 使用IN和NOT IN 的 子查詢 248 6.5.2 ANY、ALL等比較運算符 的使用 249 6.5.3 使用EXISTS關鍵字 250 6.5.4 子查詢的規則 251 本章小結 252 問題 252 階段作業 252 第7章 索引 253 7.1 概述 255 7.1.1 表組織 256 7.1.2 堆 257 7.1.3 B樹 258 7.2 索引的優缺點 258 7.3 索引的類型 260 7.3.1 聚集索引 260 7.3.2 非聚集索引 261 7.4 索引的屬性 263 7.4.1 唯一性索引 263 7.4.2 復合索引 264 7.5 創建索引 264 7.5.1 使用向導創建索引 265 7.5.2 使用CREATE INDEX 語句創建索引 267 7.5.3 索引的選項 269 7.6 維護索引 270 7.6.1 查看索引碎片 270 7.6.2 重建索引 271 7.6.3 統計信息 271 7.6.4 查看索引 274 7.6.5 修改索引 274 7.6.6 刪除索引 276 本章小結 278 問題 280 第8章 視圖 281 8.1 概述 283 8.1.1 為什么需要視圖 283 8.1.2 什么是視圖 283 8.2 視圖的優缺點 285 8.3 創建視圖 286 8.3.1 創建視圖的基本原則 287 8.3.2 使用SQL Server Management Studio 創建視圖 288 8.3.3 使用Transact-SQL 命令創建視圖 291 8.4 使用視圖 292 8.5 查看視圖 293 8.6 加密視圖 294 8.7 修改視圖 294 8.8 刪除視圖 295 8.9 重命名視圖 295 8.10 通過視圖更新數據 296 8.10.1 通過視圖插入數據 296 8.10.2 使用UPDATE修改 數據 297 本章小結 298 問題 298 第9章 SQL編程及高級應用 299 9.1 概述 301 9.2 流程控制語句 301 9.2.1 IF…ELSE…語句 302 9.2.2 BEGIN…END語句 303 9.2.3 GOTO語句 305 9.2.4 WHILE BREAK和 CONTINUE語句 306 9.2.5 CASE語句 309 9.2.6 WAITFOR語句 311 9.3 游標 312 9.3.1 游標的類型 313 9.3.2 選擇游標類型的原則 315 9.3.3 游標的生命周期 315 9.3.4 實現Transact-SQL游標 316 9.4 用戶自定義函數 327 9.4.1 創建用戶自定義函數的 思考 330 9.4.2 用戶自定義函數的分類 331 9.4.3 創建及使用用戶自定義 函數 332 9.4.4 維護用戶自定義函數 338 本章小結 339 問題 339 第10章 存儲過程 341 10.1 概述 343 10.2 存儲過程的優點 344 10.3 存儲過程的分類 345 10.3.1 系統存儲過程 345 10.3.2 API存儲過程 346 10.3.3 用戶自定義存儲過程 347 10.4 創建存儲過程 348 10.4.1 創建存儲過程應考慮 的因素 348 10.4.2 創建存儲過程的語法 350 10.4.3 創建不帶參數的 存儲過程 352 10.4.4 創建帶參數的存儲過程 353 10.4.5 創建返回值的存儲過程 358 10.4.6 創建帶有OUTPUT參數 的存儲過程 361 10.4.7 使用SQL Server Management Studio 創建存儲過程 362 10.5 維護存儲過程 362 10.5.1 查看存儲過程信息 363 10.5.2 加密存儲過程 363 10.5.3 修改、刪除存儲過程 364 10.6 存儲過程進階知識 364 10.6.1 存儲過程的執行過程 365 10.6.2 存儲過程命名 366 本章小結 366 問題 367 第11章 觸發器 369 11.1 概述 371 11.1.1 觸發器與約束規則 372 11.1.2 觸發器的優缺點 373 11.2 觸發器的分類 374 11.2.1 DDL觸發器 374 11.2.2 登錄觸發器 375 11.2.3 DML觸發器 377 11.3 創建觸發器 379 11.3.1 創建DDL觸發器 379 11.3.2 可觸發DDL觸發器 的事件 382 11.3.3 維護觸發器 386 11.4 創建DML觸發器 387 11.4.1 創建DML觸發器 的語法 388 11.4.2 創建DML觸發器需要 考慮的因素 389 11.4.3 創建DML觸發器 391 11.5 DML觸發器嵌套 394 本章小結 397 問題 397 第12章 事務和鎖 399 12.1 事務概述 401 12.1.1 概念 401 12.1.2 屬性 401 12.2 創建事務 402 12.2.1 使用事務考慮的因素 403 12.2.2 事務的聲明和提交 404 12.2.3 事務的回滾 407 12.2.4 查看當前執行中的事務 409 12.2.5 事務的嵌套 410 12.3 事務的工作原理 412 12.4 鎖定和行版本控制 413 12.5 鎖定的分類 415 12.6 鎖的自動優化 419 12.6.1 升級閾值 420 12.7 死鎖 422 12.7.1 死鎖的概念 422 12.7.2 產生死鎖的主要原因 和必要條件 423 12.7.3 減少和預防死鎖 424 12.7.4 檢測死鎖 426 12.7.5 設置鎖的優先級 430 本章小結 432 問題 432 第13章 全文索引 433 13.1 概述 435 13.2 全文索引概念 435 13.2.1 全文索引與查詢 436 13.2.2 全文索引引擎 437 13.3 全 文 目 錄 438 13.3.1 創建全文目錄 438 13.3.2 修改全文目錄 440 13.3.3 查看全文目錄 442 13.4 管理全文索引 443 13.4.1 創建全文索引需要考慮 的因素 443 13.4.2 創建全文索引 445 13.4.3 查看全文索引 449 13.4.4 修改和刪除全文索引 450 13.4.5 填充全文索引 451 13.5 使用全文索引 452 13.5.1 使用全文謂詞CONTAINS 和FREETEXT 查詢概述 454 13.5.2 使用CONTAINS謂詞的 簡單搜索 454 13.5.3 使用CONTAINS謂詞 的派生詞搜索 455 13.5.4 使用CONTAINS謂詞 的前綴詞搜索 456 13.5.5 使用CONTAINS謂詞的 鄰近詞搜索 457 13.5.6 使用CONTAINS謂詞的 加權詞搜索 457 13.5.7 使用FREETEXT查詢 458 13.5.8 使用CONTAINSTABLE 函數搜索 459 13.5.9 使用FREETEXTTABLE 函數搜索 461 13.6 檢索二進制列 461 本章小結 462 問題 463 結束語 464
|
序: |
|