注冊 | 登錄讀書好,好讀書,讀好書!
讀書網(wǎng)-DuShu.com
當(dāng)前位置: 首頁出版圖書科學(xué)技術(shù)計算機(jī)/網(wǎng)絡(luò)數(shù)據(jù)庫數(shù)據(jù)庫設(shè)計/管理數(shù)據(jù)庫—模型、語言與設(shè)計

數(shù)據(jù)庫—模型、語言與設(shè)計

數(shù)據(jù)庫—模型、語言與設(shè)計

定 價:¥59.00

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

ISBN: 9787505393356 出版時間: 2004-06-01 包裝: 膠版紙
開本: 26cm 頁數(shù): 633 字?jǐn)?shù):  

內(nèi)容簡介

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

作者簡介

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

圖書目錄

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

本目錄推薦

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