複製鏈接
請複製以下鏈接發送給好友

數據庫系統實現

鎖定
《數據庫系統實現》是2010年5月機械工業出版社出版的圖書,作者是加西亞-莫利納等。本書全面詳細的介紹了關於數據庫系統實現方面的內容。 [1] 
中文名
數據庫系統實現
作    者
加西亞-莫利納(Hector Garcia-Molina)/Jeffrey D.Ullman/Jennifer Widom
譯    者
楊冬青/吳愈青/包小源
出版社
機械工業出版社
出版時間
2010年5月
頁    數
385 頁
ISBN
9787111302872

數據庫系統實現內容簡介

本書是關於數據庫系統實現方面內容最為全面的著作之一,是美國斯坦福大學計算機科學專業數據庫系列課程第二門課程的指定教材。斯坦福大學計算機科學專業數據庫系列課程第一門課程的內容包括數據庫設計和數據庫編程。本書的後兩位作者Jeffrey D.UIIman和Jennifer Widom為該課程編寫的教材《數據庫系統基礎教程》(A First Course in Database Systems)第3版的中文翻譯版和英文影印版已由機械工業出版社出版。
本書內容深入且全面,技術實用且先進,敍述深入淺出,是一本難得的高層次的教材,適合作為高等院校計算機專業研究生的教材或本科生的教學參考書,也適合作為從事相關研究或開發工作的專業技術人員的高級參考資料。
本書從數據庫實現者的角度對數據庫系統實現原理進行了深入闡述。並具體討論了數據庫管理系統的三個主要成分——存儲管理器、查詢處理器和事務管理器的實現技術。 [1] 

數據庫系統實現作者簡介

加西亞-莫利納(Hector Garcia-Molina)斯坦福大學計算機科學與電子工程系的Leonard Bosack和Sandra Lerner教授。他在數據庫系統、分佈式系統和數字圖書館領域中發表了大量論文。研究興趣包括分佈式計算系統數據庫系統和數字圖書館。他是ACM會士、美國藝術與科學院會士和美國國家工程院成員。他在1999年獲得TACM SIGMOD創新獎。

數據庫系統實現目錄

出版者的話
譯者序
譯者簡介
出版前言
第1章dbms系統概述
1.1數據庫系統的發展
1.1.1早期的數據庫管理系統
1.1.3越來越小的系統
1.1.4越來越大的系統
1.2數據庫管理系統概述
1.2.2查詢處理概述
1.2.3主存和緩衝區管理器
1.2.4事務處理
1.2.5查詢處理器
1.3本書概述
1.4數據庫模型和語言回顧
1.4.1關係模型回顧
.1.4.2sql回顧
1.5參考文獻
第一部分數據庫系統實現
第2章輔助存儲管理
2.1存儲器層次
2.1.1存儲器層次
2.1.2在存儲器層次間傳送數據
2.1.3易失和非易失存儲器
2.1.5習題
2.2磁盤
2.2.1磁盤結構
2.2.2磁盤控制器
2.2.3磁盤存取特性
2.2.4習題
2.3加速對輔助存儲器的訪問
2.3.1計算的i/o模型
2.3.2按柱面組織數據
2.3.3使用多個磁盤
2.3.5磁盤調度和電梯算法
2.3.6預取和大規模緩衝
2.3.7習題
2.4磁盤故障
2.4.2校驗和
2.4.3穩定存儲
2.4.4穩定存儲的錯誤處理能力
2.4.5從磁盤崩潰中恢復
2.4.6作為冗餘技術的鏡像
2.4.7奇偶塊
2.4.8一種改進:raid 5
2.4.9多個盤崩潰時的處理
2.4.10習題
2.5組織磁盤上的數據
2.5.1定長記錄
2.5.2定長記錄在塊中的放置
2.5.3習題
2.6塊和記錄地址的表示
2.6.1客户機-服務器系統中的地址
2.6.2邏輯地址和結構地址
2.6.4塊返回磁盤
2.6.5被釘住的記錄和塊
2.6.6習題
2.7變長數據和記錄
2.7.1具有變長字段的記錄
2.7.2具有重複字段的記錄
2.7.3可變格式的記錄
2.7.4不能裝入一個塊中的記錄
2.7.5blob
2.7.6列存儲
2.7.7習題
2.8記錄的修改
2.8.1插入
2.8.2刪除
2.8.3修改
2.8.4習題
2.9小結
2.10參考文獻
第3章索引結構
3.1索引結構基礎
3.1.2稠密索引
3.1.3稀疏索引
3.1.5輔助索引
3.1.6輔助索引的運用
3.1.7輔助索引中的間接
3.1.8文檔檢索和倒排索引
3.1.9習題
3.2.1b-樹的結構
3.2.2b-樹的應用
3.2.3b-樹的查找
3.2.4範圍查詢
3.2.5b-樹的插入
3.2.6b-樹的刪除
3.2.7b-樹的效率
3.2.8習題
3.3散列表
3.3.1輔存散列表
3.3.2散列表的插入
3.3.3散列表的刪除
3.3.4散列表索引的效率
3.3.6可擴展散列表的插入
3.3.7線性散列表
3.3.8線性散列表的插入
3.3.9習題
3.4多維索引
3.4.1多維索引的應用
3.4.2利用傳統索引執行範圍查詢
3.4.3利用傳統索引執行最近鄰查詢
3.4.4多維索引結構綜述
3.5多維數據的散列結構
3.5.1網格文件
3.5.2網格文件的查找
3.5.3網格文件的插入
3.5.4網格文件的性能
3.5.5分段散列函數
3.5.6網格文件和分段散列的比較
3.5.7習題
3.6多維數據的樹結構
3.6.1多鍵索引
3.6.2多鍵索引的性能
3.6.3kd-樹
3.6.4kd-樹的操作
3.6.5使kd-樹適合輔助存儲器
3.6.6四叉樹
3.6.7r-樹
3.6.8r-樹的操作
3.6.9習題
3.7.1位圖索引的動機
3.7.2壓縮位圖
3.7.3分段長度編碼位向量的操作
3.7.4位圖索引的管理
3.7.5習題
3.8小結
3.9參考文獻
第4章查詢執行
4.1物理查詢計劃操作符介紹
4.1.1掃描表
4.1.2掃描表時的排序
4.1.3物理操作符計算模型
4.1.4衡量代價的參數
4.1.5掃描操作符的i/o代價
4.1.6實現物理操作符的迭代器
4.2一趟算法
4.2.1一次單個元組操作的一趟算法
4.2.2整個關係的一元操作的一趟算法
4.2.3二元操作的一趟算法
4.2.4習題
4.3嵌套循環連接
4.3.1基於元組的嵌套循環連接
4.3.2基於元組的嵌套循環連接的迭代器
4.3.3基於塊的嵌套循環連接算法
4.3.4嵌套循環連接的分析
4.3.5迄今為止的算法的總結
4.3.6習題
4.4基於排序的兩趟算法
4.4.1兩階段多路歸併排序
4.4.2利用排序去除重複
4.4.3利用排序進行分組和聚集
4.4.4基於排序的並算法
4.4.5基於排序的交和差算法
4.4.6基於排序的一個簡單的連接算法
4.4.7簡單的排序連接的分析
4.4.8一種更有效的基於排序的連接
4.4.9基於排序的算法的總結
4.4.10習題
4.5基於散列的兩趟算法
4.5.1通過散列劃分關係
4.5.2基於散列的消除重複算法
4.5.3基於散列的分組和聚集算法
4.5.4基於散列的並、交、差算法
4.5.5散列連接算法
4.5.6節省一些磁盤i/o
4.5.7基於散列的算法的總結
4.5.8習題
4.6基於索引算法
4.6.2基於索引的選擇
4.6.3使用索引的連接
4.6.4使用有序索引的連接
4.6.5習題
4.7緩衝區管理
4.7.1緩衝區管理結構
4.7.2緩衝區管理策略
4.7.3物理操作符選擇和緩衝區管理的關係
4.7.4習題
4.8使用超過兩趟的算法
4.8.1基於排序的多趟算法
4.8.2基於排序的多趟算法的性能
4.8.3基於散列的多趟算法
4.8.4基於散列的多趟算法的性能
4.8.5習題
4.9小結
4.10參考文獻
第5章查詢編譯器
5.1語法分析和預處理
5.1.1語法分析與語法分析樹
5.1.2sql的一個簡單子集的語法
5.1.3預處理器
5.1.4預處理涉及視圖的查詢
5.1.5習題
5.2用於改進查詢計劃的代數定律
5.2.1交換律與結合律
5.2.2涉及選擇的定律
5.2.3下推選擇
5.2.4涉及投影的定律
5.2.5有關連接與積的定律
5.2.6有關消除重複的定律
5.2.7涉及分組與聚集的定律
5.2.8習題
5.3從語法分析樹到邏輯查詢計劃
5.3.1轉換成關係代數
5.3.2從條件中去除子查詢
5.3.3邏輯查詢計劃的改進
5.3.4可結合/可分配的運算符的分組
5.3.5習題
5.4運算代價的估計
5.4.1中間關係大小的估計
5.4.2投影運算大小的估計
5.4.3選擇運算大小的估計
5.4.4連接運算大小的估計
5.4.5多連接屬性的自然連接
5.4.6多個關係的連接
5.4.7其他運算大小的估計
5.4.8習題
5.5基於代價的計劃選擇介紹
5.5.1大小參數估計值的獲取
5.5.2統計量的計算
5.5.3減少邏輯查詢計劃代價的啓發式估計
5.5.4枚舉物理計劃的方法
5.5.5習題
5.6連接順序的選擇
5.6.1連接的左右參數的意義
5.6.2連接樹
5.6.3左深連接樹
5.6.4通過動態規劃來選擇連接順序和分組
5.6.5帶有更具體的代價函數的動態規劃
5.6.6選擇連接順序的貪婪算法
5.6.7習題
5.7物理查詢計劃選擇的完成
5.7.1選取一個選擇方法
5.7.2選取連接方法
5.7.3流水操作與物化
5.7.4一元流水運算
5.7.5二元運算的流水操作
5.7.6物理查詢計劃的符號
5.7.7物理運算的排序
5.7.8習題
5.8小結
5.9參考文獻
第6章系統故障對策
6.1可恢復操作的問題和模型
6.1.1故障模式
6.1.2關於事務的進一步討論
6.1.3事務的正確執行
6.1.4事務的原語操作
6.1.5習題
6.2undo日誌
6.2.1日誌記錄
6.2.2undo日誌規則
6.2.3使用undo日誌的恢復
6.2.4檢查點
6.2.5非靜止檢查點
6.2.6習題
6.3redo日誌
6.3.1redo日誌規則
6.3.2使用redo日誌的恢復
6.3.3redo日誌的檢查點
6.3.4使用帶檢查點redo日誌的恢復
6.3.5習題
6.4undo/redo日誌
6.4.1undo/redo規則
6.4.2使用undo/redo日誌的恢復
6.4.3undo/redo日誌的檢查點
6.4.4習題
6.5針對介質故障的防護
6.5.1備份
6.5.2非靜止轉儲
6.5.3使用備份和日誌的恢復
6.5.4習題
6.6小結
6.7參考文獻
7.1串行調度和可串行化調度
7.1.1調度
7.1.2串行調度
7.1.3可串行化調度
7.1.4事務語義的影響
7.1.5事務和調度的一種記法
7.1.6習題
7.2衝突可串行化
7.2.1衝突
7.2.2優先圖及衝突可串行化判斷
7.2.3優先圖測試發揮作用的原因
7.2.4習題
7.3使用鎖的可串行化實現
7.3.1鎖
7.3.2封鎖調度器
7.3.4兩階段封鎖發揮作用的原因
7.3.5習題
7.4有多種鎖模式的封鎖系統
7.4.2相容性矩陣
7.4.3鎖的升級
7.4.5增量鎖
7.4.6習題
7.5封鎖調度器的一種體系結構
7.5.1插入鎖動作的調度器
7.5.2鎖表
7.5.3習題
7.6數據庫元素的層次
7.6.1多粒度的鎖
7.6.2警示鎖
7.6.3幻象與插入的正確處理
7.6.4習題
7.7樹協議
7.7.1基於樹的封鎖的動機
7.7.2訪問樹結構數據的規則
7.7.3樹協議發揮作用的原因
7.7.4習題
7.8使用時間戳的併發控制
7.8.2事實上不可實現的行為
7.8.3髒數據的問題
7.8.4基於時間戳調度的規則
7.8.5多版本時間戳
7.8.6時間戳與封鎖
7.8.7習題
7.9使用有效性確認的併發控制
7.9.1基於有效性確認調度器的結構
7.9.2有效性確認規則
7.9.3三種併發控制機制的比較
7.9.4習題
7.10小結
7.11參考文獻
第8章再論事務管理
8.1可串行性和可恢復性
8.1.1髒數據問題
8.1.2級聯回滾
8.1.3可恢復的調度
8.1.4避免級聯回滾的調度
8.1.5基於鎖對回滾的管理
8.1.6成組提交
8.1.7邏輯日誌
8.1.8從邏輯日誌中恢復
8.1.9習題
8.2死鎖
8.2.1超時死鎖檢測
8.2.2等待圖
8.2.3通過元素排序預防死鎖
8.2.4通過時間戳檢測死鎖
8.2.5死鎖管理方法的比較
8.2.6習題
8.3長事務
8.3.1長事務的問題
8.3.2saga(系列記載)
8.3.3補償事務
8.3.4補償事務發揮作用的原因
8.3.5習題
8.4小結
8.5參考文獻
第9章並行與分佈式數據庫
9.1關係的並行算法
9.1.1並行模型
9.1.2一次一個元組的操作的並行
9.1.3整個關係的操作的並行算法
9.1.4並行算法的性能
9.1.5習題
9.2map?reduce並行架構
9.2.1存儲模式
9.2.2映射函數
9.2.3歸約函數
9.2.4習題
9.3.1數據的分佈
9.3.3數據複製
9.3.4習題
9.4分佈式查詢處理
9.4.1分佈式連接操作問題
9.4.2半連接化簡
9.4.3多個關係的連接
9.4.4非循環超圖
9.4.5非循環超圖的完全化簡
9.4.6為什麼完全化簡算法有效
9.4.7習題
9.5分佈式提交
9.5.1支持分佈式原子性
9.5.2兩階段提交
9.5.3分佈式事務的恢復
9.5.4習題
9.6分佈式封鎖
9.6.1集中封鎖系統
9.6.2分佈式封鎖算法的代價模型
9.6.3封鎖多副本的元素
9.6.4主副本封鎖
9.6.5局部鎖構成的全局鎖
9.6.6習題
9.7對等分佈式查找
9.7.1對等網絡
9.7.2分佈式散列問題
9.7.3分佈式散列的集中式解決方案
9.7.4帶弦的圓
9.7.5帶弦的圓上的鏈接
9.7.6使用手指表查找
9.7.7加入新結點
9.7.8當一個端離開網絡
9.7.9當一個端崩潰了
9.7.10習題
9.8小結
9.9參考文獻
第二部分現代數據庫系統專題
第10章信息集成
10.1信息集成介紹
10.1.1為什麼要進行信息集成
10.1.2異質性問題
10.2信息集成的方式
10.2.1聯邦數據庫系統
10.2.2數據倉庫
10.2.3mediator
10.2.4習題
10.3基於mediator的系統中的包裝器
10.3.1查詢模式的模板
10.3.2包裝器生成器
10.3.3過濾器
10.3.4包裝器上的其他操作
10.3.5習題
10.4基於能力的優化
10.4.1有限的數據源能力問題
10.4.2描述數據源能力的記號
10.4.3基於能力的查詢計劃選擇
10.4.4加入基於成本的優化
10.4.5習題
10.5優化mediator查詢
10.5.1簡化的修飾符記號
10.5.2獲得子目標的回答
10.5.3chain算法
10.5.4在mediator上結合並視圖
10.5.5習題
10.6以局部作為視圖的mediator
10.6.1lav mediator的動機
10.6.2lav mediator的術語
10.6.3擴展解決方案
10.6.4合取查詢的包含
10.6.5為什麼包含映射測試有效
10.6.6發現mediator查詢的解決方法
10.6.7為什麼lmss定理能成立
10.6.8習題
10.7實體解析
10.7.1決定是否記錄代表一個共同實體
10.7.2合併相似記錄
10.7.3相似性和合並函數的有用性質
10.7.4icar記錄的r?swoosh算法
10.7.5為什麼r?swoosh算法會有效
10.7.6實體解析的其他方法
10.7.7習題
10.8小結
10.9參考文獻
第11章數據挖掘
11.1頻繁項集挖掘
11.1.1市場-購物籃模型
11.1.2基本定義
11.1.3關聯規則
11.1.4頻繁項集的計算模型
11.1.5習題
11.2發現頻繁項集的算法
11.2.1頻繁項集的分佈
11.2.2尋找頻繁項集的樸素算法
11.2.3a?priori算法
11.2.4a?priori算法的實現
11.2.5更好地使用主存
11.2.6何時使用pcy算法
11.2.7多級算法
11.2.8習題
11.3發現近似的商品
11.3.1相似度的jaccard度量
11.3.2jaccard相似度的應用
11.3.3最小散列
11.3.4最小散列與jaccard相似度
11.3.5為什麼能用最小散列估計相似度
11.3.6最小散列的實現
11.3.7習題
11.4局部敏感散列
11.4.1lsh實例:實體分辨
11.4.2標籤的局部敏感散列
11.4.3最小散列法和局部敏感散列的結合
11.4.4習題
11.5大規模數據的聚簇
11.5.1聚簇的應用
11.5.2距離的定義
11.5.3凝聚式聚簇
11.5.4k?means算法
11.5.5大規模數據的k?means方法
11.5.6內存中滿載點後的處理過程
11.5.7習題
11.6小結
11.7參考文獻
第12章數據庫系統與互聯網
12.1搜索引擎體系結構
12.1.1搜索引擎的組成
12.1.2web爬蟲
12.1.3搜索引擎中的查詢處理
12.1.4對網頁進行排名
12.2用於識別重要網頁的pagerank
12.2.1pagerank的直觀思想
12.2.2pagerank的遞歸公式——初步嘗試
12.2.3爬蟲陷阱和死角
12.2.4考慮爬蟲陷阱和死角的pagerank
12.2.5習題
12.3特定主題的pagerank
12.3.1“遠距離移動”集
12.3.2計算主題相關的pagerank
12.3.3鏈接作弊
12.3.4主題相關的pagerank和鏈接作弊
12.3.5習題
12.4.1數據流管理系統
12.4.2數據流應用
12.4.3數據流數據模型
12.4.4數據流轉換為關係
12.4.5關係轉換為數據流
12.4.6習題
12.5數據流挖掘
12.5.1動機
12.5.2統計二進制位數
12.5.3統計不同元素的個數
12.5.4習題
12.6小結
12.7參考文獻
參考資料