本書全面講述了數據庫的基本原理和SQL Server 2008的應用,全書以理論夠用、實用,實踐*為原則,使讀者能夠快速、輕松地掌握SQL Server數據庫技術與應用。第1~3章講述數據庫的基本理論知識,其內容包括數據庫系統概述、關系數據庫和數據庫設計; 第4~13章講述數據庫管理系統SQL Server 2008的應用,其內容包括SQL Server 2008數據庫基礎、數據庫的概念和操作、表的基本操作、數據庫查詢、視圖和索引、TSQL編程、存儲過程和觸發器、事務與并發控制、數據庫的安全管理、數據庫的備份與還原; 第14章利用一個實例介紹基于C#.NET的SQL Server數據庫系統的開發過程。
本書理論和實踐相結合,既闡述了數據庫的基本理論,又結合了SQL Server 2008數據庫管理系統的應用,內容翔實、實例豐富、圖文并茂、體系完整、通俗易懂,有助于讀者理解數據庫的基本概念,掌握要點和攻克難點; 為便于學習,每章節還配有豐富的習題。
本書可以作為大學本科、專科、高等職業院校SQL Server數據庫課程的教學用書,也可以作為培養數據庫系統工程師的培訓教材,還可以作為數據庫管理人員及數據庫應用系統開發人員的參考用書。
本書內容翔實,體系完整,圖文并茂,具有較強的系統性和實用性本書章節安排合理,理論與實際緊密結合,每章均配有理論和上機習題本書編者具有豐富的教學經驗,深知數據庫的主要知識點和重點、難點,什么樣的教材適合教學使用,以及學生及各類讀者對數據庫的學習方式和興趣所在
前言
數據庫最初是在大公司或大機構中用作大規模事務處理的基礎,后來隨著個人計算機的普及,數據庫技術被移植到PC上,供單用戶個人數據庫應用。接著,由于PC在工作組內連成網,數據庫技術就移植到工作組級。如今,數據庫正在Internet和內聯網中被廣泛使用。數據庫技術是目前計算機領域發展最快、應用最廣泛的技術,它的應用遍及各行各業,大到操作系統程序,如全國聯網的飛機票、火車票訂票系統,銀行業務系統; 小到個人的管理信息系統,如家庭理財系統。在互聯網日漸流行的動態網站中,數據庫的應用顯得尤為重要。SQL Server 2008是一個功能完備的數據庫管理系統,提供了完整的關系數據庫的創建、開發和管理功能。它功能強大、操作簡便,日益被廣大數據庫用戶所喜愛,而且越來越多的開發工具提供了與SQL Server的接口。本書在第1版的基礎上對部分內容做了調整和擴充,實例更豐富、實踐性更強,對各章的習題也進行了合理的補充和調整。本書系統地介紹數據庫技術的基本理論,全面介紹SQL Server 2008的各項功能、數據庫系統設計方法、維護和管理以及數據庫系統開發應用的相關技術。全書共14章,分為3個部分,第一部分是第1~3章,系統講述數據庫的基本理論知識,內容包括數據庫系統概述、關系數據庫、數據庫設計; 第二部分是第4~13章,全面講述SQL Server 2008數據庫基礎、數據庫的概念和操作、表的基本操作、數據庫查詢、視圖和索引、TSQL編程、存儲過程和觸發器、事務與并發控制、數據庫的安全管理、數據庫的備份與還原; 第三部分是第14章,利用一個實例介紹基于C#.NET的SQL Server數據庫系統的開發過程。本書編者長期從事本科計算機類專業的教學工作,具有豐富的教學經驗和多年的數據庫開發經驗,編者深知數據庫的主要知識點和重點、難點,了解什么樣的教材適合教學使用,學生及各類讀者對數據庫的學習方式和興趣所在,以及如何組織書本的內容更有利于教學和自學,從而形成本書的結構體系。本書第1、5、9和10章由尹志宇編寫,第2~4章和第8章由郭晴編寫,第6章由于富強編寫,第7章由陳敬利編寫,第11和12章由李青茹編寫,第13和14章由解春燕編寫,全書由尹志宇統稿。為了配合教學和方便讀者參考,本書提供了配套的電子教案,讀者可以到清華大學出版社網站(http://www.tup.com.cn)下載。由于編者水平有限,書中難免有疏漏與錯誤之處,衷心希望廣大讀者批評、指正。編者2016年6月
目錄
第1章數據庫系統概述
1.1數據庫技術的發展史
1.1.1數據處理技術
1.1.2數據庫技術的3個發展階段
1.1.3數據庫技術的新進展
1.2數據庫系統介紹
1.2.1數據庫系統的組成
1.2.2數據庫的體系結構
1.3數據模型
1.3.1信息的3種世界
1.3.2概念模型
1.3.3常見的3種數據模型
習題1
第2章關系數據庫
2.1關系數據結構
2.1.1關系的定義和性質
2.1.2關系模式和關系數據庫
2.2關系的完整性
2.3關系運算
2.3.1傳統的集合運算
2.3.2專門的關系運算
2.4關系的規范化
2.4.1函數依賴
2.4.2關系規范化的目的
2.4.3關系的規范化過程
習題2
第3章數據庫設計
3.1數據庫設計概述
3.2需求分析
3.2.1需求分析的任務
3.2.2需求分析的方法
3.2.3數據流圖和數據字典
3.3概念結構設計
3.3.1概念結構設計的方法
3.3.2概念結構設計的步驟
3.4邏輯結構設計
3.4.1將ER圖轉化為關系數據模型
3.4.2關系模式的優化
3.4.3設計用戶外模式
3.5物理結構設計
3.5.1確定數據庫的物理結構
3.5.2評價物理結構
3.6數據庫的實施、運行和維護
3.6.1數據庫的實施
3.6.2數據庫的運行與維護
3.7數據庫設計實例
3.7.1圖書借閱管理系統設計
3.7.2鋼材倉庫管理系統設計
習題3
第4章SQL Server 2008基礎
4.1SQL Server 2008簡介
4.1.1SQL Server 發展史
4.1.2SQL Server 2008的新增功能
4.1.3SQL Server 2008的新特性
4.2SQL Server 2008的安裝與配置
4.2.1SQL Server 2008的版本
4.2.2SQL Server 2008的環境需求
4.2.3SQL Server 2008的安裝過程
4.3SQL Server 2008的管理工具
4.3.1服務器管理
4.3.2SQL Server Management Studio
4.3.3SQL Server配置管理器
4.3.4其他管理工具
4.4TSQL語言基礎
4.4.1TSQL語言的特點
4.4.2TSQL語言的分類
4.4.3TSQL語言的基本語法
習題4
第5章數據庫的概念和操作
5.1數據庫的基本概念
5.1.1物理數據庫
5.1.2邏輯數據庫
5.2數據庫的操作
5.2.1創建數據庫
5.2.2修改數據庫
5.2.3刪除數據庫
習題5
第6章表的操作
6.1創建表
6.1.1數據類型
6.1.2使用SQL Server Management
Studio創建表
6.1.3使用TSQL語句創建表
6.2修改表
6.2.1在SQL Server
Management Studio中修改表
6.2.2使用TSQL語句修改表
6.3列約束和表約束
6.3.1創建和刪除PRIMARY KEY約束
6.3.2創建和刪除UNIQUE約束
6.3.3創建和刪除FOREIGN KEY約束
6.3.4創建和刪除CHECK約束
6.3.5創建和刪除DEFAULT約束
6.4表數據的操作
6.4.1插入數據
6.4.2修改數據
6.4.3刪除數據
6.4.4使用MERGE語句插入、修改和刪除數據
6.5刪除表
6.6數據的導入和導出
6.6.1導出數據
6.6.2導入數據
習題6
第7章數據庫查詢
7.1SELECT查詢語法
7.2簡單查詢
7.2.1投影查詢
7.2.2選擇查詢
7.2.3聚合函數查詢
7.3分組和匯總
7.3.1分組查詢
7.3.2數據匯總
7.4連接查詢
7.4.1內連接
7.4.2自連接
7.4.3外連接
7.4.4交叉連接
7.5子查詢
7.5.1無關子查詢
7.5.2相關子查詢
7.6其他查詢
7.6.1集合運算查詢
7.6.2對查詢結果排序
7.6.3存儲查詢結果
7.7在數據操作中使用SELECT子句
7.7.1在INSERT語句中使用SELECT子句
7.7.2在UPDATE語句中使用SELECT子句
7.7.3在DELETE語句中使用SELECT子句
習題7
第8章視圖和索引
8.1視圖
8.1.1視圖概述
8.1.2創建視圖
8.1.3修改視圖
8.1.4使用視圖
8.1.5刪除視圖
8.2索引
8.2.1索引簡介
8.2.2索引的類型
8.2.3創建索引
8.2.4查看索引信息
8.2.5刪除索引
習題8
第9章TSQL編程
9.1TSQL編程基礎
9.1.1標識符
9.1.2變量
9.1.3運算符
9.1.4批處理
9.1.5注釋
9.2流程控制語句
9.2.1SET語句
9.2.2BEGIN…END語句
9.2.3IF…ELSE語句
9.2.4CASE語句
9.2.5WHILE語句
9.2.6GOTO語句
9.2.7RETURN語句
9.3函數
9.3.1系統內置函數
9.3.2用戶定義函數
9.4游標
9.4.1游標概述
9.4.2游標的類型
9.4.3游標的操作
習題9
第10章存儲過程和觸發器
10.1存儲過程
10.1.1存儲過程概述
10.1.2存儲過程的類型
10.1.3創建存儲過程
10.1.4執行存儲過程
10.1.5查看存儲過程
10.1.6修改和刪除存儲過程
10.2觸發器
10.2.1觸發器概述
10.2.2觸發器的分類
10.2.3創建DML觸發器
10.2.4查看觸發器信息及修改觸發器
10.2.5禁止、啟用和刪除觸發器
習題10
第11章事務與并發控制
11.1事務概述
11.2事務的類型
11.2.1根據系統的設置分類
11.2.2根據運行模式分類
11.3事務處理語句
11.4事務的并發控制
11.4.1并發帶來的問題
11.4.2鎖的基本概念
11.4.3鎖的類型
11.4.4鎖的信息
11.4.5死鎖的產生及解決辦法
11.4.6手工加鎖
習題11
第12章數據庫的安全管理
12.1身份驗證
12.1.1SQL Server的身份驗證模式
12.1.2設置身份驗證模式
12.2賬號管理
12.2.1服務器登錄賬號
12.2.2數據庫用戶賬號
12.3角色管理
12.3.1固定服務器角色
12.3.2數據庫角色
12.3.3應用程序角色
12.4權限管理
12.4.1權限的類別
12.4.2權限操作
習題12
第13章數據庫的備份與還原
13.1數據庫備份概述
13.1.1數據庫備份計劃
13.1.2數據庫備份的類型
13.2數據庫還原概述
13.2.1數據庫還原策略
13.2.2數據庫恢復模式
13.3數據庫備份操作
13.4數據庫還原操作
13.4.1自動還原
13.4.2手動還原
13.5數據庫的分離與附加
13.5.1分離數據庫
13.5.2附加數據庫
習題13
第14章基于C#.NET的數據庫系統開發
14.1C#語言簡介
14.2使用ADO.NET訪問SQL Server
2008數據庫
14.2.1ADO.NET的對象模型
14.2.2利用ADO.NET訪問數據庫的基本操作
14.3數據庫系統開發實例
14.3.1數據庫設計
14.3.2系統設計與實現
習題14