數據庫原理及應用是將數據庫基本原理、方法和應用技術相結合,以關系數據庫系統為核心,完整地論述數據庫系統的基本概念、基本原理的基礎上,對MicrosoftSQLSERVER等主流的數據庫管理系統、Visio和PowerDesigner、ASP.NET和ADO.NET等數據庫設計與軟件開發工具進行講解,并對數據倉庫與數據挖掘、XML數據庫等數據庫新技術進行介紹。主要包括主要內容包括數據模型、數據庫系統的體系結構、關系數據庫方法、關系數據庫的結構化查詢語言SQL、關系模式的規范化理論、數據庫設計、數據庫保護、MicrosoftSQLSERVER2012、ASP.NET和ADO.NET數據庫開發技術、數據倉庫與數據挖掘、XML數據庫等。
前言
第1章數據庫系統概述
1.1 數據庫技術的產生與發展
1.1.1數據管理的發展
1.1.2數據和數據管理技術
1.1.3數據庫系統的i個發展階段
1.2數據庫系統的基本概念
1.2.1數據庫
1.2.2數據庫系統
1.3數據庫系統的特點
第2章數據模型
2.1數據模型概述
2.1.1數據模型的基本組成
2.1.2數據模型的發展
2.2 E-R數據模型
2.2.1基本概念
2.2.2 E-R圖
2.2.3擴充E-R數據模型
2.3層次數據模型
2.3.1基本概念和結構
2.3.2數據操作
2.3.3數據約束
2.3.4層次數據模型的優缺點
2.4網狀數據模型
2.4.1基本概念和結構
2.4.2數據操作
2.4.3數據約束
2.4.4網狀數據模型的優缺點
2.5關系數據模型
2.5.1基本概念
2.5.2關系數據模型的數據結構
2.5.3數據操作
2.5.4數據約束
2.5.5關系數據模型的優缺點
2.6面向對象數據模型
2.6.1對象和對象標識符
2.6.2屬性和方法
2.6.3封裝和消息傳遞
2.6.4類和實例
2.6.5類層次結構和繼承
2.6.6持久性和版本
2.6.7多態、重載、重定義與動態聯編
2.6.8面向對象數據模型與關系數據
模型的比較
第3章數據庫系統的體系結構
3.1 數據庫的體系結構
3.1.1三級模式結構
3.1.2兩級映像和兩級數據獨立性
3.2數據庫系統
3.2.1 DBS的組成
3.2.2 DBS的全局結構
3.2.3 DBS結構的分類
3.3數據庫管理系統
3.3.1 DBMS的工作模式
3.3.2 DBMS的主要功能
3.4 DBMS的系統結構
3.4.1 DBMS的進程結構和多線索結構
3.4.2 DBMS的組成
3.4.3 DBMS的層次結構
3.5 幾種典型結構的DBMS
3.5.1 C/S結構的DBMS
3.5.2基于Web的數據庫系統
第4章關系數據庫方法
4.1 關系數據庫的基本概念
4.1.1關系的形式化定義
4.1.2關系模式、關系子模式和存儲
模式
4.1.3關系模型的完整性規則
4.1.4關系數據庫模式
4.2關系代數
4.2.1關系代數的五個基本操作
4.2.2關系代數的組合操作
4.2.3關系代數表達式應用舉例
4.3關系演算
4.3.1元組關系演算
4.3.2域關系演算
4.4關系查詢優化
4.4.1查詢優化的一般策略
4.4.2關系代數優化
4.4.3基于存取路徑的規則優化
第5章關系數據庫的結構化查詢
語言
5.1 SQL概述
5.2 SQL的數據定義語言
5.2.1數據類型
5.2.2數據庫模式的定義
5.2.3基本表的定義
5.2.4基本表的修改和刪除
5.2.5索引的建立和刪除
5.3 SQL數據更新
5.3.1元組插入
5.3.2元組刪除
5.3.3元組修改
5.4 SQL數據查詢
5.4.1 SQL查詢語句的格式
5.4.2簡單查詢
5.4.3復雜查詢
5.5 SQL聚集函數
5.5.1聚集函數的運算符
5.5.2數據分組
5.5.3數據排序
5.6 SQL中的視圖
5.6.1視圖定義 -
5.6.2視圖查詢
5.6.3視圖更新 一
5.6.4視圖刪除 一
5.6.5視圖的作用 ”
第6章關系模式的規范化理論
6.1 關系模式設計中的問題
6.2函數依賴
6.2.1函數依賴定義 -
6.2.2關鍵字和超關鍵字
6.3數據依賴的公理系統
6.3.1 函數依賴的邏輯蘊涵
6.3.2 Armstrong公理系統
6.3.3 函數依賴集的等價和覆蓋
6.4關系模式的分解及其問題
6.4.1分解的無損連接性
6.4.2保持函數依賴性
6.5關系模式的規范化
6.5.1范式 一
6.5.2模式分解的算法
6.6多值函數依賴與4NF l
6.6.1 BCNF關系模式存在的問題
6.6.2多值函數依賴
6.6.3 4NF
6.7連接依賴和5NF.
第7章數據庫設計
7.1數據庫設計概述
7.1.1數據庫系統生存期
7.1.2數據庫設計方法 l
7.1.3數據庫設計的基本過程
7.2規劃
7.3需求分析
7.3.1需求描述與分析
7.3.2需求分析階段的輸入和輸出
7.3.3需求分析的步驟
7.3.4數據字典
7.4概念設計
7.4.1概念設計的必要性
7.4.2概念設計的主要步驟
7.4.3采用E-R模型方法的數據庫概念
設計 一
7.5數據庫邏輯結構設計及優化
7.5.1邏輯設計環境
7.5.2 E-R模型向關系模型的轉換 l
7.5.3用關系規范化理論對關系數據
模型進行優化
7.6數據庫的物理設計
7.7數據庫的實現
7.8數據庫的運行與維護
7.9 PowerDesigner輔助設計工具
7.9.1繪制E-R圖
7.9.2后臺生成SQL數據庫及
數據表
第8章數據庫保護
8.1事務
8.1.1事務的定義
8.1.2事務的ACID準則
8.2數據庫完整性
8.2.1 完整性子系統和完整性規則
8.2.2 SQL中的完整性約束
8.2.3 SQL3觸發器
8.3數據庫安全性
8.3.1數據庫安全性級別
8.3.2數據訪問權限 一
8.3.3 SQL中的安全性機制
8.4數據庫恢復技術
8.4.1恢復的定義、原則和實現方法
8.4.2故障恢復方法
8.4.3具有檢查點的恢復技術
8.5并發控制
8.5.1并發所引起的問題
8.5.2封鎖 一
8.5.3活鎖和死鎖
8.5.4死鎖的防止、檢測和處理
8.5.5并發調度的可串行化
8.5.6兩段封鎖協議
第9章Microsoft SQL Server 2012
9.1 SQL Server簡介
9.1.1 Micriosoft SQL Server 2012的
特點
9.1.2 Micriosoft SQL Server 2012環境
介紹
9.1.3 Micriosoft SQL Server 2012的工具
介紹 一
9.2數據庫的創建、修改和刪除
9.2.1創建SQL Server數據庫
9.2.2分離和附加SQL Server數據庫
9.2.3刪除數據庫
9.3表和主鍵的創建
9.3.1表的創建
9.3.2主鍵的創建
9.3.3用SQL語句方式創建表
9.4數據的插入、修改、刪除和
查詢
9.4.1數據的插入 ”
9.4.2數據的修改 19l
9.4.3數據的刪除 一l
9.4.4數據的查詢 “
9.5數據庫的備份和恢復
9.5.1數據庫的備份 一
9.5.2數據庫的恢復 一
9.6高級應用技術
9.6.1存儲過程
9.6.2觸發器 一
第10章 ASP. NET和ADO.NET數據庫
開發技術 一
10.1 ASP. NET基礎知識 一
10.1.1 Visual Studio.NET的特色
10.1.2.NET Framework
10.1.3 ASP. NET開發環境介紹
10.2 ADO. NET介紹
10.2.1 ADO. NET與數據管理簡介
10.2.2 ADO. NET命名空間
10.3連接數據庫
10.3.1 連接Microsoft SQL Server
數據庫 一
10.3.2 連接到Microsoft Access
數據庫 一
10.4讀取和操作數據
10.5數據集
10.5.1使用DataAdapter類
10.5.2 使用DataTables、DataColumns和
DataRows 一
10.6 DataReader類
10.7 DataGrid和GridView控件
10.8 DataList控件
第11章數據倉庫與數據挖掘
11.1概述
1 1.2數據倉庫的概念
11.2.1數據倉庫的定義
11.2.2數據倉庫的結構
1 1.3數據倉庫的設計與實現
11.3.1數據倉庫的設計原則
11.3.2數據倉庫的三級數據模型
11.3.3數據倉庫的設計步驟
11.3.4數據倉庫的實現結構
11.4數據挖掘
11.4.1數據挖掘定義
11.4.2數據挖掘技術的應用
研究現狀
11.4.3數據挖掘的主要技術
11.4.4數據挖掘的過程
11.4.5 DM與OLAP
第12章XML數據庫
12.1引言
12.2 XML文檔
12.3 XML文檔類型定義
12.3.1元素定義
12.3.2屬性定義 -
12.4 XML模式
12.5 XPath查詢語言.
12.6 XQuery查詢語言
12.7 XML應用
12.7.1 基于XML的數據交換與異構
數據集成
12.7.2 XML索引與查詢處理
12.7.3 XML文檔聚類
12.7.4 XML流處理
參考文獻
前 言20世紀60年代末,數據庫技術是作為數據處理中的一門新技術發展起來的。時至今日,數據庫技術已形成了較為完整的理論體系,是計算機軟件領域的一個重要分支。
隨著數據庫系統的推廣,計算機應用已深入人類社會的各個領域,如當前的管理信息系統( MIS)、企業資源規劃(ERP)、計算機集成制造系統(CIMS)、地理信息系統(GIS)、決策支持系統( DDS)等都是以數據庫技術為基礎的。此外,我國實施的國家信息化、“金”字工程、數字城市等都是以數據庫為基礎的大型計算機系統。目前,數據庫的建設規模和性能、數據庫信息量的大小和使用水平已成為衡量一個國家信患化程度的重要標志。我國高等院校從20世紀80年代開始就把數據庫原理及應用作為計算機類專業的主要課程之一。目前,數據庫原理及應用課程是各大高等院校計算機類專業、信息管理與信息系統以及相關專業的一門重要專業基礎課程。
本書很好地將數據庫基本原理、方法和應用技術相結合,以關系數據庫系統為核心,在全面解析數據庫系統的基本概念及基本原理的基礎上,對Microsoft SQL Server等主流數據庫管理系統、Visio和PowerDesigner、VS. net等數據庫設計與軟件開發工具進行講解,并對數據倉庫與數據挖掘、XML數據庫等新技術進行了介紹,旨在讓高等院校計算機類專業、信息管理與信息系統以及相關專業的本科生以及廣大軟件設計與開發工程技術人員在學習本書后,能熟練使用現有的數據庫管理系統和軟件設計與開發工具,進行數據庫結構的設計和數據庫應用系統開發。
本書共分12章。第1章數據庫系統概述,介紹數據庫系統基本概念,并討論了數據管理和數據庫系統的發展過程。第2章數據模型,著重介紹E-R數據模型、層次數據模型、網狀數據模型、關系數據模型、面向對象數據模型等的基本概念和設計方法。第3章數據庫系統的體系結構,主要介紹數據庫系統的三級模式結構,DBS、DBMS、DBMS的系統結構等內容。第4章關系數據庫方法,介紹關系數據庫的基本概念、代數運算、關系演算、關系查詢優化等內容。第5章關系數據庫的結構化查詢語言,主要介紹SQL概述、SQL的數據定義語言、SQL數據更新、SQL數據查詢、SQL聚集函數、SQL中的視圖等內容。第6章關系模式的規范化理論,主要介紹函數依賴、范式和模式設計方法等關系模式規范化理論。第7章主要介紹數據庫設計、概念設計、數據庫的物理設計、PowerDesigner輔助設計工具等內容。第8章主要介紹數據庫完整性、數據庫安全性、數據庫恢復技術和并發控制等數據庫保護措施。第9章主要介紹關系數據庫系統Microsoft SQL Server的基本知識,并以MicrosoftSQL Server 2012為背景,介紹了數據庫系統設計方法和SQL Server的高級應用技術。第10章主要介紹ASP. NET和ADO. NET基礎知識、ASP. NET連接數據庫方法、ADO. NET讀取和操作數據庫數據等基于.NET的數據庫開發技術。第11章主要介紹數據倉庫和數據挖掘的基本概念、數據倉庫設計方法與實現過程、數據挖掘的主要技術和過程。第12章主要介紹XML文檔、XML模式、XPath查詢語言、XQuery查詢語言等知識,并給出了XML在數據管理方面的應用實例。
本書第1~6章、第11章由胡孔法編寫,第7章由胡晨駿編寫,第8章由張福安編寫,第9章和第10章由余侃侃編寫,第12章由朱新山編寫。
作者結合自己在讀碩士和博士期間所從事的數據庫及信息系統方面的研究成果以及十余年的軟件開發與設計經驗和多年的教學經驗,完成了本書的編寫。
本書可作為計算機及相關專業的本科生教材,也可供研究生、廣大軟件設計和開發人員參考。書中如有不足之處,敬請廣大讀者指正。
作者