发表于2024-12-26
數據庫係統:設計、實現與管理(基礎篇)(原書第6版) pdf epub mobi txt 電子書 下載 2024
本書是數據庫領域的經典著作,內容係統、全麵、實用,被世界多所大學選為數據庫相關課程的教材。中文版分為基礎篇和進階篇,分彆對應原書~五部分和第六~九部分。本書為基礎篇,主要內容包括:數據庫係統與數據庫設計的基礎知識;關係模型與語言;數據庫分析與設計的主要技術;數據庫設計方法學;以及現代數據庫管理相關專題,涵蓋安全問題、法律與道德問題、事務管理和查詢處理。本書既可作為數據庫設計與管理相關課程的本科生或研究生教材,亦可作為數據庫專業技術人員的參考書籍。
齣版者的話
譯者序
前言
第一部分 背景
第1章 數據庫簡介2
1.1 引言3
1.2 傳統的基於文件的係統4
1.2.1 基於文件的方法5
1.2.2 基於文件方法的局限性8
1.3 數據庫方法10
1.3.1 數據庫10
1.3.2 數據庫管理係統(DBMS)11
1.3.3 (數據庫)應用程序12
1.3.4 DBMS環境的組成部分13
1.3.5 數據庫設計:範型改變15
1.4 數據庫環境中的各種角色16
1.4.1 數據管理員和數據庫管理員16
1.4.2 數據庫設計人員16
1.4.3 應用開發人員17
1.4.4 終端用戶17
1.5 數據庫管理係統的曆史17
1.6 DBMS的優點和缺點20
本章小結23
思考題23
習題24
擴展閱讀25
第2章 數據庫環境26
2.1 ANSI-SPARC三層體係結構27
2.1.1 外部層28
2.1.2 概念層28
2.1.3 內部層28
2.1.4 模式、映射和實例29
2.1.5 數據獨立性30
2.2 數據庫語言30
2.2.1 數據定義語言(DDL)31
2.2.2 數據操作語言(DML)31
2.2.3 第四代語言32
2.3 數據模型和概念建模33
2.3.1 基於對象的數據模型34
2.3.2 基於記錄的數據模型34
2.3.3 物理數據模型36
2.3.4 概念建模36
2.4 DBMS的功能36
本章小結39
思考題40
習題40
擴展閱讀41
第3章 數據庫的結構與Web42
3.1 多用戶DBMS結構42
3.1.1 遠程處理43
3.1.2 文件服務器結構43
3.1.3 傳統的兩層客戶-服務器結構44
3.1.4 三層客戶-服務器結構45
3.1.5 N層客戶-服務器結構47
3.1.6 中間件47
3.1.7 事務處理監視器49
3.2 Web 服務與麵嚮服務的結構50
3.2.1 Web 服務50
3.2.2 麵嚮服務的結構(SOA)51
3.3 分布式DBMS53
3.4 數據倉庫54
3.5 雲計算56
3.5.1 雲計算的好處與風險58
3.5.2 基於雲的數據庫方案60
3.6 DBMS的組件63
3.7 Oracle的體係結構65
3.7.1 Oracle的邏輯數據庫結構65
3.7.2 Oracle的物理數據庫結構67
本章小結71
思考題71
習題72
擴展閱讀72
第二部分 關係模型與語言
第4章 關係模型74
4.1 關係模型簡史74
4.2 基本術語76
4.2.1 關係數據結構76
4.2.2 數學中的關係78
4.2.3 數據庫中的關係79
4.2.4 關係的性質79
4.2.5 關係關鍵字80
4.2.6 關係數據庫模式的錶示81
4.3 完整性約束83
4.3.1 空83
4.3.2實體完整性83
4.3.3引用完整性84
4.3.4一般性約束84
4.4視圖84
4.4.1術語85
4.4.2視圖的用途85
4.4.3視圖的更新86
本章小結86
思考題86
習題87
擴展閱讀87
第5章 關係代數與關係演算88
5.1關係代數88
5.1.1一元運算90
5.1.2集閤運算91
5.1.3連接運算93
5.1.4除法運算96
5.1.5聚集運算和分組運算96
5.1.6 關係代數運算小結97
5.2 關係演算98
5.2.1 元組關係演算99
5.2.2 域關係演算101
5.3 其他語言103
本章小結103
思考題104
習題104
擴展閱讀106
第6章 SQL:數據操作107
6.1 SQL簡介108
6.1.1 SQL的目標108
6.1.2 SQL的曆史109
6.1.3 SQL的重要性110
6.1.4 術語110
6.2 書寫SQL命令110
6.3 數據操作111
6.3.1 簡單查詢112
6.3.2 查詢結果排序(ORDER BY子句)118
6.3.3 使用SQL聚集函數119
6.3.4 查詢結果分組(GROUP BY子句) 121
6.3.5 子查詢123
6.3.6 ANY和ALL125
6.3.7 多錶查詢126
6.3.8 EXISTS和NOT EXISTS131
6.3.9 閤並結果錶(UNION、INTERSECT和EXCEPT)132
6.3.10 數據庫更新 133
本章小結136
思考題137
習題137
第7章 SQL:數據定義140
7.1 ISO SQL數據類型141
7.1.1 SQL標識符141
7.1.2 SQL標量數據類型 141
7.2 完整性增強特性145
7.2.1 必須有值的數據145
7.2.2 域約束145
7.2.3 實體完整性146
7.2.4 引用完整性147
7.2.5 一般性約束148
7.3 數據定義148
7.3.1 創建數據庫149
7.3.2 創建錶(CREATE TABLE)149
7.3.3 修改錶定義(ALTER TABLE) 152
7.3.4 刪除錶(DROP TABLE)153
7.3.5 創建索引(CREATE INDEX) 153
7.3.6 刪除索引(DROP INDEX)154
7.4 視圖154
7.4.1 創建視圖(CREATE VIEW)154
7.4.2 刪除視圖(DROP VIEW)156
7.4.3 視圖分解157
7.4.4 視圖的局限性157
7.4.5 視圖的可更新性158
7.4.6 WITH CHECK OPTION159
7.4.7 視圖的優缺點160
7.4.8 視圖物化161
7.5 事務162
7.6 自主訪問控製163
7.6.1 授予其他用戶權限(GRANT)164
7.6.2 撤銷用戶權限(REVOKE)166
本章小結167
思考題168
習題168
第8章 高級SQL171
8.1 SQL編程語言171
8.1.1 聲明172
8.1.2 賦值173
8.1.3 控製語句173
8.1.4 PL/SQL的異常175
8.1.5 PL/SQL的遊標176
8.2 子程序、存儲過程、函數和包178
8.3 觸發器179
8.4 遞歸184
本章小結185
思考題185
習題186
擴展閱讀186
第9章 對象關係DBMS187
9.1 高級數據庫應用188
9.2 RDBMS的缺點191
9.3 在關係數據庫中存儲對象195
9.3.1 將類映射為關係196
9.3.2 訪問關係數據庫中的對象197
9.4 對象關係數據庫係統簡介198
9.5 SQL:2011200
9.5.1 行類型201
9.5.2 用戶自定義類型201
9.5.3 子類型和超類型204
9.5.4 用戶自定義例程206
9.5.5 多態性207
9.5.6 引用類型和對象標識208
9.5.7 創建錶208
9.5.8 數據查詢210
9.5.9 集類型211
9.5.10 類型視圖214
9.5.11 持久化存儲模塊215
9.5.12 觸發器215
9.5.13 大對象217
9.5.14 遞歸219
9.6 Oracle中麵嚮對象的擴展219
9.6.1 用戶自定義數據類型219
9.6.2 操作對象錶223
9.6.3 對象視圖224
9.6.4 權限225
本章小結226
思考題226
習題226
擴展閱讀227
第三部分 數據庫分析與設計
第10章 數據庫係統開發生命周期230
10.1 信息係統生命周期231
10.2 數據庫係統開發生命周期231
10.3 數據庫規劃233
10.4 係統定義233
10.5 需求收集與分析234
10.5.1 集中式方法235
10.5.2 視圖集成方法235
10.6 數據庫設計237
10.6.1 數據庫設計方法237
10.6.2 數據建模238
10.6.3 數據庫設計的階段劃分238
10.7 DBMS選型240
10.8 應用程序設計243
10.8.1 事務設計243
10.8.2 用戶界麵設計指南244
10.9 建立原型係統246
10.10 實現246
10.11 數據轉換與加載246
10.12 測試247
10.13 運行維護247
10.14 CASE工具248
本章小結249
思考題250
習題250
擴展閱讀251
第11章 數據庫分析與DreamHome案例研究252
11.1 使用實況發現技術的時機253
11.2 收集實況的類型253
11.3 實況發現技術 254
11.3.1 分析文檔資料254
11.3.2 麵談254
11.3.3 觀察企業的運作255
11.3.4 研究256
11.3.5 問捲調查256
11.4 使用實況發現技術的實例256
11.4.1 DreamHome案例研究—概述257
11.4.2 DreamHome案例研究—數據庫規劃260
11.4.3 DreamHome案例研究—係統定義264
11.4.4 DreamHome案例研究—需求收集與分析266
11.4.5 DreamHome案例研究—數據庫設計271
本章小結271
思考題271
習題271
擴展閱讀272
第12章 實體-聯係建模273
12.1 實體類型 274
12.2 聯係類型275
12.2.1 聯係類型的度276
12.2.2 遞歸聯係278
12.3 屬性 279
12.3.1 簡單屬性和組閤屬性279
12.3.2 單值屬性和多值屬性279
12.3.3 導齣屬性 280
12.3.4 關鍵字 280
12.4 強實體類型與弱實體類型282
12.5 聯係的屬性282
12.6 結構化約束283
12.6.1 一對一(1:1)聯係283
12.6.2 一對多(1:*)聯係284
12.6.3 多對多(*:*)聯係285
12.6.4 復雜聯係的多重性287
12.6.5 基數約束和參與性約束288
12.7 ER模型的問題289
12.7.1 扇形陷阱289
12.7.2 斷層陷阱291
本章小結292
思考題293
習題293
第13章 增強的實體-聯係建模295
13.1 特殊化/泛化295
13.1.1 超類和子類296
13.1.2 超類/子類聯係296
13.1.3 屬性的繼承297
13.1.4 特殊化過程297
13.1.5 泛化過程298
13.1.6 特殊化/泛化的約束300
13.1.7 基於DreamHome案例研究的Branch視圖特殊化/泛化建模示例301
13.2 聚閤304
13.3 組閤305
本章小結306
......
前 言
背景在過去的30年中,數據庫的研究帶來瞭巨大的生産力,使得數據庫係統成為軟件工程領域最重要的成果。目前,數據庫作為信息係統的基本框架,已從根本上改變瞭許多公司的運作方式。特彆是在最近幾年裏,隨著這項技術本身的發展,産生瞭一些功能更強大、使用更方便的係統。這使得數據庫係統變得越來越普及,用戶類型也越來越廣泛。遺憾的是,正是由於數據庫係統的簡單性,許多用戶有可能尚缺乏必要的知識,還不懂得如何開發正確且高效的係統,就開始創建數據庫及其應用程序瞭。這樣很可能導緻所謂的 “軟件危機”(software crisis,有時也稱為“軟件抑鬱”(software depression))的延續。
編寫本書的最初動因是我們在工業界的工作經曆,當時我們為新軟件係統中數據庫的設計提供谘詢,間或也解決遺留係統中存在的種種問題。進入學術界後,我們從另一類用戶—學生那裏發現瞭類似的問題。因此,本書的目標就是給齣一本教程,盡可能清楚地介紹數據庫的基礎理論,並給齣一套既能為專業技術人員亦能為非技術人員所用的數據庫設計方法學。
本書針對當前主流的商用産品—關係數據庫管理係統(DBMS)給齣的設計方法學,已在學術界和工業界測試和使用瞭許多年。它包括三個主要階段:數據庫的概念設計、邏輯設計和物理設計。第一個階段在不考慮任何物理因素的前提下設計概念數據模型,得到的數據模型在第二階段被細化為邏輯數據模型,細化過程主要是去除在關係係統中無法錶示的結構。在第三階段,邏輯數據模型被轉換成針對目標DBMS的物理設計,物理設計階段主要考慮如何設計存儲結構和訪問方法,以便有效並安全地訪問存儲在輔存中的數據庫。
該方法學按階段被分為一係列步驟。對於缺少經驗的設計者,最好按步驟進行設計,這裏所提供的指南可幫助你完成整個過程。對於有經驗的設計者,該方法學的指導作用顯然會弱化,但經常可用於開發框架和檢查列錶。為瞭幫助讀者學習使用上述方法學並理解其要點,整個方法學的描述中始終貫穿一個完整的DreamHome案例研究。附錄B還給齣瞭另外三個案例,供讀者自行研究。
UML(統一建模語言)越來越多的公司都在規範各自的數據建模方法,即選擇一種特定的建模方法並在整個數據庫開發項目中始終如一地使用它。一種在數據庫概念設計和邏輯設計階段較為通用的高級數據模型是ER(實體-聯係)模型,這也是本書采用的模型。由於當前還沒有錶示ER模型的標準方法,因此大部分書籍在描述關係DBMS的數據庫設計時,常常使用下述兩種錶示方法之一:
Chen氏錶示方法,即用矩形錶示實體,用菱形錶示聯係,用綫段連接矩形和菱形。
Crow Feet(鴉爪)錶示方法,仍用矩形錶示實體,用實體間的連綫錶示聯係,在一對多聯係連綫的多端有一個鴉爪標記。
當前,這兩種錶示方法都有計算機輔助軟件工程(CASE)工具。然而,它們都難於使用和解釋。本書的較早版本曾使用Chen氏錶示方法,而在隨後培生教育齣版集團進行的一次問捲調查中,比較一緻的意見是應該使用最新的稱為UML(Unified Modeling Language,統一建模語言)的麵嚮對象建模語言。UML錶示方法結閤瞭麵嚮對象設計三大流派的成分:Rumbaugh的OMT建模語言,Booch的麵嚮對象分析和麵嚮對象設計,以及Jacobson的Objectory。
換用錶示方法主要有以下三個原因:(1)UML正成為一種工業標準,例如,對象管理組(OMG)已經采納UML作為對象方法的標準錶示方法;(2)UML錶達清楚並易於使用;(3) UML目前已被學術界用於麵嚮對象分析與設計的教學,在數據庫模塊的教學中也使用UML將會更加一緻。因此,在這個版本中,我們將采用UML的類圖作為ER模型的錶示方法。讀者將會發現這種錶示方法更加容易理解和使用。
第6版的更新之處擴展瞭第3章“數據庫的結構與Web”,增加瞭雲計算。
修改瞭第21章“數據管理中的職業、法律與道德問題”。
增加瞭“數據倉庫與時態數據庫”(31.5節)。
每章後增加瞭新的思考題和習題。
修改瞭與SQL相關的章節,全麵反映2011年公布的新標準SQL:2011。
修訂瞭第26章“復製與移動數據庫”。
修改瞭關於Web-DBMS集成和XML的章節。
與Oracle相關的內容一律修改為針對Oracle 11g。
讀者對象本書可作為本科生數據庫管理或數據庫設計的導論性教材,也可作為研究生或高年級本科生相關課程的教材,學時可分為一到兩個學期。通常信息係統、商業IT或計算機科學等專業都包含這類課程。
本書還可以作為一些IT專業人士的參考書,如係統分析和設計人員、應用程序開發人員、係統程序員、數據庫從業人員及獨立的自學者。隨著當今數據庫係統的廣泛使用,這些專業人士可能來自於需要數據庫的任何類型的公司。
讀者在學習關於物理數據庫設計的第18章和關於查詢處理的第23章之前,如果對附錄F中介紹的文件組織和數據結構相關概念有清楚的瞭解,那麼將會有所幫助。理想的情況是這些背景知識已從前導課程中獲得。如果不具備這個條件,則可以在開始數據庫課程後,學 數據庫係統:設計、實現與管理(基礎篇)(原書第6版) 下載 mobi epub pdf txt 電子書
好書,值得擁有!
評分內容不錯,作者以自身的實際開發經驗深入講述瞭數據庫係統原理
評分不錯,質量很好,物流快!
評分很厲害的基礎知識叢書,怕自己看不完
評分還不錯~送貨速度快~習慣好評~
評分數據庫係統必讀…希望能啃下來
評分經常在京東買書,速度快,時效有保障。還不錯
評分書的質量不錯,好好學習一下!
評分這本書很全麵詳細,真的不錯
數據庫係統:設計、實現與管理(基礎篇)(原書第6版) pdf epub mobi txt 電子書 下載