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