注冊 | 登錄讀書好,好讀書,讀好書!
讀書網-DuShu.com
當前位置: 首頁出版圖書科學技術計算機/網絡數據庫數據庫理論數據庫原理(第2版)

數據庫原理(第2版)

數據庫原理(第2版)

定 價:¥29.00

作 者: (美)David M. Kroenke著;郭平譯;郭平譯
出版社: 清華大學出版社
叢編項: 國外經典教材·計算機科學與技術
標 簽: 暫缺

ISBN: 9787302105817 出版時間: 2005-06-01 包裝: 平裝
開本: 26cm 頁數: 250 字數:  

內容簡介

  ColinJohnson是西雅圖一家小型制造廠的產品管理員。幾年前,Colin計劃構建一個數據庫來跟蹤產品包中的產品。一開始,他運用電子制表軟件來完成這一工作,卻無法通過該表獲取所需的報表。Colin聽說了MicrosoftAccess,希望該軟件能解決問題。經過幾天的嘗試,他發(fā)現無法掌握Access的使用方法,于是購買了一些流行的Access書籍并努力學習。不過最終他還是放棄了,于是他聘請了一個顧問,該顧問創(chuàng)建了一個大致可滿足Colin要求的應用程序。一段時間以后,Colin想對此應用程序作一些改動,但他卻不敢作這樣的嘗試。Colin是個成功的商人,他能夠主動地去實現他的目標。作為一個老練的Windows用戶,他可以通過自學掌握Excel、PowerPoint以及大量面向產品的應用程序。但他在使用Access來解決問題時卻停滯不前。Colin認為“我確信我可以做到,但我沒有更多的時間”。這樣的事件非常引人注目,因為在過去的10年內上演了無數次。Microsoft、Oracle和其他數據庫管理系統(tǒng)(DBMS)廠商都意識到了這一情況,他們投入了數百萬美元來創(chuàng)建更好的圖形界面、數以百計的多面板向導,以及眾多示例應用程序。遺憾的是,這樣的努力無法從根本上解決問題。事實上,許多用戶并不清楚向導可以實現哪些功能。一旦這些用戶需要修改數據結構或是組件(例如窗體和查詢),就會陷入麻煩中,這令他們措手不及。如果不了解底層結構,這些用戶就只能絞盡腦汁,卻徒勞無功。最終也只能得到一些設計糟糕的數據庫和應用程序,而無法滿足用戶的要求。那么為什么像Colin這樣的用戶可以學會使用文字處理軟件或電子數據表這樣的產品,卻無法學會使用DBMS產品呢?其中一個主要原因就是許多人都不熟悉數據庫的基本概念。每個人可能都知道段落和邊距,卻無法理解關系的概念。其次,他們可能覺得使用DBMS產品一定比了解數據庫概念本身更容易?!拔覀兿胱龅闹皇歉櫼恍﹥热荩瑸槭裁磳崿F起來卻這么困難?”如果不了解關系模型,在存儲數據之前將一張銷售發(fā)票分成5個單獨的表就可能使業(yè)務用戶產生迷惑?;靖拍町斀竦募夹g特點是如果不學習基本概念,那么就不可能成功地利用DBMS。憑借多年來為業(yè)務用戶開發(fā)數據庫的經驗,我認為數據庫的基本概念主要包括以下內容:●關系模型的基本概念●結構化查詢語言(SQL)●數據建?!駭祿煸O計●數據庫管理像Colin這樣的用戶(或是將接受類似工作的學生)不需要像信息系統(tǒng)專家那樣深入地了解這些主題。因此,本書只介紹了一些基本的概念——這些內容對于像Colin這樣的用戶(創(chuàng)建和使用小型數據庫的用戶)來說至關重要。我已經在DatabaseProcessing一書中重寫、簡化和刪除了一些內容1。不過在本書中,也力求討論準確,不會產生誤導。即使學生們已學習過更高級的數據庫課程,也仍然可從本書中獲益。獨立于DBMS產品的概念本書假設學生沒有使用過任何特定的DBMS產品。雖然附錄中介紹了如何使用Access,但所有的概念都適合于DBMS產品。通過這種方式,學生們可以理解所有數據庫的基礎知識——從小型的Access數據庫到大型的Oracle或DB2數據庫。而且這一方法也避免了一個常見的問題。在同時介紹概念和產品時,學生容易將概念與產品特性、功能相混淆。例如參照完整性約束。在講授基礎理論時,學生都知道在某些情況下,一個表中的列值必須總是由另一個表中的列值提供。學生也將知道這一約束如何出現在關系定義的上下文中,以及DBMS或應用程序如何強制執(zhí)行這一約束。如果結合具體的DBMS教學,如Access,那么學生將學到的知識就可能是:在某些情況下選取復選框,而在其他情況下不選取的具體操作。這樣很容易導致在介紹產品特性的同時,使學生們淡忘了數據庫的基礎理論。然而這并不是說在本書中將不使用DBMS。相反,學生們可以通過使用企業(yè)版DBMS產品來熟悉這些基本概念。本書假定您將參閱其他書籍或資料來學習如何使用DBMS的特性和功能,Prentice-Hall提供了有關MicrosoftAccess2003的大量輔助讀物,可以結合本書一起學習。復習題、練習題和實踐項目學生能否學會最終運用所學的知識非常重要,因此每章都提供了一些復習題、練習題和三個貫穿本書始終的項目。如果學生閱讀并理解了每一章的內容,就可以知道復習題的答案。練習題要求學生將每章所講的概念應用到具體的小問題或任務中。第一個項目GardenGlory介紹了一個向個人或企業(yè)提供園藝服務的合伙公司的數據庫,并討論了該數據庫的開發(fā)和使用。第二個項目JamesRiver珠寶行分析了一家零售店為支持針對的購買者而設計的程序的數據庫需求。第三個項目介紹了Mid-Western大學化學系實驗設備的調度。本書的所有章節(jié)和附錄中都包括了這3個項目。在每個實例中,都要求學生將各章中學到的知識運用到項目中。教師們將從教師手冊中獲得有關這些項目的使用的更多信息,可以從Web站點(www.prenhall.com/kroenke)的教師專區(qū)獲取相關數據庫和示例數據。對第1版的改進與第1版相比,本書主要有兩點改進。首先,關于規(guī)范化化的討論已經轉向于如何為關系的規(guī)范化提供說明性的過程。在本書的第1版中就曾經介紹過規(guī)范化的原則,但將原則的應用留給了學生。本版的第2章介紹了學生使用規(guī)范化的4個步驟。這一改變不僅可以使規(guī)范化更加簡單,還可以使規(guī)范化的原則更易于理解。其次,新添的第7章介紹了如下高級主題的概述?!馱eb數據庫處理●使用XML處理數據庫●分布式數據庫處理●OLAP和數據挖掘●對象關系數據庫管理所有這些討論的目的都只是將這些主題的本質介紹給學生,從而增強學生的數據庫基本知識,并且鼓勵他們在重要的主題領域繼續(xù)努力學習。主要內容本書共包括7章和1個附錄。第1章解釋了使用數據庫的原因、數據庫的組成以及開發(fā)數據庫的方法。學生們將學習數據庫及其應用程序的用途、數據庫相對于電子表格列表的差別和優(yōu)勢。第2章介紹了關系模型,定義了基本的關系術語,同時還介紹了規(guī)范化原則的基本概念,并描述了規(guī)范化過程。第3章講述了基本的SQL語句。描述了定義數據的基本SQL語句,如SQLSELECT和數據修改語句。本書并不介紹高級的SQL語句,只講述一些核心的語句。接下來的3章討論了數據庫設計和管理。第4章使用實體-關系(E-R)模型解決數據建模問題,其中包括對數據建模的需求、基本的E-R術語和概念,還提供了一個簡短的E-R建模示例應用程序。第5章講述了數據庫設計,解釋了規(guī)范化的基本概念。第4章示例中的數據模型在第5章中則被轉換為關系設計。第6章討論了數據庫管理。該章講述了數據庫管理的需求,概述了并發(fā)控制、安全性和備份恢復技術。這些主題對所有的數據庫都很重要,對個人的單用戶數據庫也是如此。事實上,這些主題在某些方面對于私人數據庫更為重要,因為它們沒有專業(yè)的數據庫管理員來確保關鍵任務的執(zhí)行。最后,第7章介紹了前面所描述的高級主題。在附錄中介紹了MicrosoftAccess。這一簡短的介紹可以幫助學生結合Access技術文檔文件創(chuàng)建簡單的數據庫和應用程序組件?;仡櫯c展望在過去的30多年中,我發(fā)現數據庫和數據庫應用程序的開發(fā)是一項令人愉快、有益的工作。我相信,未來數據庫的數量、大小以及重要性都將有大幅度的提高,該領域將取得更大的成就。在此希望本書中所提及的概念、知識和技術有助于學生更好地進行數據庫項目的開發(fā)。

作者簡介

  DavidM.Kroenke是數據庫技術的開發(fā)先驅,曾開發(fā)出世界上第一個數據庫管理系統(tǒng)(DBMS)產品,并領導開發(fā)了R:base系列產品。此外,他還擔任過Microsoft公司Access項目的顧問,同時也是語義對象模型的創(chuàng)始人。相關圖書C++精解和程序設計(第4版)程序設計抽象思想:C語言描述C++簡明教程精通Office商務應用完美C++教程信息技術基礎(第3版)C語言教程:模塊化程序設計(第2版)TCP/IP網絡互聯技術(卷3):客戶-服務器編程與應用(Windows套接字版)

圖書目錄

第Ⅰ部分 數據庫基礎
第1章 數據庫簡介 3
1.1 使用數據庫的原因 3
1.1.1 關于列表的問題 4
1.1.2 使用關系數據庫 6
1.1.3 關系表的處理 11
1.2 數據庫系統(tǒng)的概念 12
1.2.1 數據庫 13
1.2.2 DBMS 14
1.2.3 應用程序 15
1.2.4 桌面數據庫系統(tǒng)和企業(yè)數據庫系統(tǒng)的比較 18
1.3 小結 20
1.4 復習題 21
1.5 練習題 22
1.6 Garden Glory項目 23
1.7 James River珠寶行項目 23
1.8 Mid-Western大學化學系項目 24
第2章 關系模型 25
2.1 關系 25
2.1.1 關系與非關系的示例 26
2.1.2 術語說明 27
2.2 鍵的類型 28
2.2.1 復合鍵 29
2.2.2 主鍵與候選鍵 29
2.2.3 外鍵與參照完整性約束 30
2.2.4 代理鍵 33
2.3 函數依賴與規(guī)范化 36
2.3.1 函數依賴 36
2.3.2 再論主鍵與候選鍵 38
2.3.3 規(guī)范化 38
2.3.4 關系設計原則 39
2.3.5 規(guī)范化過程 40
2.3.6 規(guī)范化的示例 42
2.4 空值問題 47
2.5 小結 48
2.6 復習題 49
2.7 練習題 51
2.8 Garden Glory項目 51
2.9 James River珠寶行項目 53
2.10 Mid-Western大學化學系項目 54
第3章 結構化查詢語言 57
3.1 示例數據庫 57
3.2 用于數據定義的SQL語句 59
3.2.1 使用表約束定義主鍵 61
3.2.2 使用表約束定義外鍵 62
3.2.3 向DBMS提交SQL語句 63
3.2.4 DROP語句 64
3.3 SQL關系查詢語句 64
3.3.1 從單個表中讀取指定列 65
3.3.2 從單個表中讀取指定行 66
3.3.3 從單個表中讀取指定行和指定列 67
3.3.4 在WHERE子句中指定范圍、使用通配符和空值 68
3.3.5 對結果進行排序 70
3.3.6 SQL內置函數 71
3.3.7 內置函數和分組 73
3.3.8 使用子查詢處理多個表 74
3.3.9 使用連接處理多個表 75
3.3.10 外部連接 78
3.4 修改關系數據的SQL語句 80
3.4.1 插入數據 80
3.4.2 修改數據 81
3.4.3 刪除數據 81
3.5 小結 82
3.6 復習題 83
3.7 練習題 85
3.8 Garden Glory項目 86
3.9 James River珠寶行項目 87
3.10 Mid-Western大學化學系項目 88
第Ⅱ部分 數據庫設計和管理
第4章 數據建模與實體-關系模型 93
4.1 需求分析階段 94
4.2 實體-關系數據模型 94
4.2.1 實體 95
4.2.2 屬性 96
4.2.3 標識符 96
4.2.4 關聯 96
4.2.5 二元關聯的3種類型 97
4.2.6 遞歸關聯 98
4.2.7 實體-關系圖 98
4.2.8 弱實體和ID依賴實體 99
4.3 UML實體-關系模型 101
4.3.1 UML形式的實體和關系 101
4.3.2 UML形式的弱實體 102
4.4 開發(fā)E-R圖示例 102
4.4.1 Heather Sweeney Designs公司的數據庫 103
4.4.2 培訓課的客戶列表 103
4.4.3 給客戶的信函模板 105
4.4.4 銷售發(fā)貨單 107
4.4.5 屬性說明 111
4.4.6 業(yè)務規(guī)則 111
4.4.7 驗證數據模型 111
4.5 小結 112
4.6 復習題 113
4.7 練習題 114
4.8 Garden Glory項目 114
4.9 James River珠寶行項目 115
4.10 Mid-Western大學化學系項目 115
第5章 數據庫設計 117
5.1 用關系模型表示實體 117
5.1.1 ITEM實體的表示 117
5.1.2 CUSTOMER實體的表示 118
5.1.3 非規(guī)范化 119
5.1.4 SALES-COMMISSION實體的關系設計 120
5.1.5 弱實體的表示 122
5.2 關聯的表示 123
5.2.1 一對一關聯的表示 123
5.2.2 存在問題的一對一關聯 125
5.2.3 一對多關聯的表示 126
5.2.4 多對多關聯的表示 128
5.2.5 遞歸關聯的表示 130
5.3 Heather Sweeney Designs數據庫設計 134
5.3.1 弱實體 135
5.3.2 關聯 135
5.3.3 強制參照完整性 136
5.4 小結 138
5.5 復習題 138
5.6 練習題 139
5.7 Garden Glory項目 140
5.8 James River珠寶行項目 140
5.9 Mid-Western大學化學系項目 141
第6章 數據庫管理 143
6.1 數據庫處理環(huán)境 144
6.1.1 查詢、窗體和報表 144
6.1.2 Internet應用程序處理 145
6.1.3 客戶機/服務器以及傳統(tǒng)的應用程序處理 145
6.1.4 存儲過程和觸發(fā)器 146
6.1.5 控制、安全和可靠性的必要性 147
6.2 并發(fā)控制 148
6.2.1 使用原子事務的必要性 148
6.2.2 并發(fā)事務處理 149
6.2.3 丟失更新問題 150
6.2.4 并發(fā)問題:臟讀取、非一致讀取和幻象讀取 151
6.2.5 資源鎖定 152
6.2.6 串行化事務 153
6.2.7 死鎖 153
6.2.8 樂觀鎖定和悲觀鎖定 154
6.2.9 聲明鎖定特征 155
6.2.10 一致事務 156
6.2.11 事務隔離級別 157
6.3 數據庫安全 158
6.3.1 處理權限和責任 158
6.3.2 DBMS安全 160
6.3.3 應用程序安全 161
6.4 數據庫備份與恢復 162
6.4.1 通過重新處理恢復 163
6.4.2 通過回滾和前滾恢復 163
6.5 DBA的其他職責 167
6.6 小結 167
6.7 復習題 169
6.8 練習題 171
6.9 Garden Glory項目 171
6.10 James River珠寶行項目 172
6.11 Mid-Western大學化學系項目 173
第7章 高級主題 175
7.1 Web數據庫處理 175
7.1.1 使用Active Server Pages進行Web處理 176
7.1.2 使用JSP進行Web處理 179
7.1.3 ODBC和JDBC 181
7.1.4 Web數據庫處理面臨的挑戰(zhàn) 183
7.2 數據庫處理和XML 183
7.2.1 XML模式文件 184
7.2.2 XML和數據庫處理 185
7.2.3 XML Web Services 186
7.3 分布式數據庫處理 187
7.3.1 分布式數據庫的類型 187
7.3.2 分布式數據庫面臨的挑戰(zhàn) 188
7.4 OLAP和數據挖掘 189
7.4.1 OLAP 190
7.4.2 數據挖掘 192
7.5 對象關系型數據庫 193
7.6 小結 194
7.7 復習題 196
7.8 練習題 197
附錄A 使用Microsoft Access 處理數據庫 199
A.1 Carbon River Construction的數據庫模式 199
A.1.1 Carbon River Construction的數據結構圖 200
A.1.2 列設計 201
A.2 用Access創(chuàng)建表和關聯 202
A.2.1 創(chuàng)建表 203
A.2.2 創(chuàng)建關聯 205
A.3 創(chuàng)建查詢和SQL語句 208
A.3.1 運用圖形工具創(chuàng)建簡單的SQL查詢 208
A.3.2 操作查詢 213
A.4 創(chuàng)建Access的數據輸入窗體 215
A.4.1 創(chuàng)建簡單的窗體 215
A.4.2 在窗體中使用默認值和組合框 217
A.4.3 查找非鍵值數據 221
A.5 創(chuàng)建Access報表 223
A.5.1 帶式報表生成器 223
A.5.2 報表中的計算 226
A.5.3 參數化報表 228
A.6 小結 230
A.7 復習題 231
A.8 練習題 233
A.9 Garden Glory項目 233
A.10 James River珠寶行項目 234
術語表 237

本目錄推薦

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