本書介紹了數(shù)據(jù)庫(kù)原理、方法及其應(yīng)用開(kāi)發(fā)技術(shù)。介紹了數(shù)據(jù)庫(kù)系統(tǒng)基礎(chǔ),關(guān)系數(shù)據(jù)庫(kù)理論,關(guān)系數(shù)據(jù)庫(kù)標(biāo)準(zhǔn)語(yǔ)言SQL,SQL Server 2005應(yīng)用基礎(chǔ),SQL語(yǔ)言高級(jí)應(yīng)用,數(shù)據(jù)庫(kù)設(shè)計(jì),數(shù)據(jù)庫(kù)保護(hù)技術(shù),數(shù)據(jù)庫(kù)訪問(wèn)技術(shù),C語(yǔ)言數(shù)據(jù)庫(kù)應(yīng)用程序開(kāi)發(fā)技術(shù),C#和ADO.NET數(shù)據(jù)庫(kù)應(yīng)用程序開(kāi)發(fā)技術(shù),Java數(shù)據(jù)庫(kù)應(yīng)用程序開(kāi)發(fā)技術(shù)以及數(shù)據(jù)庫(kù)新技術(shù)等內(nèi)容。同時(shí)介紹了使用C、C#和Java三種語(yǔ)言開(kāi)發(fā)數(shù)據(jù)庫(kù)應(yīng)用程序的基本方法和技術(shù)。附錄提供實(shí)驗(yàn)指導(dǎo)、課程設(shè)計(jì)指導(dǎo)等實(shí)踐環(huán)節(jié)。書中配有實(shí)例、習(xí)題,有利于教師教學(xué)和學(xué)生自學(xué)。為方便教師教學(xué),本書配有教學(xué)課件和書中實(shí)例源代碼。
本書可作為普通高等學(xué)校計(jì)算機(jī)及信息專業(yè)的本、專科生的教材,也可作為高職高專院校在校生的教材,同時(shí)也適合從事數(shù)據(jù)庫(kù)應(yīng)用程序開(kāi)發(fā)人員參考之用。
第1章 數(shù)據(jù)庫(kù)系統(tǒng)概述\\t(1)
1.1 數(shù)據(jù)庫(kù)系統(tǒng)的基本概念\\t(1)
1.1.1 數(shù)據(jù)管理與數(shù)據(jù)處理\\t(1)
1.1.2 數(shù)據(jù)庫(kù)\\t(2)
1.1.3 數(shù)據(jù)庫(kù)管理系統(tǒng)\\t(2)
1.1.4 數(shù)據(jù)庫(kù)系統(tǒng)\\t(2)
1.2 數(shù)據(jù)描述與數(shù)據(jù)模型\\t(4)
1.2.1 數(shù)據(jù)的3種范疇\\t(4)
1.2.2 信息世界中所涉及的基本概念\\t(4)
1.2.3 機(jī)器世界中所涉及的基本概念\\t(5)
1.2.4 實(shí)體間的聯(lián)系\\t(5)
1.3 概念數(shù)據(jù)模型與E-R表示方法\\t(6)
1.3.1 數(shù)據(jù)模型\\t(6)
1.3.2 概念數(shù)據(jù)模型\\t(7)
1.3.3 概念數(shù)據(jù)模型的E-R表示方法\\t(7)
1.3.4 概念數(shù)據(jù)模型實(shí)例\\t(8)
1.4 傳統(tǒng)數(shù)據(jù)模型概述\\t(10)
1.4.1 層次模型\\t(10)
1.4.2 網(wǎng)狀模型\\t(11)
1.4.3 關(guān)系模型\\t(12)
1.5 數(shù)據(jù)庫(kù)系統(tǒng)結(jié)構(gòu)\\t(13)
1.5.1 數(shù)據(jù)庫(kù)系統(tǒng)模式的概念\\t(13)
1.5.2 數(shù)據(jù)庫(kù)系統(tǒng)的三級(jí)模式結(jié)構(gòu)\\t(13)
1.5.3 數(shù)據(jù)獨(dú)立性\\t(14)
1.6 數(shù)據(jù)庫(kù)管理系統(tǒng)的組成\\t(15)
1.7 數(shù)據(jù)庫(kù)系統(tǒng)的組成\\t(16)
1.8 小結(jié)\\t(16)
習(xí)題1\\t(17)
第2章 關(guān)系數(shù)據(jù)庫(kù)理論\\t(21)
2.1 關(guān)系模型\\t(21)
2.1.1 關(guān)系模型的基本概念\\t(21)
2.1.2 關(guān)系模式\\t(23)
2.2 關(guān)系模型的完整性\\t(23)
2.3 關(guān)系代數(shù)\\t(24)
2.3.1 關(guān)系代數(shù)概述\\t(24)
2.3.2 關(guān)系代數(shù)的基本操作\\t(24)
2.3.3 關(guān)系代數(shù)的其他操作\\t(27)
2.4 關(guān)系數(shù)據(jù)庫(kù)規(guī)范化理論\\t(28)
2.4.1 關(guān)系規(guī)范化理論概述\\t(28)
2.4.2 函數(shù)依賴\\t(30)
2.4.3 關(guān)系的規(guī)范化\\t(32)
2.4.4 多值依賴與第四范式\\t(34)
2.4.5 各種范式之間的關(guān)系\\t(35)
2.5 小結(jié)\\t(36)
習(xí)題2\\t(36)
第3章 關(guān)系數(shù)據(jù)庫(kù)語(yǔ)言SQL\\t(41)
3.1 SQL語(yǔ)言的功能與特點(diǎn)\\t(41)
3.2 表的基本操作\\t(41)
3.2.1 定義表\\t(41)
3.2.2 修改表\\t(44)
3.2.3 刪除基本表\\t(45)
3.3 SQL的數(shù)據(jù)查詢\\t(45)
3.3.1 單表查詢\\t(46)
3.3.2 多表查詢\\t(51)
3.4 SQL的視圖操作\\t(54)
3.4.1 定義視圖\\t(54)
3.4.2 創(chuàng)建視圖\\t(54)
3.4.3 使用視圖\\t(55)
3.4.4 刪除視圖\\t(56)
3.5 子查詢\\t(56)
3.6 組合查詢\\t(58)
3.7 數(shù)據(jù)的插入、修改與刪除\\t(59)
3.7.1 插入數(shù)據(jù)\\t(59)
3.7.2 修改數(shù)據(jù)\\t(60)
3.7.3 刪除數(shù)據(jù)\\t(60)
3.8 小結(jié)\\t(61)
習(xí)題3\\t(61)
第4章 SQL Server 2005應(yīng)用基礎(chǔ)\\t(66)
4.1 SQL Server 2005系統(tǒng)概述\\t(66)
4.2 SQL Server 2005版本說(shuō)明\\t(67)
4.3 SQL Server 2005 Express Edition簡(jiǎn)介\\t(68)
4.4 SQL Server 2005安裝與配置\\t(70)
4.4.1 安裝時(shí)考慮的關(guān)鍵點(diǎn)\\t(70)
4.4.2 SQL Server 2005 Express Edition安裝\\t(71)
4.4.3 SQL Server 2005組件\\t(77)
4.5 常見(jiàn)故障分析\\t(80)
4.6 數(shù)據(jù)庫(kù)的創(chuàng)建\\t(80)
4.6.1 操作系統(tǒng)文件\\t(80)
4.6.2 數(shù)據(jù)庫(kù)文件組\\t(81)
4.6.3 使用數(shù)據(jù)文件和文件組的建議\\t(81)
4.6.4 創(chuàng)建數(shù)據(jù)庫(kù)\\t(81)
4.6.5 修改數(shù)據(jù)庫(kù)\\t(84)
4.6.6 刪除數(shù)據(jù)庫(kù)\\t(85)
4.7 基本表的定義\\t(85)
4.7.1 創(chuàng)建基本表\\t(85)
4.7.2 修改基本表\\t(89)
4.7.3 刪除基本表\\t(91)
4.8 索引的建立和刪除\\t(91)
4.8.1 索引的概念\\t(91)
4.8.2 索引的類型\\t(91)
4.8.3 建立索引\\t(92)
4.8.4 刪除索引\\t(92)
4.9 小結(jié)\\t(92)
習(xí)題4\\t(93)
第5章 SQL高級(jí)應(yīng)用\\t(94)
5.1 Transact_SQL\\t(94)
5.1.1 Transact_SQL簡(jiǎn)介\\t(94)
5.1.2 Transact_SQL語(yǔ)法格式\\t(94)
5.1.3 Transact_SQL 系統(tǒng)元素\\t(96)
5.2 Transact_SQL程序流程控制\\t(99)
5.2.1 IF...ELSE語(yǔ)句\\t(99)
5.2.2 BEGIN...END語(yǔ)句\\t(100)
5.2.3 GOTO語(yǔ)句\\t(101)
5.2.4 WHILE、BREAK、CONTINUE語(yǔ)句\\t(101)
5.2.5 WAITFOR語(yǔ)句\\t(101)
5.2.6 RETURN語(yǔ)句\\t(102)
5.2.7 CASE表達(dá)式\\t(102)
5.3 存儲(chǔ)過(guò)程\\t(103)
5.3.1 存儲(chǔ)過(guò)程的概念\\t(103)
5.3.2 存儲(chǔ)過(guò)程的創(chuàng)建與執(zhí)行\(zhòng)\t(104)
5.3.3 存儲(chǔ)過(guò)程與參數(shù)\\t(108)
5.4 觸發(fā)器\\t(110)
5.4.1 觸發(fā)器的概念與工作原理\\t(110)
5.4.2 創(chuàng)建觸發(fā)器\\t(111)
5.4.3 管理觸發(fā)器\\t(114)
5.4.4 觸發(fā)器的用途\\t(115)
5.5 小結(jié)\\t(115)
習(xí)題5\\t(115)
第6章 數(shù)據(jù)庫(kù)設(shè)計(jì)\\t(116)
6.1 數(shù)據(jù)庫(kù)設(shè)計(jì)的內(nèi)容與特點(diǎn)\\t(116)
6.2 數(shù)據(jù)庫(kù)設(shè)計(jì)方法\\t(116)
6.3 數(shù)據(jù)庫(kù)設(shè)計(jì)步驟\\t(117)
6.4 數(shù)據(jù)庫(kù)規(guī)劃\\t(118)
6.5 需求分析\\t(118)
6.5.1 需求分析的任務(wù)\\t(118)
6.5.2 需求分析的方法\\t(119)
6.5.3 需求分析的步驟\\t(119)
6.6 概念結(jié)構(gòu)設(shè)計(jì)\\t(122)
6.6.1 設(shè)計(jì)各局部應(yīng)用的E-R模型\\t(122)
6.6.2 全局E-R模型的設(shè)計(jì)\\t(122)
6.7 邏輯結(jié)構(gòu)設(shè)計(jì)\\t(124)
6.7.1 邏輯結(jié)構(gòu)設(shè)計(jì)的步驟\\t(124)
6.7.2 E-R圖向關(guān)系模型的轉(zhuǎn)換\\t(124)
6.7.3 邏輯模式的優(yōu)化\\t(125)
6.7.4 外模式的設(shè)計(jì)\\t(126)
6.8 物理結(jié)構(gòu)的設(shè)計(jì)\\t(127)
6.8.1 數(shù)據(jù)庫(kù)物理設(shè)計(jì)的內(nèi)容與方法\\t(127)
6.8.2 關(guān)系模式存取方法的選擇\\t(127)
6.8.3 系統(tǒng)存儲(chǔ)結(jié)構(gòu)的確定\\t(129)
6.9 數(shù)據(jù)庫(kù)的實(shí)施\\t(130)
6.9.1 數(shù)據(jù)庫(kù)試運(yùn)行\(zhòng)\t(131)
6.9.2 數(shù)據(jù)庫(kù)的運(yùn)行與維護(hù)\\t(131)
6.10 數(shù)據(jù)庫(kù)應(yīng)用的結(jié)構(gòu)和開(kāi)發(fā)環(huán)境\\t(132)
6.10.1 數(shù)據(jù)庫(kù)應(yīng)用模型\\t(132)
6.10.2 數(shù)據(jù)庫(kù)應(yīng)用開(kāi)發(fā)環(huán)境ODBC\\t(134)
6.11 小結(jié)\\t(137)
習(xí)題6\\t(137)
第7章 數(shù)據(jù)庫(kù)保護(hù)技術(shù)\\t(140)
7.1 事務(wù)機(jī)制\\t(140)
7.1.1 事務(wù)的概念與特性\\t(140)
7.1.2 事務(wù)的提交與回退\\t(141)
7.2 數(shù)據(jù)庫(kù)安全性\\t(142)
7.2.1 對(duì)數(shù)據(jù)庫(kù)安全的威脅\\t(142)
7.2.2 數(shù)據(jù)庫(kù)安全性控制\\t(143)
7.2.3 視圖機(jī)制\\t(144)
7.2.4 數(shù)據(jù)加密\\t(144)
7.2.5 SQL Server 2005的安全性\\t(144)
7.3 數(shù)據(jù)庫(kù)完整性\\t(147)
7.3.1 數(shù)據(jù)庫(kù)完整性概述\\t(147)
7.3.2 完整性控制\\t(148)
7.3.3 數(shù)據(jù)完整性的實(shí)現(xiàn)\\t(150)
7.4 數(shù)據(jù)庫(kù)恢復(fù)\\t(153)
7.4.1 數(shù)據(jù)庫(kù)的故障分類\\t(153)
7.4.2 數(shù)據(jù)庫(kù)故障的基本恢復(fù)方式\\t(154)
7.4.3 恢復(fù)策略\\t(156)
7.4.4 具有檢查點(diǎn)的恢復(fù)技術(shù)\\t(158)
7.4.5 SQL Server 2005備份與還原\\t(159)
7.5 并發(fā)控制\\t(163)
7.5.1 數(shù)據(jù)庫(kù)并發(fā)操作帶來(lái)的數(shù)據(jù)不一致性問(wèn)題\\t(163)
7.5.2 封鎖技術(shù)\\t(165)
7.5.3 鎖協(xié)議\\t(165)
7.5.4 封鎖帶來(lái)的問(wèn)題——活鎖與死鎖\\t(166)
7.5.5 并發(fā)調(diào)度的可串行性\\t(168)
7.5.6 SQL Server的并發(fā)控制\\t(170)
7.6 小結(jié)\\t(171)
習(xí)題七\(yùn)\t(172)
第8章 數(shù)據(jù)庫(kù)訪問(wèn)技術(shù)\\t(176)
8.1 ODBC的使用\\t(176)
8.1.1 ODBC概述\\t(176)
8.1.2 ODBC數(shù)據(jù)源的配置\\t(177)
8.2 ADO的使用\\t(179)
8.2.1 ADO概述\\t(179)
8.2.2 使用ADO技術(shù)訪問(wèn)數(shù)據(jù)庫(kù)舉例\\t(181)
8.3 ADO.NET簡(jiǎn)介\\t(184)
8.3.1 ADO.NET技術(shù)的設(shè)計(jì)目標(biāo)\\t(184)
8.3.2 ADO.NET的體系結(jié)構(gòu)\\t(184)
8.3.3 ADO.NET數(shù)據(jù)對(duì)象\\t(190)
8.4 JDBC技術(shù)\\t(191)
8.4.1 JDBC概述\\t(191)
8.4.2 JDBC驅(qū)動(dòng)程序\\t(192)
8.4.3 JDBC常用類\\t(193)
8.5 小結(jié)\\t(194)
習(xí)題8\\t(194)
第9章 C語(yǔ)言數(shù)據(jù)庫(kù)應(yīng)用程序開(kāi)發(fā)技術(shù)\\t(195)
9.1 嵌入式SQL語(yǔ)句\\t(195)
9.1.1 在C語(yǔ)言程序中嵌入SQL語(yǔ)句的程序開(kāi)發(fā)環(huán)境的搭建\\t(196)
9.1.2 第一個(gè)在C語(yǔ)言程序中嵌入SQL語(yǔ)句的程序\\t(197)
9.2 靜態(tài)SQL語(yǔ)句\\t(199)
9.2.1 聲明嵌入式SQL語(yǔ)句中使用的C變量\\t(199)
9.2.2 連接數(shù)據(jù)庫(kù)\\t(201)
9.2.3 數(shù)據(jù)的查詢與更新\\t(202)
9.2.4 SQL通信區(qū)\\t(203)
9.3 動(dòng)態(tài)SQL語(yǔ)句\\t(205)
9.3.1 動(dòng)態(tài)修改\\t(205)
9.3.2 動(dòng)態(tài)游標(biāo)\\t(206)
9.3.3 SQLDA\\t(208)
習(xí)題9\\t(209)
第10章 C#和ADO.NET數(shù)據(jù)庫(kù)應(yīng)用程序開(kāi)發(fā)技術(shù)\\t(210)
10.1 數(shù)據(jù)庫(kù)的連接\\t(210)
10.1.1 SqlConnection的使用\\t(211)
10.1.2 OleDbConnection的使用\\t(212)
10.1.3 OdbcConnection的使用\\t(213)
10.1.4 OracleConnection的使用\\t(214)
10.2 數(shù)據(jù)的獲取\\t(217)
10.2.1 創(chuàng)建Command對(duì)象\\t(217)
10.2.2 執(zhí)行命令\\t(217)
10.2.3 參數(shù)化查詢\\t(221)
10.2.4 執(zhí)行存儲(chǔ)過(guò)程\\t(223)
10.3 DataReader的使用\\t(225)
10.3.1 DataReader簡(jiǎn)介\\t(225)
10.3.2 使用DataReader讀取數(shù)據(jù)\\t(226)
10.3.3 在DataReader中使用多個(gè)結(jié)果集\\t(228)
10.4 DataSet和DataAdapter的使用\\t(230)
10.4.1 DataSet簡(jiǎn)介\\t(230)
10.4.2 DataAdapter簡(jiǎn)介\\t(230)
10.4.3 利用DataSet和DataAdapter訪問(wèn)數(shù)據(jù)\\t(231)
10.4.4 類型和無(wú)類型DataSet\\t(233)
10.5 性能\\t(234)
10.6 小結(jié)\\t(234)
習(xí)題10\\t(235)
第11章 Java數(shù)據(jù)庫(kù)應(yīng)用程序開(kāi)發(fā)技術(shù)\\t(236)
11.1 JDBC API簡(jiǎn)介\\t(236)
11.2 SQL和Java之間的映射關(guān)系\\t(237)
11.3 JDBC編程\\t(238)
11.3.1 數(shù)據(jù)庫(kù)操作基本步驟\\t(239)
11.3.2 JDBC數(shù)據(jù)庫(kù)操作實(shí)現(xiàn)\\t(240)
11.4 連接其他類型數(shù)據(jù)庫(kù)\\t(258)
11.4.1 連接Oracle數(shù)據(jù)庫(kù)\\t(258)
11.4.2 連接MySQL數(shù)據(jù)庫(kù)\\t(259)
11.4.3 連接SQL Server數(shù)據(jù)庫(kù)\\t(260)
11.4.4 JDBC:ODBC連接Access數(shù)據(jù)庫(kù)\\t(262)
11.5 小結(jié)\\t(263)
習(xí)題11\\t(263)
第12章 數(shù)據(jù)庫(kù)新技術(shù)\\t(266)
12.1 面向?qū)ο髷?shù)據(jù)庫(kù)系統(tǒng)\\t(266)
12.1.1 對(duì)象-關(guān)系數(shù)據(jù)庫(kù)\\t(268)
12.1.2 面向?qū)ο髷?shù)據(jù)庫(kù)與傳統(tǒng)數(shù)據(jù)庫(kù)的比較\\t(268)
12.2 分布式數(shù)據(jù)庫(kù)系統(tǒng)\\t(270)
12.2.1 分布式數(shù)據(jù)庫(kù)系統(tǒng)概述\\t(270)
12.2.2 分布式數(shù)據(jù)庫(kù)系統(tǒng)的設(shè)計(jì)\\t(272)
12.2.3 分布式數(shù)據(jù)庫(kù)系統(tǒng)的安全技術(shù)\\t(273)
12.2.4 分布式數(shù)據(jù)庫(kù)系統(tǒng)的發(fā)展前景與應(yīng)用趨勢(shì)\\t(273)
12.3 數(shù)據(jù)倉(cāng)庫(kù)\\t(275)
12.3.1 數(shù)據(jù)倉(cāng)庫(kù)的定義與特點(diǎn)\\t(275)
12.3.2 數(shù)據(jù)倉(cāng)庫(kù)的種類\\t(276)
12.3.3 數(shù)據(jù)集市\(zhòng)\t(276)
12.3.4 數(shù)據(jù)倉(cāng)庫(kù)中的幾個(gè)數(shù)據(jù)\\t(277)
12.3.5 數(shù)據(jù)倉(cāng)庫(kù)模型\\t(278)
12.4 數(shù)據(jù)挖掘\\t(279)
12.4.1 數(shù)據(jù)挖掘的定義\\t(279)
12.4.2 數(shù)據(jù)挖掘的分類\\t(279)
12.4.3 數(shù)據(jù)挖掘的數(shù)據(jù)來(lái)源\\t(279)
12.4.4 數(shù)據(jù)挖掘的體系結(jié)構(gòu)\\t(280)
12.4.5 數(shù)據(jù)挖掘的步驟\\t(280)
12.4.6 數(shù)據(jù)挖掘的功能\\t(280)
12.4.7 數(shù)據(jù)挖掘的常用技術(shù)\\t(280)
12.5 數(shù)據(jù)庫(kù)技術(shù)的新應(yīng)用\\t(281)
12.5.1 數(shù)據(jù)模型研究\\t(281)
12.5.2 與新技術(shù)結(jié)合的研究\\t(281)
12.5.3 與應(yīng)用領(lǐng)域結(jié)合的研究\\t(284)
12.6 小結(jié)\\t(286)
習(xí)題12\\t(286)
附錄A 實(shí)驗(yàn)部分\\t(287)
附錄B 課程設(shè)計(jì)指導(dǎo)書\\t(301)
數(shù)據(jù)結(jié)構(gòu)是刻畫一個(gè)數(shù)據(jù)模型性質(zhì)最重要的方面。因此,在數(shù)據(jù)庫(kù)系統(tǒng)中,通常按照數(shù)據(jù)結(jié)構(gòu)的類型來(lái)命名數(shù)據(jù)模型。例如,層次結(jié)構(gòu)、網(wǎng)狀結(jié)構(gòu)、關(guān)系結(jié)構(gòu)的數(shù)據(jù)模型分別命名為層次模型、網(wǎng)狀模型和關(guān)系模型。
(2)數(shù)據(jù)操作。數(shù)據(jù)操作用于描述系統(tǒng)的動(dòng)態(tài)特征。數(shù)據(jù)操作是指允許對(duì)數(shù)據(jù)庫(kù)中各種對(duì)象(型)的實(shí)例(值)執(zhí)行的操作的集合,包括操作及有關(guān)的操作規(guī)則。數(shù)據(jù)庫(kù)主要有檢:索和修改(包括插入、刪除、更新)兩大類操作。數(shù)據(jù)模型必須定義這些操作的確切含義、操作符號(hào)、操作規(guī)則(如優(yōu)先級(jí))及實(shí)現(xiàn)操作的語(yǔ)言。
(3)數(shù)據(jù)完整性約束。數(shù)據(jù)完整性約束是一組完整性規(guī)則的集合。完整性規(guī)則是給定的數(shù)據(jù)模型中數(shù)據(jù)及其聯(lián)系所具有的制約和存儲(chǔ)規(guī)則,用以限制符合數(shù)據(jù)模型的數(shù)據(jù)庫(kù)狀態(tài)及狀態(tài)的變化,用以確保數(shù)據(jù)的正確、有效和相容。
數(shù)據(jù)模型應(yīng)該反映和規(guī)定本數(shù)據(jù)模型必須遵守的、基本的、通用的完整性約束。例如,在關(guān)系模型中,任何關(guān)系必須滿足實(shí)體完整性和參照完整性這兩類約束。
此外,數(shù)據(jù)模型還應(yīng)該提供定義完整性約束的機(jī)制,以反映具有應(yīng)用所涉及的數(shù)據(jù)必須遵守的特定的語(yǔ)義約束。例如