數(shù)據(jù)庫設(shè)計(jì)及其應(yīng)用程序開發(fā)

出版時(shí)間:2010-1  出版社:清華大學(xué)出版社  作者:周漢平  頁數(shù):367  

前言

  20世紀(jì)90年代初,我獨(dú)立承接了一個(gè)期貨交易所會(huì)員單位的保證金和交易管理系統(tǒng)的開發(fā)項(xiàng)目,那時(shí)不懂什么是數(shù)據(jù)庫,更不懂?dāng)?shù)據(jù)庫理論,但就憑著對(duì)計(jì)算機(jī)技術(shù)的濃厚興趣,硬是夜以繼日地把該項(xiàng)目做了下來,并得到了用戶單位的好評(píng)。此后就一發(fā)不可收拾,十幾年中獨(dú)立開發(fā)或參與開發(fā)了很多大大小小的數(shù)據(jù)庫應(yīng)用系統(tǒng),但對(duì)數(shù)據(jù)庫理論的學(xué)習(xí)和研究卻是幾年以后的事了,其一是因?yàn)轫?xiàng)目的開發(fā)越來越規(guī)范,尤其團(tuán)隊(duì)開發(fā)的情況下,各人的數(shù)據(jù)庫設(shè)計(jì)方法各不相同,僅憑經(jīng)驗(yàn)很難說服別人遵從自己的設(shè)計(jì),那時(shí)也確實(shí)沒有辦法系統(tǒng)地論證某一種設(shè)計(jì)的優(yōu)越性,所以迫切需要用理論知識(shí)來武裝自己;其二是因?yàn)榻虒W(xué)上的需要,我必須為計(jì)算機(jī)本科專業(yè)的學(xué)生開設(shè)“數(shù)據(jù)庫系統(tǒng)概論”課程。  在學(xué)習(xí)數(shù)據(jù)庫理論的過程中,發(fā)現(xiàn)最大的問題是理論和實(shí)踐的脫節(jié),過去軟件設(shè)計(jì)過程中的疑難問題一一閃現(xiàn),但很難在書上找到答案或從書上的實(shí)例中受到啟發(fā),原因是大多數(shù)數(shù)據(jù)庫理論書籍告訴我們的是“理論是什么”,而很少告訴我們“為什么”或“怎么用”的問題,書中的實(shí)例也側(cè)重于說明怎么做才符合理論,而沒有告訴我們?cè)趺从美碚撊ブ笇?dǎo)設(shè)計(jì)和解決實(shí)際開發(fā)中的問題?! ∑浯危壳瓣P(guān)系型數(shù)據(jù)庫理論已成體系,但其中只有一小部分內(nèi)容對(duì)軟件開發(fā)有實(shí)際意義,而大多數(shù)內(nèi)容是從事數(shù)據(jù)庫理論研究的人員所必須具備的知識(shí),這是大學(xué)生在工作后,從事數(shù)據(jù)庫應(yīng)用系統(tǒng)的設(shè)計(jì)開發(fā)過程中,普遍感到在校學(xué)習(xí)的數(shù)據(jù)庫理論沒有用的主要而真實(shí)的原因所在。  此后學(xué)校又安排我開設(shè)“數(shù)據(jù)庫應(yīng)用程序設(shè)計(jì)”課程,我以為終于找到了把數(shù)據(jù)庫理論和我所掌握的實(shí)踐技能結(jié)合起來傳授給學(xué)生的機(jī)會(huì)了,于是我開始找教材,目標(biāo)很明確:教材要包含設(shè)計(jì)和開發(fā)數(shù)據(jù)庫應(yīng)用系統(tǒng)的所有實(shí)用的知識(shí)和技能,包括能直接指導(dǎo)數(shù)據(jù)庫設(shè)計(jì)的理論、方法和工具、側(cè)重實(shí)踐的數(shù)據(jù)庫服務(wù)器端的程序開發(fā)與基于目前主流語言和平臺(tái)的客戶端應(yīng)用程序開發(fā)技術(shù),遺憾的是,我竟然沒有找到一本這樣的書籍?! 〖幢惆褍杀旧踔寥緯掀饋碜鳛榻滩模诶碚摵蛯?shí)踐的結(jié)合方面仍然不能令人滿意,一些書只講理論,而另一些書只講實(shí)踐,造成這種現(xiàn)象的原因很簡單,從事軟件開發(fā)的人,很少有時(shí)間、精力或興趣去從事理論研究和出版書籍,而有條件搞理論研究的人又很缺乏從業(yè)經(jīng)驗(yàn),一些人為了獲取經(jīng)驗(yàn)投身到軟件開發(fā)的第一線,但很少有人再回過來利用這些經(jīng)驗(yàn)去搞理論研究,這就是我們國家軟件行業(yè)理論與實(shí)踐關(guān)系之現(xiàn)狀。

內(nèi)容概要

  《高等學(xué)校教材·計(jì)算機(jī)科學(xué)與技術(shù):數(shù)據(jù)庫設(shè)計(jì)及其應(yīng)用程序開發(fā)》》從關(guān)系型數(shù)據(jù)庫模型設(shè)計(jì)、數(shù)據(jù)庫服務(wù)器端SQL程序設(shè)計(jì)和數(shù)據(jù)庫客戶端程序設(shè)計(jì)三個(gè)方面介紹數(shù)據(jù)庫設(shè)計(jì)及其應(yīng)用程序開發(fā)的實(shí)用技術(shù)。第一部分介紹范式理論的運(yùn)用和如何使用PowerDesigner依據(jù)需求建立正確合理的概念模型:第二部分介紹如何進(jìn)行SQL程序設(shè)計(jì)以解決典型的應(yīng)用問題;第三部分介紹使用Delphi、C#for .Net以及采用J2EE架構(gòu),進(jìn)行C/S和B/S多層結(jié)構(gòu)的數(shù)據(jù)庫應(yīng)用程序開發(fā)的基本方法。  《高等學(xué)校教材·計(jì)算機(jī)科學(xué)與技術(shù):數(shù)據(jù)庫設(shè)計(jì)及其應(yīng)用程序開發(fā)》》可作為大學(xué)計(jì)算機(jī)本科專業(yè)的教材和計(jì)算機(jī)軟件開發(fā)人員進(jìn)行數(shù)據(jù)庫設(shè)計(jì)和SQL程序設(shè)計(jì)的實(shí)用指導(dǎo)書,也可作為使用Delphi、C#for .Net和J2EE平臺(tái)和架構(gòu)開發(fā)數(shù)據(jù)庫客戶端和中間層應(yīng)用程序的程序員入門參考書。

書籍目錄

第1篇 關(guān)系數(shù)據(jù)庫設(shè)計(jì)技術(shù) 第1章 關(guān)系模型和關(guān)系型數(shù)據(jù)庫管理系統(tǒng) 1.1 問題的引出 1.2 關(guān)系模型 1.3 關(guān)系型數(shù)據(jù)庫管理系統(tǒng)RDBMS 第2章 范式及其對(duì)數(shù)據(jù)庫設(shè)計(jì)的指導(dǎo)意義 2.1 問題的引出 2.2 范式理論概述 2.3 1NF及對(duì)實(shí)踐的指導(dǎo)意義 2.4 函數(shù)依賴 2.5 2NF及對(duì)實(shí)踐的指導(dǎo)意義 2.6 3NF及對(duì)實(shí)踐的指導(dǎo)意義 2.7 BCNF——擴(kuò)充的第三范式 2.8 范式應(yīng)用實(shí)例分析 2.9 范式的局限——對(duì)冗余的進(jìn)一步討論 第3章 數(shù)據(jù)庫靜態(tài)結(jié)構(gòu)設(shè)計(jì)和實(shí)現(xiàn) 3.1 概念模型一般概念 3.2 PowerDesigner概述 3.3 實(shí)體——域、數(shù)據(jù)項(xiàng)和屬性 3.4 實(shí)體之間的關(guān)系 3.5 繼承 3.6 概念數(shù)據(jù)模型實(shí)例分析 3.7 物理數(shù)據(jù)模型PDM 3.8 數(shù)據(jù)庫的建立 第2篇 SQL程序設(shè)計(jì) 第4章 查詢語句和視圖 4.1 單表查詢 4.2 數(shù)據(jù)源中數(shù)據(jù)表的各種連接 4.3 子查詢及其邏輯運(yùn)算符 4.4 關(guān)系集合運(yùn)算的實(shí)現(xiàn) 4.5 視圖 4.6 典型查詢實(shí)例分析 4.7 查詢語句小結(jié) 第5章 修改語句及其子查詢的運(yùn)用 5.1 插入行 5.2 更新行 5.3 刪除行 第6章 數(shù)據(jù)庫中數(shù)據(jù)的安全控制 6.1 問題的引出 6.2 用戶和角色 6.3 授權(quán)和回收 6.4 視圖機(jī)制控制用戶的權(quán)限 第7章 數(shù)據(jù)庫行為特征設(shè)計(jì)——SQL程序設(shè)計(jì) 7.1 SQL程序基礎(chǔ) 7.2 函數(shù)和表達(dá)式 7.3 存儲(chǔ)過程 7.4 觸發(fā)器 7.5 臨時(shí)表和表變量 7.6 游標(biāo) 7.7 事務(wù) 第3篇 數(shù)據(jù)庫應(yīng)用程序界面和中間層設(shè)計(jì) 第8章 數(shù)據(jù)庫應(yīng)用程序開發(fā)技術(shù)概述 8.1 數(shù)據(jù)庫應(yīng)用系統(tǒng)的體系結(jié)構(gòu) 8.2 可視化程序設(shè)計(jì)概述 8.3 可視化程序設(shè)計(jì)實(shí)例 8.4 數(shù)據(jù)存取技術(shù) 第9章 C/S結(jié)構(gòu)在線式數(shù)據(jù)庫應(yīng)用程序設(shè)計(jì) 9.1 數(shù)據(jù)庫應(yīng)用程序界面設(shè)計(jì)需求 9.2 Delphi簡介 9.3 界面設(shè)計(jì) 9.4 建立數(shù)據(jù)模塊(Data Module) 9.5 控件數(shù)據(jù)和數(shù)據(jù)表數(shù)據(jù)的同步 9.6 實(shí)現(xiàn)按鈕功能的程序 9.7 計(jì)算列的計(jì)算程序 9.8 報(bào)表的設(shè)計(jì)和輸出 9.9 數(shù)據(jù)表的打開和窗口的創(chuàng)建 9.10 小結(jié) 第10章 C/S結(jié)構(gòu)斷開式數(shù)據(jù)庫應(yīng)用程序設(shè)計(jì) 10.1 ADO.NET 10.2 數(shù)據(jù)庫應(yīng)用程序界面設(shè)計(jì)需求 10.3 創(chuàng)建項(xiàng)目和界面控件設(shè)置 10.4 程序方式實(shí)現(xiàn)界面控件與數(shù)據(jù)庫數(shù)據(jù)的交互 10.5 數(shù)據(jù)集及綁定的可視化設(shè)計(jì)和實(shí)現(xiàn) 10.6 報(bào)表設(shè)計(jì) 第11章 B/S多層架構(gòu)入門 11.1 基礎(chǔ)準(zhǔn)備 11.2 開始第一個(gè)程序 11.3 J2EE和EJB簡述 11.4 實(shí)用的用戶驗(yàn)證需求 11.5 無狀態(tài)SessionBean——用戶驗(yàn)證和密碼修改 11.6 有狀態(tài)SessionBean——保留用戶信息 11.7 EntityBean——修改密碼 11.8 常見錯(cuò)誤及處理 附錄A DEMO數(shù)據(jù)庫中數(shù)據(jù)表結(jié)構(gòu)及數(shù)據(jù) 附錄B 完整的Delphi程序 附錄C 完整的C#窗口Frm_Std_Grade程序 附錄D CrystalReport設(shè)計(jì)界面 附錄E MyEelipse中實(shí)例項(xiàng)目清單 參考文獻(xiàn)

章節(jié)摘錄

  在生成的如圖3-36所示的物理數(shù)據(jù)模型中,所有單據(jù)表中都有單據(jù)類型編號(hào),該編號(hào)對(duì)一種類型的單據(jù)來說值不變,是一種冗余的數(shù)據(jù),但該冗余的數(shù)據(jù)是為了和各單據(jù)公共數(shù)據(jù)構(gòu)成的“單據(jù)”表建立引用關(guān)系,所以是必要的冗余。  另一種方法是在概念數(shù)據(jù)模型中去除“單據(jù)”實(shí)體,讓“定單”或“進(jìn)貨單”等單據(jù)實(shí)體直接和“人員”實(shí)體建立多對(duì)多聯(lián)系,在生成的物理數(shù)據(jù)模型中,n種單據(jù)將產(chǎn)生n個(gè)表達(dá)“單據(jù)”實(shí)體和“人員”實(shí)體的多對(duì)多關(guān)系的表。讀者可自行按此方法建立概念數(shù)據(jù)模型。3.7物理數(shù)據(jù)模型PDM  建立了概念數(shù)據(jù)模型CDM后,可以生成物理數(shù)據(jù)模型PDM,即關(guān)系模型,正如上節(jié)看到的,物理數(shù)據(jù)模型同樣以圖形方式表達(dá)關(guān)系模型中各二維表的結(jié)構(gòu)及其相互之間的引用關(guān)系?! ∥锢頂?shù)據(jù)模型并非一定要通過概念數(shù)據(jù)模型轉(zhuǎn)換而來,也可以直接建立一個(gè)物理數(shù)據(jù)模型,或?qū)ι傻奈锢頂?shù)據(jù)模型進(jìn)行修改,建立和修改方法和概念數(shù)據(jù)模型類似。本節(jié)重點(diǎn)描述由概念數(shù)據(jù)模型如何生成物理數(shù)據(jù)模型以及兩者之間的關(guān)系維護(hù)的基本思想和方法。  1.生成物理數(shù)據(jù)模型 在完成概念數(shù)據(jù)模型的設(shè)計(jì)后,使用菜單“工具(Fools)”I“生成物理數(shù)據(jù)模型(GeneratePhysical Data Model)”打開生成對(duì)話框以生成物理數(shù)據(jù)模型。通過設(shè)置對(duì)話框中的“PDM生成參數(shù)配置(PDM Generation Options)”對(duì)生成進(jìn)行控制。  若是第一次生成,則使用默認(rèn)的選項(xiàng)“生成新的物理數(shù)據(jù)模型(Generate New PhysicalData Model)”,但必須選擇數(shù)據(jù)庫管理系統(tǒng)類型,這是由于不同的數(shù)據(jù)庫管理系統(tǒng)要生成的數(shù)據(jù)定義語句可能略有不同,我們可以選擇Microsoft SQL,Server 2000,確認(rèn)后則生成物理數(shù)據(jù)模型。  生成過程首先是一個(gè)對(duì)概念數(shù)據(jù)模型的檢查過程,錯(cuò)誤分成兩類,一類是警告,一類是錯(cuò)誤,警告不影響物理數(shù)據(jù)模型的生成,而一旦發(fā)現(xiàn)錯(cuò)誤,則必須修改概念數(shù)據(jù)模型以排除這個(gè)錯(cuò)誤,否則不能生成物理數(shù)據(jù)模型?! ⌒薷牧烁拍顢?shù)據(jù)模型后再次生成物理數(shù)據(jù)模型,仍可選擇“生成新的物理數(shù)據(jù)模型(Generate New Physical Data Model)”,此選擇表示將生成一個(gè)新的物理數(shù)據(jù)模型,原來已生成的物理數(shù)據(jù)模型被保留,但默認(rèn)的選擇是“更新存在的物理數(shù)據(jù)模型(IJpdate Existing:Physical Data Model)”,如果沒有對(duì)生成的物理數(shù)據(jù)模型進(jìn)行修改或不需要保留這些修改,可關(guān)閉“保留修改Preserve.Modifications”選項(xiàng),確認(rèn)則重新生成PDM并覆蓋原:PDM2.修改物理數(shù)據(jù)模型 有時(shí)可能對(duì)生成的物理數(shù)據(jù)模型進(jìn)行了修改,此后又修改了概念數(shù)據(jù)模型,概念數(shù)據(jù)模型重新生成物理數(shù)據(jù)模型時(shí),希望能保留原物理數(shù)據(jù)模型的修改。

編輯推薦

  《數(shù)據(jù)庫設(shè)計(jì)及其應(yīng)用程序開發(fā)》特點(diǎn)是與應(yīng)用的緊密結(jié)合,使讀者在對(duì)具體問題的分析能力上有所收獲。  第一部分關(guān)系數(shù)據(jù)庫設(shè)計(jì)基礎(chǔ),包含了實(shí)用的數(shù)據(jù)庫設(shè)計(jì)所要用到的理論和技術(shù),分析了各種常見的設(shè)計(jì)方法的特點(diǎn)和在性能、效率卜的優(yōu)劣  第二部分SQL程序設(shè)計(jì),包含了各種數(shù)據(jù)庫端的程序開發(fā)技術(shù),重點(diǎn)討論各種技術(shù)的特點(diǎn)和應(yīng)用場合,復(fù)雜算法的實(shí)現(xiàn),對(duì)SQL和核心語句SELECT應(yīng)用技巧方面進(jìn)行了深入和  獨(dú)特的介紹  第三部分?jǐn)?shù)據(jù)庫應(yīng)用程序界面和中間層設(shè)計(jì),包括C/S架構(gòu)在線式應(yīng)用程序設(shè)計(jì)、C/S架構(gòu)斷開式應(yīng)用程序設(shè)計(jì)和B/S架構(gòu)多層應(yīng)用程序的設(shè)計(jì)與開發(fā)。

圖書封面

評(píng)論、評(píng)分、閱讀與下載


    數(shù)據(jù)庫設(shè)計(jì)及其應(yīng)用程序開發(fā) PDF格式下載


用戶評(píng)論 (總計(jì)0條)

 
 

 

250萬本中文圖書簡介、評(píng)論、評(píng)分,PDF格式免費(fèi)下載。 第一圖書網(wǎng) 手機(jī)版

京ICP備13047387號(hào)-7