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