資料庫原理(第5版)

資料庫原理(第5版)

《資料庫原理(第5版)》是一本 (美) David M. Kroenk David J.Auer編制,由清華大學出版社在2011-11-16出版的書籍。

基本信息

作者: (美) David M. Kroenk David J.Auer [作譯者介紹] 譯者: 趙艷鐸 葛萌萌

叢書名: 國外計算機科學經典教材

出版日期:2011 年11月

開本:16開

頁碼:1

版次:5-1

作譯者介紹

David M. Kroenke在1967年作為Rand公司的暑期實習生進入了計算行業。此後,他的職業生涯涉及教育、工業、顧問和出版等領域。

Kroenke曾經在華盛頓大學、科羅拉多州立大學、西雅圖大學任教。在多年的教學生涯中,他組織了數十次由大學教授參加的教學研討會。1991年,國際信息系統協會(International Association of Information System)授予他“年度計算機教育家”的榮譽稱號。

在工業方面,Kroenke曾經為美國空軍和波音計算機服務公司工作,是三家公司的主要創辦人。他曾任Microrim公司負責產

目錄

《資料庫原理(第5版)》

第Ⅰ部分 資料庫基礎

第1章 資料庫入門 3

1.1 使用資料庫的原因 3

1.1.1 關於列表的問題 4

1.1.2 使用關係資料庫表 6

1.1.3 關係表的處理 10

1.2 資料庫系統的概念 12

1.2.1 資料庫 12

1.2.2 dbms 13

1.2.3 個人資料庫系統和企業級

資料庫系統 16

1.3 access工作檯:第一部分——

熟悉microsoft access 17

1.3.1 wallingford motors客戶

關係管理系統 18

1.3.2 創建access資料庫 18

1.3.3 office fluent用戶界面 20

1.3.4 關閉資料庫,退出access 22

1.3.5 打開已有的access資料庫 23

.1.3.6 創建access資料庫表 24

1.3.7 在表中插入數據——數據

表視圖 30

1.3.8 修改表中的數據——數據

表視圖 33

1.3.9 刪除表中的行——數據

表視圖 34

1.3.10 在表中插入數據——使用

表單 35

1.3.11 使用表單修改數據和刪除

記錄 37

1.3.12 創建單表的access報表 38

1.3.13 關閉資料庫並退出

access 2010 40

1.4 小結 40

1.5 重要術語 41

1.6 複習題 41

1.7 練習題 42

1.8 access工作檯的重要術語 43

1.9 access工作檯練習題 43

1.10 garden glory項目問題 44

1.11 james river珠寶行項目

問題 45

1.12 queen anne curiosity商店

項目問題 45

第2章 關係模型 47

2.1 關係 47

2.1.1 一個關係表與兩個非關係

表示例 48

2.1.2 顯示關係表結構要注意的

問題 50

2.1.3 術語說明 50

2.2 鍵的類型 51

2.2.1 複合鍵 51

2.2.2 候選鍵與主鍵 51

2.2.3 代理鍵 54

2.2.4 外鍵與參照完整性 54

2.3 null值的問題 57

2.4 函式依賴與規範化 58

2.4.1 函式依賴 58

2.4.2 再論主鍵與候選鍵 59

2.4.3 規範化 60

2.4.4 表的設計原則 61

2.4.5 規範化過程 61

2.4.6 規範化的示例 63

2.5 access工作檯:第二部分——

在access中操作多個表 68

2.5.1 wmcrm資料庫中可能

出現的修改問題 68

2.5.2 操作多個表 72

2.5.3 創建表之間的關係 75

2.5.4 使用包括兩個表的表單 77

2.5.5 創建包括兩個表中數據的

報表 78

2.5.6 關閉資料庫並退出access 80

2.6 小結 80

2.7 重要術語 81

2.8 複習題 81

2.9 練習題 82

2.10 access工作檯的重要術語 83

2.11 access工作檯練習題 83

2.12 garden glory項目問題 86

2.13 james river jewelry珠寶行

項目問題 87

2.14 queen anne curiosity商店

項目問題 88

第3章 結構化查詢語言 91

3.1 示例資料庫 92

3.2 用於數據定義的sql語句 96

3.2.1 使用表約束定義主鍵 100

3.2.2 使用表約束定義外鍵 102

3.2.3 向dbms提交sql語句 104

3.3 插入關係數據的sql語句 105

3.4 sql關係查詢語句 108

3.4.1 sql select/from/

where架構 108

3.4.2 從單個表中讀取指定列 109

3.4.3 從單個表中讀取指定行 111

3.4.4 從單個表中讀取指定行

和指定列 112

3.4.5 where子句中的範圍、

通配符和空值 114

3.4.6 對查詢結果排序 117

3.4.7 sql內置函式和計算 118

3.4.8 內置函式和分組 120

3.4.9 使用子查詢處理多個表 122

3.4.10 使用連線查詢多個表 123

3.4.11 sql join…on語法 127

3.4.12 外連線 129

3.5 修改和刪除關係數據的

sql語句 131

3.5.1 修改數據 131

3.5.2 刪除數據 133

3.6 修改和刪除表和約束的

sql語句 134

3.6.1 drop table語句 134

3.6.2 alter table語句 134

3.6.3 check約束 134

3.7 sql視圖 135

3.8 access工作檯:第三部分——

在access中使用查詢 135

3.8.1 使用access sql 136

3.8.2 使用microsoft access

qbe 139

3.8.3 使用microsoft access

參數化查詢 144

3.8.4 使用access sql創建表 146

3.8.5 修改access表以添加

access sql不支持的

數據需求 148

3.8.6 用access sql插入數據 153

3.8.7 使用access sql添加參照

完整性約束 157

3.8.8 修改access資料庫以添加

access sql不支持的

約束 157

3.8.9 關閉資料庫並退出access 159

3.9 sql視圖的創建 159

3.10 sql視圖的使用 162

3.10.1 用視圖隱藏列和行 163

3.10.2 用視圖顯示計算列的

結果 164

3.10.3 用視圖隱藏複雜的sql

語法 165

3.10.4 計算和內置函式的

分層 166

3.11 access工作檯:

在access中使用視圖 167

3.12 小結 170

3.13 重要術語 171

3.14 複習題 172

3.15 練習題 176

3.16 access工作檯的重要術語 178

3.17 access工作檯練習題 178

3.18 garden glory項目問題 182

3.19 james river珠寶行項目

問題 184

3.20 queen anne curiosity商店

項目問題 185

第Ⅱ部分 資料庫設計

第4章 數據建模與實體-關係模型 191

4.1 需求分析 192

4.2 實體-關係數據模型 192

4.2.1 實體 193

4.2.2 屬性 193

4.2.3 標識符 194

4.2.4 關係 194

4.3 實體-關係圖 197

4.3.1 e-r模型的版本 197

4.3.2 數據建模產品中的e-r

變體 197

4.3.3 弱實體 199

4.3.4 id依賴實體 199

4.3.5 非id依賴的弱實體 201

4.3.6 子型實體 203

4.3.7 遞歸關係 204

4.4 開發e-r圖示例 205

4.4.1 heather sweeney designs

公司的資料庫 205

4.4.2 培訓課的客戶列表 205

4.4.3 給客戶的信函模板 207

4.4.4 銷售發貨單 209

4.4.5 屬性說明 211

4.4.6 業務規則 213

4.4.7 驗證數據模型 213

4.5 access工作檯:第四部分——

使用access開發原型 213

4.5.1 為原始的數據模型創建

原型表單 215

4.5.2 為修改過的數據模型創建

原型表單 216

4.5.3 access的banded form and

report editors 219

4.5.4 關閉資料庫並退出

access 220

4.6 小結 220

4.7 重要術語 221

4.8 複習題 221

4.9 練習題 222

4.10 access工作檯重要術語 223

4.11 access工作檯練習題 223

4.12 garden glory項目問題 223

4.13 james river jewelry項目

問題 224

4.14 queen anne curiosity 商店

項目問題 224

第5章 資料庫設計 227

5.1 把數據模型轉換為資料庫的

設計方案 227

5.2 使用關係模型表示實體 228

5.2.1 item實體的表示 228

5.2.2 customer實體的表示 230

5.2.3 反規範化 231

5.2.4 sales_commission

實體的關係設計 232

5.2.5 弱實體的表示 234

5.3 關係的表示 236

5.3.1 強實體中的關係 236

5.3.2 使用弱實體的關係 243

5.3.3 子型實體關係的表示 244

5.3.4 遞歸關係的表示 244

5.4 heather sweeney designs

公司的資料庫設計 247

5.4.1 弱實體 248

5.4.2 關係 248

5.4.3 實現參照完整性約束 249

5.5 access工作檯:第五部分——

access中的關係 251

5.5.1 access中的n:m關係 251

5.5.2 access中的1:1關係 251

5.5.3 關閉資料庫並退出access 256

5.6 小結 256

5.7 重要術語 256

5.8 複習題 257

5.9 練習題 258

5.10 access工作檯重要術語 259

5.11 access工作檯練習題 259

5.12 garden glory公司項目

問題 259

5.13 james river珠寶行項目

問題 260

5.14 queen anne curiosity商店

項目問題 260

第Ⅲ部分 資料庫管理

第6章 資料庫管理 263

6.1 heather sweeney designs

資料庫 264

6.2 控制、安全和可靠的

必要性 270

6.3 並發控制 270

6.3.1 使用原子事務的必要性 271

6.3.2 並發事務處理 272

6.3.3 丟失更新問題 273

6.3.4 並發問題:髒讀取、不可

重複讀取和幻象讀取 273

6.3.5 資源鎖定 274

6.3.6 可串列化的事務 274

6.3.7 死鎖 275

6.3.8 樂觀鎖定和悲觀鎖定 275

6.3.9 聲明鎖定特徵 276

6.3.10 一致事務 277

6.3.11 事務隔離級別 278

6.4 游標類型 279

6.5 資料庫安全 280

6.5.1 用戶賬戶 281

6.5.2 用戶處理許可權和責任 281

6.5.3 dbms級別的安全 284

6.5.4 應用程式級別的安全 285

6.6 資料庫備份與恢復 286

6.6.1 通過重新處理來恢復 286

6.6.2 通過回滾和前滾來恢復 287

6.7 dba的其他職責 289

6.8 分散式資料庫的處理 290

6.8.1 分散式資料庫的類型 290

6.8.2 分散式資料庫面臨的挑戰 291

6.9 對象-關係資料庫 292

6.10 access工作檯:第六部分——

access中的資料庫管理 292

6.10.1 access中的資料庫安全 292

6.10.2 access 2010中的資料庫

安全 293

6.10.3 access 2003 .mdb資料庫

檔案中的資料庫安全 310

6.10.4 關閉資料庫並退出

access 313

6.11 小結 314

6.12 重要術語 315

6.13 複習題 316

6.14 練習題 318

6.15 access工作檯重要術語 318

6.16 access工作檯練習題 318

6.17 garden glory項目問題 319

6.18 james river珠寶行項目

問題 320

6.19 queen anne curiosity商店

項目問題 322

第7章 資料庫處理應用程式 325

7.1 資料庫處理的環境 326

7.1.1 查詢、表單和報表 326

7.1.2 客戶機/伺服器和傳統的

應用程式處理 327

7.1.3 存儲過程和觸發器 328

7.2 web資料庫處理 328

7.2.1 odbc 330

7.2.2 使用iis進行web處理 333

7.2.3 html web頁面入門 335

7.2.4 web頁面index.html 336

7.2.5 創建web頁面index.html 336

7.2.6 使用php對web資料庫

進行處理 338

7.2.7 web資料庫處理面臨的

挑戰 344

7.2.8 sql注入攻擊 345

7.3 資料庫處理和xml 345

7.3.1 xml的重要性 345

7.3.2 作為一種標記語言的

xml 346

7.3.3 xml文檔類型聲明 346

7.3.4 用xslt實體化xml

文檔 347

7.3.5 xml模式 347

7.3.6 xml和資料庫處理 350

7.3.7 xml web services 352

7.3.8 nosql movement 352

7.4 access工作檯:第七部分——

使用microsoft access進行

web資料庫處理 352

7.4.1 創建客戶聯絡視圖 353

7.4.2 wallingford motors的web

主頁 353

7.4.3 選擇資料庫檔案 356

7.4.4 創建odbc數據源 356

7.4.5 創建php頁面 357

7.4.6 運行php頁面 359

7.4.7 關閉 360

7.5 小結 360

7.6 重要術語 362

7.7 複習題 362

7.8 練習題 364

7.9 access工作檯練習題 366

7.10 garden glory公司項目

問題 366

7.11 james river jewelry珠寶行

項目問題 367

7.12 queen anne curiosity商店

項目問題 367

第8章 商業智慧型系統的資料庫處理 369

8.1 商業智慧型系統 370

8.2 可作業系統與bi系統的

關係 370

8.3 報表系統和數據挖掘套用

程式 370

8.3.1 報表系統 371

8.3.2 數據挖掘應用程式 371

8.4 數據倉庫和數據集市 372

8.4.1 數據倉庫的組成 372

8.4.2 數據倉庫和數據集市 373

8.4.3 多維資料庫 374

8.5 報表系統 380

8.5.1 rfm分析 380

8.5.2 報表系統的組成 381

8.5.3 報表系統的功能 383

8.5.4 olap 383

8.6 數據挖掘 387

8.6.1 無監督的數據挖掘 388

8.6.2 有監督的數據挖掘 389

8.6.3 購物籃分析 389

8.7 access工作檯:第八部分——

使用access的商業智慧型

系統 391

8.7.1 為olap報表創建一個

視圖查詢 391

8.7.2 為olap報表創建excel

工作表 394

8.7.3 創建基本的olap報表 395

8.7.4 構建olap報表 397

8.7.5 修改olap報表 400

8.7.6 關閉 402

8.8 小結 402

8.9 重要術語 403

8.10 複習題 404

8.11 練習題 405

8.12 access工作檯練習題 407

8.13 garden glory公司項目

問題 407

8.14 james river jewelry珠寶行

項目問題 408

8.15 queen anne curiosity商店

項目問題 408

前言

Colin Johnson是西雅圖一家小型製造廠的產品主管。幾年前,Colin計畫構建一個資料庫來跟蹤產品包中的產品。開始時他用電子表格完成這一工作,但卻無法通過該表獲取所需的報表。Colin聽說了Microsoft Access,希望該軟體能解決問題。經過幾天的嘗試,他發現無法掌握Access,於是購買了一些流行的Access書籍並努力學習。不過最終他還是放棄了,而是聘請了一個顧問,該顧問創建了一個大致可滿足Colin要求的應用程式。一段時間以後,Colin想修改此應用程式,但不敢進行這樣的嘗試。

Colin是一個成功的商人,他能夠主動地去實現他的目標。作為一名老練的Windows用戶,他可以通過自學掌握Excel、PowerPoint以及大量面向生產的應用程式包。但他在使用Access來解決問題時卻停滯不前。Colin認為“我確信我可以做到,但我沒有更多的時間”。這樣的事件非常引人注目,因為在過去的十年內這在很多人身上上演了無數次。

Microsoft、Oracle、IBM和其他資料庫管理系統(Database Management System,DBMS)廠商都意識到了這一情況,他們投入了數百萬美元來創建更好的圖形界面、數以百計的多窗格嚮導以及眾多示例應用程式。遺憾的是,這樣的努力無法從根本上解決問題。事實上,許多用戶並不清楚嚮導可以實現哪些功能。一旦這些用戶需要改變數據結構或組件(例如表和查詢),就會陷入麻煩中,這令他們措手不及。如果不了解底層結構,這些用戶就會無所適從。結果是資料庫和應用程式設計得非常糟糕,無法滿足要求。

為什麼像Colin這樣的用戶可以學會字處理軟體或電子表格這樣的產品,卻學不會DBMS產品?首先,許多人都不熟悉資料庫的基本概念。儘管每個人可能都知道段落和邊距的含義,但卻無法理解關係的概念。其次,他們可能覺得使用DBMS產品應該更容易。“我們只想記錄一些內容,為什麼實現起來卻這么困難?”如果不了解關係模型,在存儲數據之前將一張銷售發票分成五個單獨的表就可能使商業用戶感到困惑。

本書旨在幫助類似Colin的讀者理解、創建和使用DBMS產品中的資料庫,既適用於從書店購買本書的自學者,也適用於使用本書作為教材的學生。

本版的新內容

這一版中的新內容和特色將使學生和本書的其他讀者受益,其中包括:

● 使用Microsoft Access 2010演示和強調資料庫的創建和使用原則。本書把對Microsoft Access和其他Microsoft Office產品(如Excel)的所有引用都修訂為最新發布的Microsoft Office 2010版本。

● 本書的更新表現為使用Microsoft SQL Server 2008/2008 R2 Express版本。儘管書中大多數主題都向後兼容Microsoft SQL Server 2005 Express版本,但均專門使用SQL Server 2008和Office 2010。

● 本書中的更新還表現為使用MySQL Workbench作為MySQL 5.1的唯一資料庫開發工具。本書第4版使用的MySQL GUI工具被MySQL在2009年12月18日宣布停止使用。目前的MySQL Workbench 5.2.x集成了MySQL GUI工具的功能,這一版就使用它。

● 使用Microsoft Windows 7作業系統作為本書的工作站作業系統。上一版使用的是Windows XP和Windows Vista作業系統,而這一版更新為最新的Microsoft工作站作業系統。

● 添加了附錄C“系統分析和設計入門”。這個新附錄為沒有學習過這方面課程的學生或讀者介紹了系統分析和設計概念,論述了收集數據建模所需輸入信息的基本方法(參見第4章),並在應用程式開發的過程中融入了資料庫開發。此附錄包含在本書配書光碟中。

● 添加了附錄D“Microsoft Visio 2010入門”。這個新附錄介紹了如何使用Microsoft Visio 2010進行數據建模(參見第4章)和資料庫設計(參見第5章)。此附錄包含在本書配書光碟中。

● 添加了附錄E“Web伺服器、PHP和Eclipse PDT入門”。這個新附錄介紹了如何安裝和使用Microsoft IIS Web伺服器、PHP和用於Web資料庫應用程式開發的Eclipse PDT IDE(參見第7章)。此附錄包含在本書配書光碟中。

必要的基本概念

如果不學習基本概念,只靠現有的技術就不可能成功使用DBMS。憑藉多年來為商業用戶開發資料庫的經驗,我們認為下面的資料庫概念非常重要:

● 關係模型的基本概念

● 結構化查詢語言(SQL)

● 數據建模

● 資料庫設計

. ● 資料庫管理

由於當前Internet、World Wide Web和分析工具的廣泛使用,因此另外增加兩個基本概念:

● Web資料庫處理

● 商業智慧型(BI)系統

像Colin這樣的用戶(或將來從事類似工作的學生)不需要像信息系統專家那樣深入地了解這些主題。因此,本書只介紹最基本的概念,足以幫助Colin這樣的用戶創建和使用小型資料庫了。本書的許多內容在David M.Kroenke和David J.Auer的Database Processing: Fundamentals, Designs, and Implementation1一書的基礎上進行了重寫和簡化。不過在本書內容上我們也力求討論準確,不會產生誤導。即使學生已學習過更高級的資料庫課程,也可從中獲益。

獨立於DBMS產品的概念

本書假設學生沒有使用過任何特殊的DBMS產品,我們通過Microsoft Access、SQL Server Express版和MySQL來演示資料庫概念,使學生可以將這些產品作為工具真正試驗書中的內容,而這些概念都是以DBMS無關的方式出現。通過這種方式學習,學生可以掌握適用於任意資料庫的基本原則,包括小型的Microsoft Access資料庫到大型的Oracle或DB2資料庫。而且這一方法也避免了一個常見的問題:在同時介紹概念和產品時,學生容易混淆概念與產品特性和功能。例如,在講授參照完整性約束時,如果從概念的角度講授會說明這時一個表中的列值必須總是由另一個表中的列值提供,並解釋這一約束出現在關係定義的上下文中的方式,以及DBMS或應用程式如何強制執行這一約束。如果結合具體的DBMS講授如Microsoft Access,學生就只知道:在某些情況下選取複選框,而在其他情況下不選取。這很容易導致學生在學習產品特性時,會淡忘資料庫的基本概念。

這並不是說教學中不應使用DBMS。相反,學生們可以通過使用商業DBMS產品來更好掌握這些概念。本書的這一版包括Microsoft Access、SQL Server Express版和MySQL的足夠多的基礎信息,使您無需其他書籍或資料就可以在課堂上使用這些產品。本書還深入介紹了Microsoft Access,因為它是一個非常流行的個人資料庫產品,並且包括在Microsoft Office Professional應用程式套件中。但如果希望深入理解特定的DBMS或使用本書沒有介紹的DBMS產品,則需要額外的書籍或資料。Prentice Hall提供了Microsoft Access 2010和其他DBMS產品的大量圖書,可以結合本書一起學習。

Access工作檯

本書的這一版繼續使用首次在第3版引入的特徵—— “Access工作檯”。由於Microsoft Access廣泛用於初級資料庫課程,因此介紹使用Microsoft Access的特定信息比較重要。每一章都帶有一個“Access工作檯”部分,其中使用Microsoft Access來演示本章的概念和技術。“Access工作檯”部分在第1章中介紹了如何創建資料庫和單個表,逐漸轉移到不同主題,到最後第7章介紹相對於Microsoft Access資料庫的Web資料庫處理,和第8章介紹使用Microsoft Access和Microsoft Excel生成PivotTable OLAP報表。本書並非試圖全面論述Microsoft Access,而是介紹所有必要的基本Access主題,使學生可以有效地構建並使用Microsoft Access資料庫。

重要術語、複習題、練習題和項目

學生能否運用所學的知識非常重要,因此每章都提供了重要術語表(本版新增)、複習題、練習題(包括針對“Access工作檯”的練習題)和三個貫穿本書始終的項目。如果學生閱讀並理解了每一章的內容,就應能掌握每個重要術語的含義、能完成複習題。練習題要求學生將每章所講的概念套用到具體的小問題或任務中。

第一個項目Garden Glory是有關一個向個人或企業提供園藝服務的合夥公司的資料庫開發和使用。第二個項目James River珠寶行分析了為一家零售店實施常客計畫的資料庫需求。第三個項目Queen Anne Curiosity商店關注的是零售業的銷售和庫存需求。本書的所有章節都包括這三個項目。在每個實例中,都要求學生將各章的知識運用到項目中。教師會在教師手冊中找到使用這些項目的更多信息,還可以從本書網站中受密碼保護的教師部分獲得資料庫和數據。

本書使用的軟體

與之前我們使用與DBMS無關的方式進行討論一樣,本書將儘可能選擇獨立於作業系統的軟體,目前網路上有非常多的傑出軟體可以使用,許多大的DBMS廠商都提供了其主要產品的免費版本(如Microsoft 的SQL Server Express版,Oracle公司的Oracle資料庫和MySQL),Web編輯器和集成開發環境(IDE)也很常用,例如Eclipse、NetBeans和Visual Studio Express版。PHP被認為是第四個最常用的程式語言,可以下載用於許多作業系統和Web伺服器。

所以儘管本書的示例是用Microsoft作業系統、SQL Server 2008/2008 R2 Express版、Microsoft Access 2010、Microsoft Excel 2010和IIS Web伺服器創建的,但它們大都很容易用Linux、MySQL Server Community版、Calc和Apache Web伺服器創建。本書使用的一些軟體產品,如PHP和Eclipse都可用於多種作業系統。

在過去30多年中,我們已經發現資料庫和資料庫應用程式的開發是一項愉快且有回報的活動。我們相信:在將來資料庫的數量、大小和重要性會不斷增加,而該領域也越來越重要。希望本書介紹的概念、知識和技術幫助學生成功地參與到現在和多年後的資料庫項目中。

對第4版的改進

本版最重要的改進是在全文和“Access工作檯”每個部分都使用了Access 2010。由於推出了Microsoft Office 2010,本書做了更新以反映該產品中的變化。當然,我們還更新了本書所有其他產品的信息,尤其是本版使用Windows 7作業系統來演示本書中的應用程式,MySQL工作檯現在是MySQL資料庫開發的GUI。

我們繼續保持並改進了本書前幾版引入的幾個特性:

● 在每章中使用“Access工作檯”介紹Microsoft Access的基礎知識。

● 介紹SQL Server 2008 R2 Express版(附錄A)和Oracle MySQL Community Server 5.1(附錄B)的用法。附錄A和附錄B包含在本書配書光碟中。

● 使用示例數據集充分開發了在本書各個部分中使用的三個示例資料庫:Wedgewood Pacific Corporation、Heather Sweeney Designs和Wallingford Motors。

● 在Web資料庫處理主題中使用PHP腳本語言和Eclipse IDE。

● 擴充介紹了XML。

● 擴充介紹了商業智慧型(BI)系統。

● 介紹了多維資料庫模型

本版繼續使用之前版本增加的較為有效的規範化討論,使用一個四步過程來演示規範化關係的規定步驟。這種方法不僅簡化了規範化任務,而且使規範化原理更易於理解,因此當前版本仍沿用了這一方法。教師如需更多了解範式,可參考第5章中介紹的大多數範式的簡短定義。

本書概要

本書包括8章和5個附錄(附錄內容包含在本書配書光碟中)。第1章解釋了使用資料庫的原因、資料庫各個組件和開發方法。學生將學習資料庫及其應用程式的用途、資料庫相對於電子表格列表的差別和優勢。第2章介紹了關係模型,定義了基本的關係術語,還介紹了規範化原則的基本概念,並描述了規範化過程。

第3章講述了基本的SQL語句,介紹了定義數據的基本SQL語句,如SQL SELECT語句和數據修改語句。本書並不介紹高級的SQL語句,只講述基本語句。

接下來的兩章討論了資料庫設計。第4章使用實體-關係(E-R)模型解決數據建模問題,其中包括對數據建模的需求、基本的E-R術語和概念,並提供了一個簡短的E-R建模示例應用程式(Heather Sweeney Designs)。第5章講述了資料庫設計,解釋了規範化的基本概念。第4章示例中的數據模型在第5章中則被轉換為關係設計。

最後三章討論了資料庫管理,以及資料庫在應用程式中的使用。第6章概述了資料庫管理,構建了一個作為功能資料庫的示例資料庫,並用作討論資料庫管理需求的示例。本章探討了並發控制、安全性、備份及恢復技術。資料庫管理主題很重要,因為它適用於所有資料庫,即使是個人或單用戶資料庫也是如此。事實上,在某些方面這些主題對於小型資料庫更重要,因為它們沒有專業的資料庫管理員來確保關鍵任務的執行。第6章也討論了分散式資料庫和面向對象的資料庫。

第7章介紹了使用基於Web的資料庫處理,包括開放資料庫連線(ODBC)和PHP腳本語言的使用。本章也討論了可擴展標記語言(XML)的出現和基本概念。

第8章介紹了商業智慧型(BI)系統和支持它們的數據倉庫體系結構,還討論了多維資料庫,解釋了如何為Heather Sweeney Designs建立多維資料庫,並使用它生成PivotTable OLAP報表。

附錄A提供了SQL Server 2008 R2 Express版的簡介,附錄B則提供了MySQL 5.1的類似介紹。在每章的“Access工作檯”中都包括了對Microsoft Access的介紹。附錄C介紹了系統分析與設計,可以為第4章(數據建模)和第5章(資料庫設計)提供參考。附錄D簡要介紹了Microsoft Visio 2010,可用作數據建模(第4章)和資料庫設計(第5章)的工具。另一個有效的資料庫設計工具是MySQL工作檯,其用法參見附錄B。最後,附錄E給出了啟動和運轉Microsoft IIS Web伺服器、PHP和Eclipse PHP開發工具(PDT)的詳細指導,這些將有助於我們更好地學習第7章。

在快速變化的環境下保持最新

為使資料庫的概念在各版中保持最新,我們將根據需要在本書的網站(

上貼出更新表。例如,發布Office 2007後,我們就貼上了Access 2007的內容,在課堂上使用Access 2007的教師就會有“Access工作檯”部分和PowerPoint幻燈片的所需版本。教師資源和學生資料也可以從網站上獲得,所以應時常瀏覽本書的網站。

致謝

我們要感謝以下審稿人提出了高水平的、有益的意見和建議:

Edward Chan, Midlands技術學院

Rashmi Malhotra, St. Joseph’s大學

Tina Ostrander,Highline社區學院

Darlene Ringhand,Rio Grande大學

Diane Wolfe,Oklahoma州立大學

Guoying Zhang,Midwestern州立大學

我們還要感謝Bob Horan編輯、Kelly Loftus助理編輯和Kelly Warsak產品編輯對編寫本書的專業支持和幫助,感謝Don Nilson對終稿的詳細審閱。最後,David Kroenke還要感謝妻子Lynda,David Auer還要感謝妻子Donna的愛和對作者完成本書的鼓勵和忍耐。

David Kroenke

西雅圖,華盛頓區

David Auer

貝靈翰姆,華盛頓區

相關詞條

熱門詞條

聯絡我們