數(shù)據(jù)庫原理與應(yīng)用

出版時(shí)間:2011-1  出版社:高凱 電子工業(yè)出版社 (2011-01出版)  作者:高凱 編  頁數(shù):314  
Tag標(biāo)簽:無  

前言

在社會(huì)信息化的今天,信息已經(jīng)成為全社會(huì)寶貴的資源。就信息本身而言,大致可將其分為結(jié)構(gòu)化信息、半結(jié)構(gòu)化信息和非結(jié)構(gòu)化信息三類。作為管理結(jié)構(gòu)化信息的有效手段,數(shù)據(jù)庫系統(tǒng)對于當(dāng)今科研部門、政府機(jī)關(guān)、企事業(yè)單位等都是至關(guān)重要的;作為數(shù)據(jù)庫系統(tǒng)中的核心,數(shù)據(jù)庫管理系統(tǒng)DBMS——特別是關(guān)系型數(shù)據(jù)庫管理系統(tǒng)(如Microsoft SQL Server、Oracle、Sybase等)——用于高效創(chuàng)建數(shù)據(jù)庫和存儲(chǔ)大量數(shù)據(jù)并對其進(jìn)行有效管理和維護(hù),其本身具有很大的工程實(shí)用價(jià)值。同時(shí),數(shù)據(jù)庫技術(shù)也是計(jì)算機(jī)科學(xué)與技術(shù)領(lǐng)域中發(fā)展飛快的一個(gè)分支,在其短短40年的發(fā)展歷程中,已造就了包括C. W. Bachman、E. F. Code、James Gray等在內(nèi)的多位圖靈獎(jiǎng)得主,發(fā)展成為以數(shù)據(jù)建模和DBMS為核心、具有很大工程實(shí)踐價(jià)值的學(xué)科,數(shù)據(jù)庫及其應(yīng)用技術(shù)也因此成為計(jì)算機(jī)科學(xué)與技術(shù)及相關(guān)專業(yè)的重要專業(yè)課程。同時(shí)也要看到,雖然傳統(tǒng)的關(guān)系型數(shù)據(jù)庫系統(tǒng)在管理結(jié)構(gòu)化信息方面具有很大優(yōu)勢,但在網(wǎng)絡(luò)迅速普及的今天,半結(jié)構(gòu)化信息和非結(jié)構(gòu)化信息所占的比重正在逐步增大,已經(jīng)逐漸成為重要的信息組織方式。因此,在本書前幾章對傳統(tǒng)的關(guān)系數(shù)據(jù)庫系統(tǒng)理論、關(guān)系數(shù)據(jù)庫標(biāo)準(zhǔn)語言SQL、規(guī)范化理論、數(shù)據(jù)庫設(shè)計(jì)、關(guān)系查詢處理和查詢優(yōu)化、數(shù)據(jù)庫完整性和安全性、數(shù)據(jù)庫恢復(fù)和并發(fā)控制等基礎(chǔ)理論進(jìn)行綜述的基礎(chǔ)上,針對當(dāng)前的應(yīng)用實(shí)際,對基于數(shù)據(jù)庫的Web應(yīng)用程序開發(fā)與實(shí)現(xiàn)、XML技術(shù)在數(shù)據(jù)庫中的應(yīng)用等進(jìn)行概述,以使讀者能對包括結(jié)構(gòu)化、半結(jié)構(gòu)化信息在內(nèi)的數(shù)據(jù)管理技術(shù)有較全面的了解。

內(nèi)容概要

  《數(shù)據(jù)庫原理與應(yīng)用 》全面、系統(tǒng)地介紹了關(guān)系數(shù)據(jù)庫基礎(chǔ)理論及應(yīng)用。在介紹關(guān)系數(shù)據(jù)庫系統(tǒng)理論、SQL語言、規(guī)范化理論、數(shù)據(jù)庫設(shè)計(jì)、關(guān)系查詢處理和查詢優(yōu)化、數(shù)據(jù)庫完整性和安全性、數(shù)據(jù)庫恢復(fù)和并發(fā)控制等理論的基礎(chǔ)上,針對應(yīng)用實(shí)際,介紹了以VB、Delphi、VC++、C#等常用編程工具開發(fā)數(shù)據(jù)庫應(yīng)用程序的常用方法和技巧,介紹了基于數(shù)據(jù)庫的Web應(yīng)用程序開發(fā)、XML技術(shù)等。書后配有7個(gè)數(shù)據(jù)庫實(shí)驗(yàn)。本書配有電子課件、完整的開發(fā)案例源代碼等教學(xué)資源,方便教學(xué)和工程實(shí)踐應(yīng)用。

書籍目錄

第一部分 原理篇第1章 緒論(2)1.1 數(shù)據(jù)管理技術(shù)的產(chǎn)生和發(fā)展(2)1.1.1 人工管理階段(2)1.1.2 文件系統(tǒng)階段(3)1.1.3 數(shù)據(jù)庫系統(tǒng)階段(3)1.2 數(shù)據(jù)庫基本概念(5)1.2.1 數(shù)據(jù)(5)1.2.2 數(shù)據(jù)庫(5)1.2.3 數(shù)據(jù)庫管理系統(tǒng)(6)1.2.4 數(shù)據(jù)庫系統(tǒng)(6)1.3 數(shù)據(jù)模型(7)1.3.1 數(shù)據(jù)模型的組成要素(7)1.3.2 數(shù)據(jù)模型的分類(8)1.3.3 概念模型及表示方法(8)1.3.4 數(shù)據(jù)模型(12)1.4 數(shù)據(jù)庫系統(tǒng)的結(jié)構(gòu)(14)1.4.1 數(shù)據(jù)庫系統(tǒng)的三級模式結(jié)構(gòu) (15)1.4.2 數(shù)據(jù)庫系統(tǒng)的二級映像(15)1.5 數(shù)據(jù)庫管理系統(tǒng)(16)1.5.1 DBMS的工作模式(16)1.5.2 DBMS的功能(17)1.5.3 DBMS的組成(17)1.6 小結(jié)(18)習(xí)題1(19)第2章 關(guān)系數(shù)據(jù)庫基礎(chǔ)(20)2.1 關(guān)系模型的基本概念(20)2.1.1 域、笛卡兒積、關(guān)系、關(guān)系模式(20)2.1.2 碼(23)2.2 關(guān)系模型的完整性約束(24)2.2.1 實(shí)體完整性規(guī)則(24)2.2.2 參照完整性規(guī)則(25)2.2.3 用戶自定義完整性規(guī)則(25)2.3 關(guān)系操作(26)2.3.1 關(guān)系數(shù)據(jù)語言(26)2.3.2 關(guān)系代數(shù)(26)2.4 小結(jié)(34)習(xí)題2(34)第3章 關(guān)系數(shù)據(jù)庫標(biāo)準(zhǔn)語言SQL(37)3.1 SQL概述(37)3.1.1 SQL的發(fā)展歷史(37)3.1.2 SQL的特點(diǎn)(37)3.1.3 SQL數(shù)據(jù)庫的體系結(jié)構(gòu)(38)3.2 數(shù)據(jù)定義(39)3.2.1 模式的定義與刪除(40)3.2.2 基本表的定義、刪除和修改(40)3.2.3 索引的建立和刪除(43)3.3 數(shù)據(jù)查詢(44)3.3.1 單表無條件查詢(45)3.3.2 單表帶條件查詢(48)3.3.3 分組查詢和排序查詢(51)3.3.4 連接查詢(53)3.3.5 嵌套查詢(56)3.3.6 集合查詢(60)3.4 數(shù)據(jù)更新(62)3.4.1 插入數(shù)據(jù)(62)3.4.2 刪除數(shù)據(jù)(63)3.4.3 修改數(shù)據(jù)(63)3.5 視圖(64)3.5.1 建立視圖(64)3.5.2 刪除視圖(65)3.5.3 查詢視圖(66)3.5.4 更新視圖(66)3.5.5 視圖的作用(67)3.6 小結(jié)(68)習(xí)題3(68)第4章 規(guī)范化理論(69)4.1 問題的提出(69)4.1.1 關(guān)系模式中可能存在的問題(69)4.1.2 解決的方法(70)4.2 函數(shù)依賴(70)4.2.1 函數(shù)依賴的基本概念(71)4.2.2 函數(shù)依賴的推理規(guī)則(72)4.2.3 碼的函數(shù)依賴表示(75)4.2.4 最小函數(shù)依賴集(75)4.3 規(guī)范化(77)4.3.1 范式(77)4.3.2 模式分解(80)4.3.3 關(guān)系模式規(guī)范化步驟(86)4.4 小結(jié)(87)習(xí)題4(87)第5章 數(shù)據(jù)庫設(shè)計(jì)(89)5.1 數(shù)據(jù)庫設(shè)計(jì)概述(89)5.1.1 數(shù)據(jù)庫設(shè)計(jì)的任務(wù)和特點(diǎn)(89)5.1.2 數(shù)據(jù)庫設(shè)計(jì)方法(90)5.1.3 數(shù)據(jù)庫設(shè)計(jì)步驟(90)5.1.4 數(shù)據(jù)庫設(shè)計(jì)過程中的各級模式(92)5.2 需求分析(92)5.2.1 需求分析的任務(wù)(92)5.2.2 需求分析的方法和步驟(93)5.2.3 需求分析的結(jié)果(94)5.3 概念結(jié)構(gòu)設(shè)計(jì)(95)5.3.1 概念結(jié)構(gòu)的特點(diǎn)(95)5.3.2 概念設(shè)計(jì)方法(95)5.3.3 概念設(shè)計(jì)的步驟(95)5.4 邏輯結(jié)構(gòu)設(shè)計(jì)(100)5.4.1 E-R模型到關(guān)系模式的轉(zhuǎn)換(100)5.4.2 邏輯模式的優(yōu)化(103)5.4.3 設(shè)計(jì)用戶子模式(103)5.5 數(shù)據(jù)庫的物理設(shè)計(jì)(104)5.5.1 數(shù)據(jù)庫物理設(shè)計(jì)的內(nèi)容和方法(104)5.5.2 確定數(shù)據(jù)庫的物理結(jié)構(gòu)(105)5.5.3 評價(jià)物理結(jié)構(gòu)(106)5.6 數(shù)據(jù)庫的實(shí)施和維護(hù)(106)5.6.l 建立數(shù)據(jù)庫和應(yīng)用程序的調(diào)試(106)5.6.2 數(shù)據(jù)庫的試運(yùn)行(106)5.6.3 數(shù)據(jù)庫的運(yùn)行和維護(hù)(107)5.7 小結(jié)(108)習(xí)題5(108)第6章 關(guān)系查詢處理和查詢優(yōu)化(109)6.1 關(guān)系數(shù)據(jù)庫系統(tǒng)的查詢處理(109)6.1.1 查詢優(yōu)化的必要性(109)6.1.2 查詢處理的步驟(111)6.1.3 查詢的執(zhí)行代價(jià)(111)6.2 代數(shù)優(yōu)化(112)6.2.1 關(guān)系代數(shù)表達(dá)式等價(jià)變換規(guī)則(112)6.2.2 查詢優(yōu)化一般策略(113)6.2.3 關(guān)系代數(shù)表達(dá)式的優(yōu)化算法(114)6.3 物理優(yōu)化(116)6.3.1 基于規(guī)則的優(yōu)化方法(116)6.3.2 基于代價(jià)估算的優(yōu)化方法(116)6.4 SQL查詢語句的優(yōu)化(117)6.4.1 合理使用索引(117)6.4.2 書寫高效率的SQL查詢語句(118)6.4.3 使用存儲(chǔ)過程(120)6.5 小結(jié)(123)習(xí)題6(123)第7章 數(shù)據(jù)庫完整性和安全性(124)7.1 數(shù)據(jù)庫完整性(124)7.1.1 實(shí)體完整性(124)7.1.2 參照完整性(125)7.1.3 用戶定義的完整性(127)7.1.4 完整性約束命名子句(128)7.1.5 觸發(fā)器(129)7.2 數(shù)據(jù)庫安全性(130)7.2.1 數(shù)據(jù)庫安全性概述(130)7.2.2 用戶標(biāo)識與鑒別(130)7.2.3 存取控制(131)7.2.4 其他安全控制方法(135)7.3 SQL Server的完整性控制和安全控制(137)7.3.1 SQL Server的完整性控制(137)7.3.2 SQL Server的安全控制(139)7.4 小結(jié)(141)習(xí)題7(142)第8章 數(shù)據(jù)庫恢復(fù)和并發(fā)控制(143)8.1 事務(wù)(143)8.1.1 事務(wù)的基本概念(143)8.1.2 事務(wù)的性質(zhì)(143)8.2 數(shù)據(jù)庫恢復(fù)技術(shù)(144)8.2.1 故障的種類(144)8.2.2 恢復(fù)的實(shí)現(xiàn)技術(shù)(145)8.2.3 故障恢復(fù)的策略(146)8.2.4 SQL Server的數(shù)據(jù)庫恢復(fù)技術(shù)(149)8.3 并發(fā)控制(151)8.3.1 并發(fā)操作帶來的問題(151)8.3.2 封鎖(152)8.3.3 并發(fā)調(diào)度的可串行性(155)8.3.4 兩段鎖協(xié)議(156)8.3.5 封鎖的粒度(157)8.3.6 SQL Server的封鎖方式(159)8.4 小結(jié)(159)習(xí)題8(160)第二部分 應(yīng)用篇第9章 數(shù)據(jù)庫應(yīng)用技術(shù)概述(162)9.1 數(shù)據(jù)庫訪問接口(162)9.1.1 ODBC簡介(162)9.1.2 DAO簡介(163)9.1.3 OLE DB簡介(164)9.1.4 ADO簡介(165)9.1.5 ADO.NET簡介(165)9.1.6 內(nèi)嵌式SQL、RDO、DB庫簡介(166)9.2 數(shù)據(jù)庫應(yīng)用體系結(jié)構(gòu)(167)9.2.1 客戶機(jī)/服務(wù)器工作模式(168)9.2.2 客戶機(jī)/服務(wù)器模式的主要技術(shù)特征(168)9.2.3 客戶機(jī)/服務(wù)器系統(tǒng)體系結(jié)構(gòu)(168)9.2.4 分布式數(shù)據(jù)庫系統(tǒng)(171)9.3 基于B/S架構(gòu)的數(shù)據(jù)庫應(yīng)用程序(172)9.4 ODBC數(shù)據(jù)訪問接口及實(shí)例操作(173)9.4.1 ODBC概述(173)9.4.2 MFC ODBC數(shù)據(jù)庫類(180)9.4.3 應(yīng)用案例——VC++6.0中使用ODBC開發(fā)個(gè)人通訊錄系統(tǒng)(185)9.5 小結(jié)(194)習(xí)題9(194)第10章 ADO數(shù)據(jù)訪問技術(shù)及操作(195)10.1 ADO概述(195)10.2 ADO數(shù)據(jù)庫訪問對象(196)10.2.1 Connection對象(196)10.2.2 Command對象(197)10.2.3 Recordset對象(198)10.2.4 Parameter對象(201)10.2.5 Field對象(201)10.2.6 Record對象(202)10.2.7 Stream對象(203)10.2.8 Error對象(204)10.2.9 Property對象(204)10.3 高級語言操作ADO接口(204)10.3.1 在VB 6.0中使用ADO(204)10.3.2 在VC 6.0中使用ADO(207)10.3.3 在Delphi 7中使用ADO(210)10.4 應(yīng)用案例——Delphi中使用ADO開發(fā)個(gè)人通訊錄系統(tǒng)(213)10.5 小結(jié)(215)習(xí)題10(215)第11章 ADO.NET數(shù)據(jù)訪問技術(shù)及操作(216)11.1 .NET平臺(tái)及VS.NET 2008簡介(216)11.1.1 .NET Framework簡介(216)11.1.2 VS.NET 2008集成開發(fā)環(huán)境簡介(217)11.1.3 C#開發(fā)語言簡介(218)11.2 ADO.NET概述(218)11.2.1 ADO.NET的優(yōu)點(diǎn)(218)11.2.2 ADO.NET的結(jié)構(gòu)(219)11.3 使用ADO.NET進(jìn)行數(shù)據(jù)庫訪問(220)11.3.1 ADO.NET Connection對象(221)11.3.2 ADO.NET Command對象(222)11.3.3 ADO.NET DataReader對象(223)11.3.4 ADO.NET DataAdapter對象(224)11.3.5 ADO.NET DataSet對象(226)11.4 應(yīng)用案例——C#中使用ADO.NET開發(fā)個(gè)人通訊錄系統(tǒng)(227)11.4.1 通過編寫代碼實(shí)現(xiàn)通訊錄系統(tǒng)(227)11.4.2 使用ADO.NET控件實(shí)現(xiàn)通訊錄系統(tǒng)開發(fā)(229)11.5 小結(jié)(235)習(xí)題11(235)第12章 基于C#的數(shù)據(jù)庫系統(tǒng)應(yīng)用案例——教材征訂系統(tǒng)(236)12.1 系統(tǒng)設(shè)計(jì)(236)12.1.1 需求分析(236)12.1.2 概念結(jié)構(gòu)設(shè)計(jì)(237)12.1.3 數(shù)據(jù)庫設(shè)計(jì)(238)12.2 功能模塊設(shè)計(jì)(241)12.2.1 系統(tǒng)功能模塊(241)12.2.2 界面設(shè)計(jì)(241)12.3 功能實(shí)現(xiàn)步驟(242)12.3.1 數(shù)據(jù)庫創(chuàng)建(242)12.3.2 公用模塊設(shè)計(jì)(242)12.3.3 添加app.config文件(247)12.4 管理員端程序設(shè)計(jì)步驟(247)12.4.1 用戶管理界面(247)12.4.2 用戶管理信息編輯界面設(shè)計(jì)(250)12.4.3 登錄窗體的設(shè)計(jì)(254)12.5 系統(tǒng)運(yùn)行與調(diào)試(256)12.5.1 調(diào)試方法(256)12.5.2 調(diào)試過程(256)12.5.3 排錯(cuò)(257)12.6 小結(jié)(258)習(xí)題12(258)第13章 基于數(shù)據(jù)庫的Web應(yīng)用程序開發(fā)(259)13.1 概述(259)13.2 常見的Web服務(wù)器簡介(260)13.2.1 IIS(260)13.2.2 Tomcat(262)13.2.3 WebLogic(263)13.3 服務(wù)器端的動(dòng)態(tài)網(wǎng)頁技術(shù)(264)13.3.1 JSP(264)13.3.2 基于ASP .NET構(gòu)建Web應(yīng)用程序(268)13.4 客戶端網(wǎng)頁設(shè)計(jì)相關(guān)技術(shù)簡介(271)13.4.1 基于CSS+DIV構(gòu)建網(wǎng)頁(271)13.4.2 客戶端腳本語言JavaScript簡介(273)13.5 小結(jié)(276)習(xí)題13(276)第14章 XML與數(shù)據(jù)庫技術(shù)(277)14.1 基于XML的數(shù)據(jù)庫信息管理(277)14.1.1 XML及其與數(shù)據(jù)庫的互操作(278)14.1.2 XML的基本規(guī)范和簡單結(jié)構(gòu)(279)14.1.3 XML數(shù)據(jù)的顯示(279)14.1.4 數(shù)據(jù)庫信息轉(zhuǎn)換為XML(281)14.1.5 XML與數(shù)據(jù)庫信息的互轉(zhuǎn)換(283)14.2 基于XML的網(wǎng)絡(luò)異構(gòu)數(shù)據(jù)的采集與處理(285)14.2.1 異構(gòu)資源采集(286)14.2.2 利用HttpClient檢索數(shù)據(jù)(286)14.2.3 構(gòu)造XML文檔(288)14.2.4 在瀏覽器端顯示XML文檔(291)14.2.5 提供統(tǒng)一檢索接口(293)14.3 小結(jié)(294)習(xí)題14(294)第三部分 實(shí)驗(yàn)和輔助工具篇實(shí)驗(yàn)1 熟悉SQL Server 2000環(huán)境及數(shù)據(jù)庫管理(296)實(shí)驗(yàn)2 數(shù)據(jù)定義(297)實(shí)驗(yàn)3 數(shù)據(jù)操縱(298)實(shí)驗(yàn)4 簡單查詢(300)實(shí)驗(yàn)5 連接查詢和嵌套查詢(300)實(shí)驗(yàn)6 數(shù)據(jù)庫的完整性控制(301)實(shí)驗(yàn)7 數(shù)據(jù)庫的安全性(302)附錄A SQL Server 2000中的系統(tǒng)存儲(chǔ)過程(303)附錄B Eclipse使用簡介(308)

章節(jié)摘錄

插圖:      預(yù)防死鎖通常有兩種方法:一次封鎖法和順序封鎖法。  一次封鎖法是要求每個(gè)事務(wù)必須一次將所有要使用的數(shù)據(jù)全部加鎖,否則就不能繼續(xù)執(zhí)行。一次封鎖法雖然可以有效防止死鎖的發(fā)生,但需要將以后要用到的全部數(shù)據(jù)加鎖,這勢必?cái)U(kuò)大了封鎖的范圍,從而降低了系統(tǒng)的并發(fā)度。同時(shí),由于數(shù)據(jù)庫中數(shù)據(jù)是不斷變化的,原來不要求封鎖的數(shù)據(jù),在執(zhí)行過程中可能會(huì)變成封鎖對象,所以很難事先精確地確定每個(gè)事務(wù)所要封鎖的數(shù)據(jù)對象。順序封鎖法是預(yù)先對數(shù)據(jù)對象規(guī)定一個(gè)封鎖順序,所有事務(wù)都按這個(gè)順序?qū)嵭蟹怄i。順序封鎖法存在的主要問題是維護(hù)成本高。數(shù)據(jù)庫系統(tǒng)中可封鎖的數(shù)據(jù)對象極其眾多,并且隨數(shù)據(jù)的插入、刪除等操作而不斷地變化,要維護(hù)這樣極多而且變化的資源的封鍘順序非常困難,成本很高。而且事務(wù)的封鎖請求可以隨著事務(wù)的執(zhí)行而動(dòng)態(tài)地決定,很難事先確定每一個(gè)事務(wù)要封鎖哪些對象,因此也就很難按規(guī)定的順序去施加封鎖。  由此可見,在操作系統(tǒng)中廣為采用的預(yù)防死鎖的策略并不很適合數(shù)據(jù)庫系統(tǒng),因此DBMS在解決死鎖問題上普遍采用的是診斷并解除死鎖的方法。這種方法允許數(shù)據(jù)庫中出現(xiàn)死鎖,盡可能及時(shí)發(fā)現(xiàn)和處理。死鎖的檢測一般使用超時(shí)法或等待圖法。超時(shí)法中,如果一個(gè)事務(wù)的等待時(shí)間超過了規(guī)定的時(shí)限,則認(rèn)為發(fā)生了死鎖。而等待圖法則使用一個(gè)被稱為“事務(wù)等待圖”的有向圖G=(T,U)來判斷是否存在死鎖。其中T為結(jié)點(diǎn)的集合,每個(gè)結(jié)點(diǎn)表示正在運(yùn)行的事務(wù);u為邊的集合,每條邊表示事務(wù)等待的情況。若事務(wù)T1等待事務(wù)T2,則T1,T2之間有一條有向邊,從T1指向T2。如果發(fā)現(xiàn)圖中存在回路,則表示系統(tǒng)中出現(xiàn)了死鎖。

編輯推薦

《數(shù)據(jù)庫原理與應(yīng)用》:高等學(xué)校計(jì)算機(jī)規(guī)劃教材

圖書封面

圖書標(biāo)簽Tags

評論、評分、閱讀與下載


    數(shù)據(jù)庫原理與應(yīng)用 PDF格式下載


用戶評論 (總計(jì)1條)

 
 

  •   是教材,寫的還可以哦
 

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

京ICP備13047387號-7