注冊 | 登錄讀書好,好讀書,讀好書!
讀書網-DuShu.com
當前位置: 首頁出版圖書科學技術計算機/網絡數據庫數據庫設計/管理數據庫—模型、語言與設計

數據庫—模型、語言與設計

數據庫—模型、語言與設計

定 價:¥59.00

作 者: (美)James L.Johnson著;李天柱[等]譯
出版社: 電子工業(yè)出版社
叢編項: 國外計算機科學教材系列
標 簽: 教材 數據庫設計與管理 數據庫 計算機與互聯(lián)網

ISBN: 9787505393356 出版時間: 2004-06-01 包裝: 膠版紙
開本: 26cm 頁數: 633 字數:  

內容簡介

  本書詳細講解了數據庫的基本理論與技術,包括數據模型、查詢語言、存儲結構、邏輯設計以及與實現和性能有關的問題,如并發(fā)、恢復、安全和優(yōu)化等。全書分為四部分,共2章,每章后面均附有小結和練習。此書的最大特點是對數據模型做了較全面的論述,講解了5種數據模型:關系模型、面向對象模型、邏輯模型、網狀模型和層次模型。每種數據模型都圍繞著數據模型的三要素(即實體-聯(lián)系的表達、查詢和約束)來講解,并對不同數據模型的表達能力及特點進行了比較分析,此外,還講述了不同數據模型的存儲結構。關系模型是現在很流行的數據模型;面向對象模型和邏輯模型(演繹數據模型)在2世紀8年代至9年代形成,雖然沒有流行起來,但其不少研究成果已被關系模型所吸收;網狀模型和層次模型已成為歷史,但在數據庫新技術(如面向對象模型和XML查詢)的研究中仍繼續(xù)發(fā)揮著借鑒作用。本書可作為計算機相關專業(yè)研究生和本科生的教材,也適合于數據庫領域的研究者和工作人員參考閱讀,以了解各種數據模型的基本思想和特點。譯者序數據庫技術是最重要的計算機技術之一,在計算機應用中起著舉足輕重的作用。數據庫理論和技術的核心是數據庫模型。自數據庫技術產生以來,大約出現過6種主要的數據庫模型:網狀模型和層次模型、關系模型、面向對象模型和演繹模型,以及正在研究的半結構化和XML模型。數據庫系統(tǒng)采用什么數據模型,一般就稱為什么類型的數據庫系統(tǒng)。其中網狀和層次數據庫是2世紀7年代之前得到廣泛應用的數據庫技術,早已被關系數據庫代替,但在其他模型數據庫的研究中(如面向對象數據庫和半結構化與XML數據庫),仍然發(fā)揮著積極的作用。關系模型自2世紀7年代產生以來一直是數據庫技術的主流;面向對象數據庫和演繹數據庫在2世紀8年代至2世紀9年代的研究取得了豐碩的成果,但由于種種原因沒有在應用中流行起來,而其研究成果卻大量地被關系數據庫所吸收,并且在數據庫領域中具有重要的理論意義;半結構化和XML數據庫是2世紀9年代末開始研究的數據庫技術,目前還不成熟并且沒有統(tǒng)一的名字。關系模型由于其簡潔性、良好的數學基礎和突出的表達與適應能力,一直在利用數據庫技術的最新研究成果不斷擴充,并在數據產品中得以應用;查詢語言SQL3(或SQL99)標準就是在面向對象數據庫技術的推動下產生的,它吸收了演繹數據庫的研究成果,閉包和遞歸計算就是其中一例。特別是,還把關系和對象技術的結合命名為對象-關系數據庫技術;進而,在目前的關系數據庫產品中一直在不斷地吸收半結構化和XML數據庫的研究成果。這幾種數據庫模型雖然各有特點,甚至看起來截然不同,但它們之間卻存在著深刻的聯(lián)系。在表現數據結構、數據操作和完整性約束上(被稱為數據庫模型的三大要素),以及在表達能力上都有相通之處并各有千秋。目前,論述網狀和層次數據庫的書很少,而論述面向對象和演繹數據庫的書則往往是大部頭的專著,但在一本書中系統(tǒng)地論述各種數據庫模型及其相互關系的書卻不多見,本書正好彌補了這一缺憾。全書較詳細地論述了前5種數據庫模型,并論述了適用于各種模型的存儲結構,以及規(guī)范化和數據庫邏輯設計問題,最后簡述了數據庫管理系統(tǒng)的實現及性能上的有關問題,如并發(fā)處理、恢復、安全和性能優(yōu)化等。本書的最大特色是,對5種數據庫模型統(tǒng)一以數據結構、數據操作、數據完整性約束和表達能力為主線進行論述和比較,其中對一些問題的提法和思路頗有獨到之處,極具啟發(fā)性。總而言之,本書是數據庫研究者不可多得的一本參考書。遺憾的是,由于本書出版較早,沒有把半結構化和XML數據庫研究的有關內容包含進來,并且書中在講解面向對象部分時以典型的面向對象數據庫GEMESTONE為例子,與ODMG標準和SQL3標準的有關內容及表達方法有一些區(qū)別。不過,關于后者,讀者可以由作者網頁的授課大綱得到一些相關信息。另外,對演繹數據庫,本書未出現DATALOG這個通常用于說明邏輯數據庫模型和查詢語言的名字,但本書所講的內容就是DATALOG的核心內容。本書適合作為研究生和本科生的教材,也適用于數據庫研究者及數據庫研發(fā)人員參考閱讀。原書中使用了一些不常用的術語,如shell,anchor,signal等,因為書中有明確的常規(guī)術語與之相對應,含意不難理解,故譯文中按常規(guī)字面譯法翻譯,而沒有改為常規(guī)術語。原書中的一些文字上的錯誤,譯文中已加以改正。參加本書翻譯工作的有:李天柱(第9章和第1章)、肖艷芹(第6章至第8章和第11章至第13章)、楊文柱(第14章至第16章和第2章)、任建利(第1章、第2章及第5章的一部分)、馬穎麗(第17章和第19章)、黃煒(第18章)、郝亞南(第3章、第4章及第5章的一部分)等;在李天柱的指導下,楊文柱、肖艷芹、郝亞南對全書進行了審校及定稿。對本書的翻譯工作做出貢獻的還有張波、張志強、孫兆豪、宋鑫、陳少飛、徐林昊、張邵華、肖計田、邊小凡、李俊、羅朝暉、高麗敏、袁方、朱亮、劉大中等。由于譯者水平所限,書中難免有不妥之處,敬請讀者批評指正。前言本書介紹了大學計算機科學課程中數據庫理論方面的傳統(tǒng)主題。此書并不具有獨創(chuàng)性,因為所闡述思想的大部分都是為大家所熟知的。本書的特點在于通過對內容的組織和概念解釋,從而更加清晰地闡明了數據庫的理論。但書中沒有包含數據庫實現技術及分布式數據庫技術,除最后一章之外也沒有在其他地方討論性能問題。在學生熟悉了本書所討論的這些模型、語言和設計等問題之后,可以為進一步的學習打下堅實的基礎。第一部分介紹了五種數據庫模型。這些模型代表了現在(關系模型)、將來(面向對象和演繹模型)和過去(網狀和層次模型)的研究成果。為了與當前關系模型的重要性保持一致,本書中占篇幅最大的是關系模型,包括了關系表示(數據、聯(lián)系和約束)、關系代數和演算,以及對結構化查詢語言(SQL)的全面介紹。作者沒有試圖去遵循任何商業(yè)數據庫產品的特有細節(jié),而是強調了對所有這些產品都通用的概念。在掌握了這些內容之后,讀者就可以在任何與SQL兼容的關系數據庫中去實現應用了。在講解面向對象數據庫和演繹數據庫時各占用了兩章的篇幅:第一章描述模型本身,即講解數據項以及它們之間聯(lián)系和約束的技術;然后在第二章中說明如何針對這種數據庫來組織查詢;接下來,限于近年來網狀和層次模型的使用范圍,對它們分別使用一章的篇幅來做介紹,因為這兩種模型已被關系模型所取代了。不過,這五種模型既相互區(qū)別,也彼此聯(lián)系,揭示了數據庫模型研究的發(fā)展歷程。最后,對這五種數據庫模型進行了清晰的比較。第二部分介紹了物理數據存儲的問題,以使本書體系完整。許多學校在講授數據庫課程時都包含了文件部分,尤其是關于記錄存儲的概念,所以本書也相應地適應了這些需要。第三部分涉及到了應用設計問題。首先作為語義數據庫模型的例子,介紹了實體-聯(lián)系圖(ER圖)和對象建模技術(OMT),這有助于應用設計者對應用實體及其聯(lián)系進行識別和結構化。在第一部分中,使用了簡單的ER圖來說明貫穿于各種不同數據庫模型的應用示例。在學習了這些數據庫模型后,學生會進一步想了解ER圖的高級特性,例如類層次和相關問題。所以,在第三部分中討論了這些問題。然后,使用兩章的篇幅對函數依賴和連接依賴進行了分析。這些技術說明了應如何選擇相關的表以加強特定約束。本書的第四部分只有一章,在這一章中,對通常在性能問題中所選的高級主題進行了分組,就并發(fā)性、恢復、安全性和查詢優(yōu)化等問題進行了簡要介紹。對于本書中的大部分例證,都使用了一個單一、簡單的例子。所以讀者在學習一種新的數據庫模型時,會遇到相同或相似的應用。所有這些模型都簡單地說明了組織數據元素之間的聯(lián)系和約束的不同方法。這個通用的應用示例強調了這五種模型之間的相似性。通過重復使用某種說明大部分數據庫查詢的模式,進一步強調了這一思想。本書的目標、使用方法和預備知識本書可以作為大學數據庫課程的教材,為高年級課程提供充足的資料。在閱讀本書之前,需要具備以下知識:●程序設計:程序語言中的數據結構和算法表達。本書用C語言來說明算法,但是沒有支持堆棧、列表、隊列等常用操作的程序。如果讀者理解塊結構化的程序語言,即使不是C語言,即使不會寫,也應該能夠讀懂這些算法?!裰^詞演算:盡管本書對謂詞演算有一個簡要的回顧,但讀者還是應該有這方面的預備知識?!窦侠碚摵湍承╇x散數學問題:布爾代數、關系和歸納證明?!駭嘌院脱h(huán)不變式:書中采用這些方法來證明算法的正確性?!癯醪降慕M合數學和概率理論:在第二部分的Hash表討論中使用了一些這兩方面的知識。在講授數據庫課程時可以靈活安排教學內容。因為我的學生已經學習過第二部分中文件的內容,所以我用一個學期的6%的時間來講授第一部分的模型和語言,跳過了第二部分,然后在剩余的4%的時間里盡可能多地講述第三部分的內容。在授課時,首先講述關系模型導言和有關內容,包括較復雜的SQL的內容。然后講解面向對象和演繹模型。因為我強調數據庫的通用特征,所以學生應學習怎樣得出關系模型和這些新模型之間的相似性,這樣就可以用更簡短的講義來講述它們之間的關系。將過去使用的模型作為課外讀物留給學生自學,這樣就需要一個較短的總結來將網狀或層次模型與課上講過的模型做對比。在深入研究函數依賴和連接依賴的數學理論之前,我在第二部分的授課中包括了實體-聯(lián)系概念的所有特征。因為對數學知識的要求更加苛刻,所以這一部分的速度慢了下來。在講解時介紹了主要結論,并且進行了詳細的推導。以這種方式使用這本教材,我通常都是在連接依賴這一章的某一部分結束這門課程。即使講授全部內容,教師也不必覆蓋教材中的每一個細節(jié)。盡管我沒有講授教材中的全部細節(jié),但我估計講授完整的這本書可能需要一學年。對于教學方法,我的建議是首先選擇重點章,然后進一步選擇這一章的重點內容和相應示例并指導學生完全掌握所選章節(jié)。如果在教授數據庫課程時需要講解第二部分的文件概念,我推薦用與上面相同的方式來講授這些模型,但第三部分的數據庫設計方面的內容可以相應縮減。如果課程要求開設實驗來使用一種商業(yè)數據庫產品,那么可以上完三分之一課時后開始實驗,也就是在講完第5章之后。我在開設實驗課程時要求學生創(chuàng)建一個包含五個表的小型關系數據庫(與書中的通用應用示例相似),并針對這個數據庫來實現查詢。最后要說明的是,這本書也適合那些既熟悉關系數據庫技術又打算學習面向對象和演繹模型的數據庫工作者。第1章到第6章是對關系數據庫的全面回顧,并以向其他模型引申的方式來解釋這些特征。第7章到第1章繼續(xù)講述后關系模型,并討論了演繹和面向對象數據庫。表達風格本書的表達風格與大部分數據庫教材不同。首先,提供了更多的解釋和示例。其次,強調通用概念,而不是已有商業(yè)產品的特殊細節(jié)。與其他教材的相同之處是,選擇了C語言來描述算法,并且使用C代碼片段來解釋一些非算法的內容,例如嵌入式SQL和網狀查詢。這樣,大部分學生會通過數據庫課程在一定程度上進一步熟悉C語言。所采用的示例都是簡短的摘錄,而不是完整的程序,但也足以說明概念了。最后,完成此書時所參考的全部文獻統(tǒng)一列在了本書的結尾處,而不是分散在每一章的末尾。

作者簡介

  JamesL.Johnson美國WesternWashington大學的計算機科學教授。自20世紀70年代中期以來,他一直是一個活躍的軟件顧問,從事過各種學科的工作——數據庫應用、仿真學、模式識別算法、交叉匯編程序以及用戶接口等。

圖書目錄

第一部分  數據庫模型與訪問方法
第1章  數據庫導論
1.1  數據庫系統(tǒng)的動機
1.2  數據庫系統(tǒng)的定義
1.3  數據庫模型概述
1.3.1  關系數據庫模型
1.3.2  面向對象數據庫模型
1.3.3  演繹數據庫模型
1.3.4  層次數據庫模型
1.3.5  網狀數據庫模型
1.3.6  其他方面的比較
1.4  數據庫系統(tǒng)的組成
1.4.1  物理層
1.4.2  概念層
1.4.3  外層
1.4.4  數據庫管理員
1.5  一個連續(xù)的例子
小結
第2章  關系數據庫
2.1  關系數據庫的一個非正式的描述
2.2  關系術語
2.3  二元聯(lián)系
2.3.1  一對多聯(lián)系
2.3.2  多對多聯(lián)系
2.3.3  分解多對多聯(lián)系
2.3.4  一對一聯(lián)系
2.4  高階聯(lián)系
2.5  遞歸聯(lián)系
2.5.1  一對多遞歸聯(lián)系
2.5.2  多對多遞歸聯(lián)系
2.6  約束
2.6.1  關鍵字約束
2.6.2  函數依賴約束
2.6.3  實體和參照完整性
2.7  基本的實體-聯(lián)系圖
2.7.1  ER圖中的實體及其屬性
2.7.2  ER圖中的二元聯(lián)系
2.7.3  ER圖中的聯(lián)系屬性
2.7.4  ER圖中的高階聯(lián)系
2.7.5  ER圖中的遞歸聯(lián)系
2.8  模式規(guī)范
2.9  元數據和系統(tǒng)目錄
小結
練習
第3章  關系代數
3.1  重命名和集合運算
3.2  選擇、投影和連接運算
3.2.1  一元運算:選擇和投影
3.2.2  笛卡兒乘積
3.2.3  自然連接
3.2.4  有關連接的其他變種
3.3  存在型查詢
3.3.1  連接到錨元組的較長路徑
3.3.2  存在型查詢的一種解決方案
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.6  關系代數表達能力的限制
3.7  初步的查詢優(yōu)化
小結
練習
第4章  關系演算
4.1  謂詞演算的回顧
4.2  通過謂詞進行選擇
4.3  存在型查詢
4.4  全稱查詢
4.5  聚集與劃分
4.5.1  等價類和商集
4.5.2  多劃分
4.6  域關系演算
4.6.1  存在型查詢
4.6.2  全稱查詢
小結
練習
第5章  基本SQL
5.1  簡單檢索查詢的概念模型
5.1.1  從單一的表中進行查詢
5.1.2  名稱限定和別名
5.1.3  從多個表中進行查詢
5.1.4  使用表的多個副本進行查詢
5.2  子查詢
5.3  存在型查詢
5.4  全稱查詢
5.4.1  集合包含解決方案
5.4.2  雙重否定結構
5.4.3  較長的全稱路徑束
5.4.4  混合式全稱和存在查詢
5.5  聚集和劃分
5.5.1  orderby子句
5.5.2  groupby子句
5.5.3  orderby和groupby之間的區(qū)別
5.5.4  劃分組中出現重復表示元組的情況
5.6  抑制劃分
5.7  完整的select語法
5.7.1  將SQL操作可視化的一種思維模型
5.7.2  從SQL到關系代數
5.7.3  幾個語法上的細節(jié)
5.8  數據編輯操作
5.8.1  SQL插入
5.8.2  SQL刪除
5.8.3  SQL修改
5.9  嵌入式SQL
5.9.1  立即執(zhí)行
5.9.2  結束和錯誤反饋
5.9.3  準備SQL語句
5.9.4  SQL游標
5.9.5  輸入和輸出描述符
小結
練習
第6章  高級SQL
6.1  視圖
6.1.1  from子句中表的表達
6.1.2  視圖作為虛表
6.1.3  通過視圖更新元組
6.1.4  視圖的check選項
6.2  空值
6.2.1  空值操作
6.2.2  聚集函數中的空值操作和SQL謂詞
6.2.3  match謂詞和引用完整性
6.2.4  具有any和all的謂詞
6.3  外操作
6.3.1  外連接
6.3.2  外并
6.4  約束
6.4.1  SQL約束的目的和格式
6.4.2  域約束
6.4.3  表約束:主關鍵字、外關鍵字和check約束
6.4.4  列約束:主關鍵字、引用和check約束
6.4.5  全局約束
6.5  觸發(fā)器
6.6  關系數據庫的擴展定義
6.7  關系模型的缺陷
小結
練習
第7章  面向對象數據庫
7.1  面向對象數據庫的非正式介紹
7.1.1  屬性值可以是其他對象
7.1.2  從對象中抽取查詢解決方案
7.1.3  通過邏輯包含表示聯(lián)系
7.2  面向對象術語
7.2.1  使用信號的對象通信
7.2.2  屬性信號
7.2.3  類和方法
7.2.4  類層次和繼承
7.2.5  常用類的內置類層次
7.2.6  方法的放置和多態(tài)
7.2.7  信號優(yōu)先級:一元、二元、關鍵字
7.3  面向對象數據庫定義
7.3.1  將應用類放置在內置層次中
7.3.2  屬性方法和錯誤捕獲
7.3.3  創(chuàng)建應用對象
7.4  聯(lián)系
7.4.1  二元聯(lián)系
7.4.2  高階聯(lián)系
7.4.3  遞歸聯(lián)系
7.5  約束
7.5.1  一般性約束:域、鍵、實體完整性和引用完整性
7.5.2  函數依賴約束
7.5.3  觸發(fā)器:用于更一般性的約束
7.5.4  進一步討論約束
7.5.5  使用讀屬性信號可能破壞對象封裝
7.6  面向對象與關系數據庫的比較
小結
練習
第8章  面向對象查詢
8.1  簡單數據檢索的概念模型
8.1.1  涉及單個類的查詢
8.1.2  涉及多個類的查詢
8.1.3  等價于SQL子查詢的信號表達式
8.1.4  其他一些說明中間對象的計算的例子
8.2  存在型查詢
8.2.1  直接檢測屬性對象
8.2.2  使用數據庫路徑的簡化語法
8.3  全稱查詢
8.3.1  模仿SQL中的集合包含解決方案
8.3.2  使用雙重否定模仿SQL解決方案
8.3.3  進一步的例子
8.4  聚集和劃分
8.4.1  模仿SQL的orderby子句
8.4.2  模仿SQL的groupby子句
8.5  遞歸查詢
8.5.1  一對多的遞歸聯(lián)系
8.5.2  多對多的遞歸聯(lián)系
8.6  數據編輯操作
8.6.1  插入新對象
8.6.2  刪除對象
8.6.3  更新對象
8.7  從SQL到信號表達式
8.7.1  對特定SQL形式的限制轉換
8.7.2  將關系表轉換成類
8.7.3  轉換select-project-join查詢的一般形式
8.7.4  轉換算法的概括形式
8.7.5  最初轉換形式的另一種轉換
8.7.6  將算法擴展到子查詢
8.7.7  將算法擴展到劃分和聚集
8.8  對象查詢語言(Object Query Language,OQL)
8.8.1  OQL符號
8.8.2  OQL舉例
小結
練習
第9章  演繹數據庫
9.1  數據庫環(huán)境下的邏輯程序設計
9.1.1  數據庫與算術謂詞
9.1.2  演繹規(guī)則與導出謂詞
9.1.3  可能世界與演繹規(guī)則模型
9.1.4  最小模型
9.1.5  邏輯程序
9.2  演繹數據庫的非正式介紹
9.2.1  查詢語法
9.2.2  持久演繹規(guī)則和源于查詢的邏輯程序
9.3  演繹數據庫的定義
9.3.1  公理的表示
9.3.2  對聯(lián)系、約束和隱含事實的演繹規(guī)則
9.3.3  無環(huán)演繹數據庫和惟一最小模型
9.4  作為滿足的目標的查詢解
9.4.1  無否定自由變量的查詢解算法
9.4.2  消除否定自由變量
9.4.3  從首選最小模型提交解的算法
9.5  聯(lián)系
9.5.1  二元聯(lián)系
9.5.2  高階聯(lián)系
9.5.3  遞歸聯(lián)系
9.6  約束
9.6.1  用演繹規(guī)則設置結構性約束
9.6.2  函數依賴約束
9.6.3  聚集謂詞和相關約束
小結
練習
第10章  演繹查詢
10.1  存在型查詢
10.1.1  包括一個應用對象的查詢
10.1.2  包括多個應用對象的查詢
10.2  全稱查詢
10.3  聚集和劃分
10.4  邏輯程序與關系代數
10.4.1  關系和數據庫謂詞的對應
10.4.2  從關系代數到演繹規(guī)則
10.4.3  綜合轉換的例子
10.4.4  反向過程:從導出謂詞到關系代數
10.5  超出無環(huán)演繹數據庫
10.5.1  Horn(霍恩)子句系統(tǒng)
10.5.2  在依賴圖中存在受限環(huán)的系統(tǒng)
10.6  遞歸查詢
小結
練習
第11章  網狀數據庫
11.1  對網狀數據庫的非正式介紹
11.2  網狀數據庫定義
11.2.1  網狀記錄類型
11.2.2  系
11.2.3  Insertion和retention子句
11.2.4  完整性考慮:set-selection和check子句
11.3  網狀數據操縱語言(DML)
11.3.1  當前指針
11.3.2  在記錄中導航
11.3.3  記錄的插入、修改和刪除
11.3.4  記錄到系的連接
11.4  聯(lián)系
11.4.1  高階聯(lián)系
11.4.2  一對多的遞歸聯(lián)系
11.4.3  多對多遞歸聯(lián)系
11.5  約束
11.6  網狀查詢
11.6.1  存在型查詢
11.6.2  全稱查詢
11.6.3  聚集查詢
11.7  網狀數據庫和以前模型的比較
小結
練習
第12章  層次數據庫
12.1  層次數據庫的非正式介紹
12.1.1  實體和其實例的樹結構
12.1.2  通過邏輯鄰接來表示聯(lián)系
12.1.3  在相關記錄中導航
12.1.4  針對層次數據庫的查詢形式概覽
12.2  聯(lián)系
12.2.1  線性化層次之外的虛孩子
12.2.2  高階聯(lián)系
12.3  層次定義和數據操縱
12.3.1  層次模式
12.3.2  使用get命令定位記錄
12.3.3  插入記錄
12.3.4  刪除和修改記錄
12.4  約束
12.5  層次查詢
12.5.1  存在型查詢
12.5.2  全稱查詢
12.5.3  聚集查詢
小結
練習
第13章  數據庫模型之間的比較
13.1  模型的相似之處
13.2  各個模型的優(yōu)點和缺點
13.2.1  層次和網狀模型
13.2.2  關系模型
13.2.3  面向對象模型
13.2.4  演繹模型
第二部分  磁盤存儲管理
第14章  文件結構
14.1  磁盤存儲單元的物理組織
14.2  塊定位模式
14.3  索引順序文件
14.4  散列文件
14.4.1  選擇散列函數
14.4.2  計算記錄在桶中的分布
14.4.3  單次隨機檢索需要的平均磁盤探測次數
14.4.4  對α>1.0展開分析
14.4.5  散列非數字值
14.5  動態(tài)文件結構
14.5.1  動態(tài)索引順序文件
14.5.2  通過模數加倍進行動態(tài)散列
14.5.3  通過目錄加倍進行動態(tài)散列
14.5.4  其他散列模式
小結
練習
第15章  索引
15.1  稀疏層次索引
15.1.1  無重復關鍵字的稀疏索引
15.1.2  有重復關鍵字的稀疏索引
15.1.3  在刪除期間維護稀疏層次索引
15.1.4  在插入期間維護稀疏層次索引
15.2  稠密索引
15.3  B樹
15.3.1  查找范圍
15.3.2  定義B+樹的特性
15.3.3  在插入期間維護B+樹的平衡
15.3.4  在刪除期間維持B+樹的平衡
15.3.5  B+樹的性能統(tǒng)計
15.3.6  B樹家族的其他成員
小結
練習
第16章  數據庫模型的文件結構
16.1  關系模型
16.2  網狀模型
16.3  層次模型
16.4  面向對象模型
16.5  演繹模型
小結
練習
第三部分  數據庫設計
第17章  應用設計描述
17.1  實體聯(lián)系模型
17.2  類層次和繼承
17.2.1 類的特化和概化
17.2.2 重疊子類和多繼承
17.3  從ER圖到數據庫模式的映射
17.3.1 映射為關系模式
17.3.2  映射為網狀模式
17.3.3  映射為層次模式
17.3.4  映射為面向對象模式
17.3.5  映射為演繹模式
17.4  對象建模技術(OMT)
小結
練習
第18章  函數依賴分析
18.1  函數依賴約束的起源
18.1.1  泛關系和它的投影
18.1.2  函數依賴集的閉包
18.1.3  Armstrong公理
18.2  最小覆蓋集
18.2.1  一個判斷閉包成員的算法
18.2.2  確定關鍵字和超關鍵字
18.2.3  確定最小覆蓋集
18.2.4  計算最小覆蓋集的算法
18.2.5  一個綜合的例子
18.2.6  水族館數據庫約束的最小覆蓋集
18.3  無損連接分解
18.4  Boyce-Codd范式(BCNF)
18.4.1  使用函數依賴減少冗余
18.4.2  通過分解刪除違反BCNF的約束
18.4.3  分解水族館數據庫為BCNF
18.4.4  一個BCNF分解的算法
18.5  保持函數依賴
18.5.1  一個檢查保持函數依賴的算法
18.6  前三種范式
18.6.1  第一范式
18.6.2  第二范式
18.6.3  第三范式
18.6.4  一個3NF、無損連接、保持函數依賴的分解算法
18.7  FD分析的有限性和擴展
小結
練習
第19章  連接依賴分析
19.1  多值依賴
19.1.1  由MVD引起的冗余
19.2  多值依賴和函數依賴的相互作用
19.2.1  函數依賴和多值依賴集合的閉包
19.2.2  函數依賴可以強制某些多值依賴進入閉包
19.2.3  函數依賴和多值依賴能夠強制新的函數依賴進入閉包
19.2.4  補充律與增補律
19.2.5  FD-MVD推理規(guī)則
19.2.6  屬性決定因素的必要條件
19.3  依賴基
19.3.1  集合群的最小基
19.3.2  決定因素的依賴基
19.3.3  FD-MVD推理規(guī)則的完備性
19.3.4  存在MVD時無損連接的一個新準則
19.4  第四范式
19.4.1  由MVD引入的冗余
19.4.2  利用分解消除違反4NF的情況
19.4.3  4NF關系集合嚴格地被包含在BCNF關系集合中
19.4.4  在水族館數據庫語境中的MVD
19.4.5  左部為空的MVD約束
19.5  普通的連接依賴
19.5.1  由多分量連接產生的元組
19.5.2  由普通連接依賴引入的冗余
19.5.3  從已有的JD推出新的JD
19.5.4  允許JD沒有冗余的條件
19.5.5  由FD和MVD強制的JD
19.5.6  一個JD允許沒有冗余當且僅當它由某些FD所蘊含
19.5.7  嵌入的連接依賴
19.5.8  一個引入冗余的JD的例子
19.6  第5范式
19.6.1  5NF包含4NF
19.6.2  一個滿足4NF卻不滿足5NF的實例
19.6.3  確定JD 在閉包中的追趕算法
19.6.4  單關鍵字提供的簡化
19.7  連接依賴以外的話題
19.7.1  模板約束
19.7.2  域關鍵字范式
小結
練習
第四部分  后    記
第20章  性能
20.1  并發(fā)
20.1.1  事務
20.1.2  可串行化調度
20.1.3  通過鎖實現可串行化
20.1.4  死鎖和事務依賴圖
20.1.5  臟讀、不可重復讀和幻像
20.1.6  隔離級別
20.1.7  通過時間戳實現可串行化
20.2  恢復
20.2.1  日志文件在事務回滾和故障恢復中的作用
20.2.2  利用檢查點來限制大范圍的日志文件搜索
20.2.3  從數據庫備份中恢復
20.2.4  對重啟長事務的特殊防范
20.3  安全性
20.3.1  權限描述符
20.3.2  權限收回和失控權限問題
20.4  查詢優(yōu)化
20.4.1  在關系代數表達式樹中記錄操作
20.4.2  轉換計算樹的啟發(fā)信息
20.4.3  一個綜合的例子
20.4.4  估計連接操作的代價:寫輸出
20.4.5  估計連接操作的代價:組織輸入流
小結
參考文獻
術語表

本目錄推薦

掃描二維碼
Copyright ? 讀書網 ranfinancial.com 2005-2020, All Rights Reserved.
鄂ICP備15019699號 鄂公網安備 42010302001612號