《數據庫原理與應用》主要介紹數據庫原理與應用。全書分為兩部分:一部分為數據庫原理篇,內容包括概述、數據模型、關系數據庫查詢語言與存儲過程、事務管理與查詢優化、數據庫的安全和完整性約束及其實現;另一部分為數據庫應用篇,內容包括關系數據庫設計理論、數據庫設計的需求分析、數據庫概念設計、數據庫邏輯設計、數據庫物理設計、數據庫的實現、運行和維護、數據庫應用示例以及大數據時代數據管理技術。附錄給出了第1-11章習題的題解。
本書力求概念清晰、易于理解,并通過大量應用實例進一步講述基本概念和方法,便于學生學習。本書的另一個特點是在數據庫應用篇的數據庫概念設計中,采用了UMI_F-R圖進行語義建模,使學生能夠掌握較新的建模方法。
本書適合作為大學本科計算機類專業數據庫課程的教材,也可供考研學生和從事數據庫應用的人士參考。
本書是一本面向大學本科生的數據庫課程教材。全書分為兩個部分,共有13章。
第1篇是數據庫原理篇,其中第1章介紹數據庫技術的基本概念、數據管理技術的發展
過程、數據模型和數據模式以及數據庫系統體系結構;第2章介紹有代表性的數據模型,重
點介紹關系數據模型的結構、約束、操作,另外還介紹了用于數據庫設計的ER模型;第3
章介紹關系數據庫查詢語言SQL以及存儲過程;第4章介紹事務的恢復、并發控制以及查
詢優化;第5章介紹數據庫的安全性和完整性約束及其實現。
第2篇是數據庫應用篇,其中第6章介紹關系數據庫設計的理論知識;第7章將信息
系統的數據流程分析和數據庫設計相結合,介紹數據庫設計的需求分析;第8章介紹數據
庫的概念設計并使用最新的UML ER數據模型作為建模T具;第9章介紹數據庫的邏輯
設計;第10章介紹數據庫的物理設計;第11章介紹數據庫的實現、運行和維護;第12章
介紹數據庫的一些應用示例;第13章簡單介紹了大數據時代的數據管理技術。第1~11
章后面都安排了習題供學生練習,附錄中給出了各章練習的解答。
本書著重數據庫的基本概念、基本原理和基本應用,力圖使讀者能夠對數據庫原理和設
計有較全面、深入的了解。通過掌握基本原理、概念和技術對今后的T作起到積極作用。
書中所有SQL例子都已在SQL SERVER 2000環境調試并運行。
本書作者長期從事數據庫課程的教學工作并有多年信息系統開發和數據庫設計的經
驗,但由于水平有限,書中難免有疏漏和不足之處,懇請讀者批評指正。
作者
2014年12月于六朝古都
第1篇數據庫原理
第1章概述
1.1數據庫技術的基本概念
1.1.1數據
1.1.2數據庫
1.1.3數據庫管理系統
1.1.4數據庫系統
1.1.5數據庫管理員
1.1.6數據庫應用系統
1.1.7數據目錄
1.1.8空值
1.2數據管理技術的發展過程
1.2.1人工管理階段
1.2.2文件管理階段
1.2.3數據庫技術階段
1.3數據模型和數據模式
1.3.1數據模型
1.3.2數據模式
1.4數據庫系統體系結構
1.4.1分布式數據庫系統體系結構
1.4.2客戶機/服務器結構
1.4.3瀏覽器/服務器結構
1.4.4混合體系結構
本章習題
第2章數據模型
2.1層次數據模型
2.2網狀數據模型
2.3關系數據模型
2.3.1關系
2.3.2關系的鍵
2.3.3關系的主屬性和非主屬性
2.3.4關系的完整性約束
2.3.5關系代數
2.3.6關系演算
2.4傳統實體一聯系數據模型
2.4.1傳統基本E—R模型
2.4.2傳統擴充E—R模型
2.5UMLE—R數據模型
2.5.1UML基本E—R數據模型
2.5.2UML擴充E—R數據模型
本章習題
第3章關系數據庫標準語言SQL
3.1SQL的發展過程
3.2SQL的組成和基本結構
3.3數據定義語言DDL
3.3.1基表模式的定義
3.3.2基表模式的修改
3.3.3索引的建立與撤銷
3.4查詢語言QL
3.4.1基本soL查詢語句
3.4.2較復雜的SQL查詢語句
3.4.3集合查詢
3.5數據操縱語言DML
3.5.1插人數據
3.5.2修改數據
3.5.3刪除數據
3.6視圖
3.6.1定義視圖
3.6.2查詢視圖
3.6.3刪除視圖
3.6.4更新視圖
3.6.5視圖的作用
3.7數據控制語言DCL
3.7.1授權
3.7.2收回權限
3.7.3完整性控制
3.8嵌入式SQL
3.8.1嵌入式SQL介紹
3.8.2嵌入式SQL的說明部分
3.8.3嵌入式SQL的可執行語句
3.9嵌入式SQL的實現
3.10動態SQL
3.11SQL的存儲過程
本章習題
第4章事務管理和查詢優化
4.1事務
4.2系統恢復
4.2.1系統恢復技術
4.2.2故障的類型及恢復的對策
4.3并發控制
4.3.1并發的概念
4.3.2加鎖與鎖的協議
4.3.3死鎖與活鎖
4.3.4可串行化調度與兩段鎖協議
4.3.5多粒度鎖
4.4查詢優化
4.4.1查詢優化的目的
4.4.2代數優化
4.4.3依賴于存取路徑的規則優化
4.4.4代價估算優化
本章習題
第5章數據庫的安全和完整性約束
5.1數據庫的安全
5.1.1用戶標識和鑒別
5.1.2存取控制
5.1.3視圖定義和查詢修改
5.1.4數據加密
5.1.5審計跟蹤
5.2數據庫的完整性約束
5.2.1域完整性約束
5.2.2引用完整性約束
5.2.3實體完整性約束
5.2.4其他完整性約束
5.2.5完整性約束的說明
本章習題
第2篇數據庫應用
第6章關系數據庫設計理論
6.1關系模式設計中的一些語義問題
6.2函數依賴
6.2.1函數依賴的定義
6.2.2函數依賴集的閉包
6.2.3屬性集的閉包
6.2.4最小函數依賴
6.3多值依賴
6.4連接依賴
6.5關系模式的分解
6.6無損分解的驗證
6.7保持依賴的驗證
6.8關系模式的規范化
6.8.1 第一范式
6.8.2 第二范式
6.8.3 第三范式
6.8.4BC范式
6.8.5無損連接和保持函數依賴分解成3NF模式集的算法
6.8.6無損分解成BF模式的算法
6.8.7 第四范式
本章習題
第7章數據庫設計的需求分析
7.1業務需求的確定
7.1.1業務的流程
7.1.2組成業務的數據
7.1.3數據的處理
7.1.4業務規則
7.2數據需求的確定
7.3處理需求的確定
7.4數據的收集和分析
7.4.1數據收集的方法
7.4.2數據的分析
本章習題
第8章數據庫的概念設計
8.1概念設計的基本方法
8.2概念設計的數據模型
8.3局部視圖的設計
8.3.1確定局部視圖的設計范圍
8.3.2確定實體及實體的主鍵
8.3.3定義實體間的聯系
8.3.4給實體及聯系加上描述屬性
8.4高級建模技術
8.4.1特殊化和普遍化
8.4.2超類/子類關系的約束
8.5視圖集成概述
8.5.1視圖集成的策略
8.5.2視圖集成的步驟
8.6實體的集成
8.7聯系的集成
8.7.1相同元數、相同角色的聯系的集成
8.7.2相同元數、不同角色的聯系的集成
8.7.3不同元的聯系集成
8.8新老數據模式的集成
8.9實例
本章習題
第9章數據庫的邏輯設計
9.1E—R圖到關系模式的映射
9.1.1實體到關系的映射
9.1.2基本E—R圖映射為關系的方法
9.1.3擴充E—R數據模式的映射
9.2關系模式的優化
9.3關系模式的調整
9.3.1改善數據庫性能
9.3.2節省存儲空間的一些考慮
9.4外模式的設計
本章習題
第10章數據庫的物理設計
10.1確定記錄的存儲結構
10.1.1數據項的存儲技術
10.1.2記錄在物理塊上的分配
10.1.3物理塊在磁盤上的分配
10.1.4數據壓縮方法
10.2確定數據庫的存儲結構
10.2.1確定數據的存放位置
10.2.2選擇文件的組織方式
10.2.3確定系統配置
10.3簇集設計
10.4索引的選擇
10.5評價物理結構
本章習題
第11章數據庫的實現、運行與維護
11.1數據庫的實現
11.2數據庫的運行
11.3數據庫的維護
本章習題
第12章數據庫設計示例
12.1客戶訂購登記管理
12.1.1需求分析
12.1.2概念設計
12.1.3邏輯設計
12.2學生住宿管理
12.2.1需求分析
12.2.2概念設計
12.2.3邏輯設計
12.3工資管理
12.3.1需求分析
12.3.2概念設計
12.3.3邏輯設計
12.4人力資源管理
12.4.1需求分析
12.4.2概念設計
12.4.3邏輯設計
12.5發票處理
12.5.1需求分析
12.5.2概念設計
12.5.3邏輯設計
12.6保險業務管理
12.6.1需求分析
12.6.2概念設計
12.6.3邏輯設計
12.7車輛租賃管理
12.7.1需求分析
12.7.2概念設計
12.7.3邏輯設計
12.8飛機訂票系統
12.8.1需求分析
12.8.2概念設計
12.8.3邏輯設計
12.9酒店客房預訂系統
12.9.1需求分析
12.9.2概念設計
12.9.3邏輯設計
12.10學生工作管理
12.10.1需求分析
12.10.2概念設計
12.10.3邏輯設計
第13章大數據時代的數據管理技術
13.1關系數據庫時代的數據管理技術
13.2大數據時代的數據管理技術
13.2.1傳統關系數據庫的瓶頸
13.2.2大數據的特點
13.2.3NosoL數據庫
13.2.4MapReduce
13.2.5Hadoop
各章習題參考答案
第1章
第2章
第3章
第4章
第5章
第6章
第7章
第8章
第9章
第10章
第11章
參考文獻