出版時間:2010-1 出版社:清華大學(xué) 作者:[美] RodStephens 頁數(shù):434
Tag標(biāo)簽:無
前言
據(jù)估計,世界上超過80%的計算機(jī)程序是與數(shù)據(jù)庫相關(guān)的。這個事實(shí)勿庸置疑,不管怎么樣,數(shù)據(jù)庫很擅長精確執(zhí)行計算機(jī)程序,如數(shù)據(jù)的存儲、操作和顯示?! ”M管很多程序乍看起來幾乎不涉及傳統(tǒng)的面向業(yè)務(wù)的數(shù)據(jù),但是使用數(shù)據(jù)庫可以簡化處理。實(shí)際上,回顧20多年從事軟件開發(fā)的經(jīng)歷,在我碰到過的所有重要的應(yīng)用程序中,想不出哪一個應(yīng)用程序不使用數(shù)據(jù)庫?! ?shù)據(jù)庫不僅在很多應(yīng)用程序中發(fā)揮作用,而且它們起到的作用往往是非常關(guān)鍵的。如果數(shù)據(jù)沒有被正確地存儲,那么將會出錯并且程序?qū)o法使用它完成特定任務(wù)。如果沒有恰當(dāng)?shù)亟M織數(shù)據(jù),程序可能難以在合理的時間內(nèi)找到它需要的數(shù)據(jù)?! ∪绻麛?shù)據(jù)庫不能安全和有效地存儲數(shù)據(jù),不管系統(tǒng)其余部分設(shè)計得如何完善,應(yīng)用程序都將是無價值的。數(shù)據(jù)庫就像建筑物的地基:沒有堅實(shí)的地基,即使采用最好工藝的建筑也是不合格的,雖然有時也可能會成為奇觀(如比薩斜塔)?! 】紤]到絕大多數(shù)應(yīng)用程序都非常依賴數(shù)據(jù)庫,因此希望從事應(yīng)用程序開發(fā)的所有人員在數(shù)據(jù)庫設(shè)計和構(gòu)造方面都應(yīng)打下堅實(shí)牢靠的基礎(chǔ)。理想情況下,包括數(shù)據(jù)庫設(shè)計人員、應(yīng)用程序創(chuàng)建人員、編程人員、數(shù)據(jù)庫管理人員和項(xiàng)目經(jīng)理在內(nèi)的所有人都應(yīng)該了解設(shè)計優(yōu)良數(shù)據(jù)庫的方法。甚至連應(yīng)用程序的重要客戶和使用者都將會從了解數(shù)據(jù)庫的工作原理中受益?! 〉橇钊司趩实氖牵瑢?shí)際情況并非如此。許多IT專家是通過他人表述、試錯和痛苦的經(jīng)歷才獲得對數(shù)據(jù)庫的認(rèn)識的。多年以來,一些人對構(gòu)成優(yōu)良數(shù)據(jù)庫設(shè)計的要素形成了一種直觀的看法,但是他們可能仍不了解是何種原因造成設(shè)計的優(yōu)劣,并且很可能會留下構(gòu)建在不可靠數(shù)據(jù)庫基礎(chǔ)上的性能不穩(wěn)定且結(jié)構(gòu)化很差的程序?! ”緯榻B了設(shè)計數(shù)據(jù)庫需要的工具,解釋了確定數(shù)據(jù)庫中應(yīng)該包含哪些要素的方法、應(yīng)該如何組織數(shù)據(jù)庫以確保數(shù)據(jù)的完整性和適當(dāng)?shù)男阅芗墑e。此外,本書還講解了如何設(shè)計健壯的數(shù)據(jù)庫的各種技術(shù)以便安全一致地存儲數(shù)據(jù)。數(shù)據(jù)庫足夠靈活才能允許應(yīng)用程序快速、可靠地檢索其需要的數(shù)據(jù),并且對現(xiàn)實(shí)中的各種變化有很強(qiáng)的適應(yīng)性?! ⊥ㄟ^學(xué)習(xí)本書介紹的思想和技術(shù),將為開發(fā)數(shù)據(jù)庫應(yīng)用程序打下堅實(shí)的基礎(chǔ)。讀者對象 本書是為希望學(xué)習(xí)如何設(shè)計、分析和理解數(shù)據(jù)庫的IT專業(yè)人員和學(xué)生編寫的。本書的內(nèi)容對那些希望更深入地了解數(shù)據(jù)庫的人來說也大有幫助,如投標(biāo)經(jīng)理、體系結(jié)構(gòu)設(shè)計師、項(xiàng)目經(jīng)理乃至客戶。那些實(shí)際設(shè)計、構(gòu)建和使用數(shù)據(jù)庫的人員,如數(shù)據(jù)庫設(shè)計人員、數(shù)據(jù)庫管理人員和編程人員,也將從本書中受益。在很多項(xiàng)目中,上述這些角色都是重疊的,因此同一個人可能既負(fù)責(zé)投標(biāo)和管理部分項(xiàng)目,也從事數(shù)據(jù)庫的設(shè)計和構(gòu)建。
內(nèi)容概要
數(shù)據(jù)庫在大多數(shù)企業(yè)或機(jī)構(gòu)的運(yùn)營中扮演著至關(guān)重要的角色;它們作為核心存儲庫,儲存著產(chǎn)品、客戶、供應(yīng)商、銷售等關(guān)鍵信息和其他大量的必備信息。毫無疑問的是,大部分商務(wù)計算都涉及數(shù)據(jù)庫應(yīng)用?! ”緯蜃x者提供了許多實(shí)用的方法和工具,用來設(shè)計高效、可靠和安全的數(shù)據(jù)庫。本書作者RodStephens詳細(xì)講解了應(yīng)該如何組織數(shù)據(jù)庫以便在不降低性能的前提下確保數(shù)據(jù)完整性,為開發(fā)各種數(shù)據(jù)庫應(yīng)用程序提供了堅實(shí)的基礎(chǔ)。書中提到的方法和技術(shù)適剛廠各種數(shù)據(jù)庫環(huán)境,包括Oracle、Microsoft Access、SQL Server和MySQL。通過學(xué)習(xí)本書,讀者將會了解優(yōu)秀數(shù)據(jù)庫設(shè)計的基本過程并最終掌握實(shí)際設(shè)計數(shù)據(jù)庫的方法?! ”緯饕獌?nèi)容 ·如何確定滿足用戶需求的數(shù)據(jù)庫要求 ·使用各種建模技術(shù)構(gòu)建數(shù)據(jù)模型的方法,包括實(shí)體關(guān)系模型、用戶界面模型和語義對象模型 ·了解不同類型的數(shù)據(jù)庫的技巧,包括關(guān)系數(shù)據(jù)庫、FlatFiles、電子表格、XML和對象數(shù)據(jù)庫 ·如何優(yōu)化和調(diào)整設(shè)計以便改善數(shù)據(jù)庫的性能 ·理解良好的應(yīng)用程序設(shè)計和數(shù)據(jù)庫設(shè)計之間關(guān)聯(lián)的技術(shù) ·設(shè)計靈活、健壯的數(shù)據(jù)庫方法以適應(yīng)業(yè)務(wù)變化和發(fā)展 ·便于維護(hù)和技術(shù)支持的設(shè)計方法 ·避免常見的數(shù)據(jù)庫設(shè)計錯誤的方法 本書讀者對象 本書適用于需要學(xué)習(xí)設(shè)計、構(gòu)建、分析和琿解數(shù)據(jù)庫的所有讀者,并且不要求讀者具備數(shù)據(jù)庫或程序設(shè)計的經(jīng)驗(yàn)。
書籍目錄
第Ⅰ部分 數(shù)據(jù)庫和數(shù)據(jù)庫設(shè)計介紹 第1章 有效數(shù)據(jù)庫設(shè)計的目標(biāo) 第2章 數(shù)據(jù)庫類型 第3章 關(guān)系數(shù)據(jù)庫基礎(chǔ)知識 第Ⅱ部分 數(shù)據(jù)庫設(shè)計過程和技術(shù) 第4章 了解用戶需求 第5章 將用戶需求轉(zhuǎn)換成數(shù)據(jù)模型 第6章 提取業(yè)務(wù)規(guī)則 第7章 規(guī)范化數(shù)據(jù) 第8章 設(shè)計數(shù)據(jù)庫以支持軟件應(yīng)用程序 第9章 常見的設(shè)計模式 第10章 常見的設(shè)計陷阱 第Ⅲ部分 詳盡的案例分析 第11章 用戶需要和要求 第12章 構(gòu)建數(shù)據(jù)模型 第13章 提取業(yè)務(wù)規(guī)則 第14章 規(guī)范化和優(yōu)化 第Ⅳ部分 實(shí)現(xiàn)數(shù)據(jù)庫(以Access和MySQL中的示例為例講解) 第15章 Microsoft Access 第16章 MySQL 第Ⅴ部分 高級主題 第17章 SQL簡介 第18章 使用SQL腳本來構(gòu)建數(shù)據(jù)庫 第19章 數(shù)據(jù)庫維護(hù) 第20章 數(shù)據(jù)庫安全 附錄A 練習(xí)題答案 附錄B 數(shù)據(jù)庫設(shè)計樣例 術(shù)語表
章節(jié)摘錄
·只要存儲的實(shí)際數(shù)據(jù)是一致的,那么所有這些數(shù)據(jù)庫(除了大腦)都提供一致的結(jié)果。例如,使用相同筆記本的兩個人會查找到相同的數(shù)據(jù)。類似地,如果隨后查看同一個筆記本,它將顯示與以前看到的數(shù)據(jù)相同的數(shù)據(jù)(前提是沒有修改它)?! に羞@些數(shù)據(jù)庫(除了檔案柜)都是便攜的?! ご竽X可以執(zhí)行復(fù)雜的計算,至少對于有限的類型和數(shù)字是這樣的?! に羞@些數(shù)據(jù)庫都提供原子事務(wù)處理(或交易)?! ∽詈笠粋€優(yōu)點(diǎn)比其他優(yōu)點(diǎn)更為抽象一些,因此需要進(jìn)行更多的說明。原子事務(wù)處理可能是一系列較為復(fù)雜的行動,那些不直接參與執(zhí)行事務(wù)的人將它們看做是單一操作?! ∽畹湫偷氖纠菑囊粋€銀行賬戶向另一個賬戶轉(zhuǎn)賬。假定Alice向Bob開了一張價值100美元的支票,并且需要在他們的賬戶之間轉(zhuǎn)移這筆錢。您拿起記賬本從Alice的記錄上扣除100美元并將100美元添加到Bob的記錄上,然后放下筆記本。其他使用筆記本的人可能在事務(wù)處理之前(此時Alice有100美元)或事務(wù)處理之后(此時Bob有100美元)查看它,但是不能在從Alice賬戶上扣除100美元但還沒有轉(zhuǎn)給Bob的事務(wù)處理過程中查看它。當(dāng)處理進(jìn)行到一半時絕不允許辦公室里粗魯?shù)耐聫哪氖种袚屪吖P記本,它是一種要么全做要么不做的事務(wù)處理?! 〕松鲜鰞?yōu)點(diǎn)以外,諸如筆記本和檔案柜這樣的信息容器有一些缺點(diǎn)。研究這些缺點(diǎn)很有價值,這樣一來便可以在構(gòu)建計算機(jī)數(shù)據(jù)庫時設(shè)法避免它們。 下面的列表匯總了這些信息容器具有的一些缺點(diǎn)。 ·所有這些數(shù)據(jù)庫都可能保存不完整的、不正確的或自相矛盾的數(shù)據(jù)。 ·一些數(shù)據(jù)庫容易丟失或被盜。一些人可能會趁您吃午飯的時候竊取您的筆記本或者在公共汽車上從您的肩膀上偷看筆記本內(nèi)容。另外,當(dāng)匆忙趕航班時甚至可能把筆記本遺忘在安檢柜臺上?! ぴ谒羞@些數(shù)據(jù)庫中,糾正數(shù)據(jù)中較大的差錯可能較為困難。例如,可以在地址備忘錄上使用鋼筆更改某個人的地址。如果在您所在區(qū)域建造了一個新城市,則更新數(shù)百個地址要困難得多(這種情況最近發(fā)生在我的居住地附近)。這種情況需要對一摞名片、一本筆記本或檔案柜進(jìn)行冗長的搜索。而您的大腦徹底更新這種變化可能需要幾年的時間?! じ鶕?jù)不可控的因素,如情緒、疲勞程度甚至是否饑餓,大腦會在不同的時間給出不同的結(jié)果?! に羞@些數(shù)據(jù)庫都位于一個單獨(dú)的地方,因此不能方便地共享它們。此外,每種數(shù)據(jù)庫也不能方便地備份,如果原始的數(shù)據(jù)庫丟失或破壞則會丟失數(shù)據(jù)。下一節(jié)考慮將上述優(yōu)點(diǎn)和缺點(diǎn)轉(zhuǎn)換成在計算機(jī)數(shù)據(jù)庫中希望獲得或避免的特性。 1.4 理想的數(shù)據(jù)庫特性 通過了解物理數(shù)據(jù)庫的優(yōu)點(diǎn)和缺點(diǎn),可以創(chuàng)建一個計算機(jī)數(shù)據(jù)庫應(yīng)該具有的特性列表。其中一些是所有數(shù)據(jù)庫都必須具有的基本特性(應(yīng)該能夠從數(shù)據(jù)庫中獲取數(shù)據(jù)。
圖書封面
圖書標(biāo)簽Tags
無
評論、評分、閱讀與下載
數(shù)據(jù)庫設(shè)計解決方案入門經(jīng)典 PDF格式下載