本書集關系數(shù)據(jù)庫設計、技術和實踐于一體,設計的目標是幫助學生掌握關系數(shù)據(jù)庫結構設計和行為設計的方法;技術的目標是幫助學生掌握關系數(shù)據(jù)庫SQL語言;實踐的目標是幫助學生通過實驗和課程設計能進行數(shù)據(jù)庫應用系統(tǒng)的開發(fā)。全書共分三篇10章,第一篇內容包括關系數(shù)據(jù)庫基礎、數(shù)據(jù)庫建模、關系數(shù)據(jù)庫模式設計和關系數(shù)據(jù)庫設計,第二篇內容包括SQL Server 2012綜述、SQL Server的T-SQL I和SQL Server的T-SQL II,第三篇內容包括數(shù)據(jù)庫技術基礎實驗、數(shù)據(jù)庫技術綜合實驗、數(shù)據(jù)庫技術課程設計。
數(shù)據(jù)庫技術是計算機科學技術中發(fā)展最快的領域之一,也是應用最廣的技術之一,它已成為計算機信息系統(tǒng)與應用系統(tǒng)的核心技術和重要基礎。寧波工程學院明確應用型定位與“爭試點創(chuàng)示范”目標,2015年成為浙江省應用型建設試點示范高校,2016年入選國家產教融合發(fā)展工程建設高校,其中計算機應用技術專業(yè)于1998年成為教育部計算機示范性專業(yè),計算機科學與技術專業(yè)于2010年被教育部列入“卓越工程師教育培養(yǎng)計劃”首批試點專業(yè),2018年順利通過本科專業(yè)審核評估和國際工程教育專業(yè)認證,2020年3月入選教育部“雙萬計劃”中的省級一流專業(yè)。本書第一作者曾是該專業(yè)的負責人,本著“應用型本科教材的編寫應注重與工程應用相結合,注重與能力培養(yǎng)相聯(lián)系,注重與目標達成相一致”的指導思想,與課程團隊一起對10多年來數(shù)據(jù)庫課程教學與科研工作的實踐進行總結并編撰成書。
從2004年起,我們就建立了數(shù)據(jù)庫課程體系:程序設計類(面向對象程序設計、Java程序設計/C#程序設計)→數(shù)據(jù)庫設計類(數(shù)據(jù)庫理論與技術、數(shù)據(jù)庫技術課程設計)→數(shù)據(jù)庫應用開發(fā)實踐類(Web應用設計與開發(fā)基礎、Java Web/.NET Web應用開發(fā)、Android/iOS平臺應用與開發(fā))→畢業(yè)設計提高類(網(wǎng)絡數(shù)據(jù)庫應用系統(tǒng)開發(fā))。該課程體系與IT職業(yè)崗位需求直接相關,是培養(yǎng)卓越軟件工程師的核心內容,在教學計劃中處于關鍵地位,為學生完成應用開發(fā)實踐和畢業(yè)設計提供了技術支持。另外,“數(shù)據(jù)庫課程體系的改革研究與實踐”項目被評為浙江省高等學校教學成果獎二等獎(浙教高教〔2009〕153號),“數(shù)據(jù)庫課程體系教學團隊”被評為浙江省高等學校省級教學團隊(浙教高教〔2009〕212號),《數(shù)據(jù)庫理論與技術》教材被評為浙江省重點建設教材(浙教高教〔2011〕10號)。
本書的特色如下:
(1)內容集關系數(shù)據(jù)庫設計、技術和實踐于一體。設計的目標是幫助學生掌握關系數(shù)據(jù)庫結構設計和行為設計的方法;技術的目標是幫助學生掌握關系數(shù)據(jù)庫SQL語言;實踐的目標是幫助學生通過實驗能進行數(shù)據(jù)庫應用系統(tǒng)的開發(fā)。第1~4章屬于關系數(shù)據(jù)庫基礎理論,第5~10章屬于關系數(shù)據(jù)庫技術、實踐。
(2)注重實用性、簡明性和易讀性,所有難點、重要知識點均通過例子、圖示等進行解釋和總結。第1~7章中,每章均有3個典型案例介紹,用來幫助學生加深對重要知識點的理解;第8~10章中的實驗內容均為平時教學過程的積累。
(3)附錄A中提供的“數(shù)據(jù)庫理論與技術”課程教學大綱是按照國際工程教育專業(yè)認證的要求編寫的,有助于向讀者展示工程教育的OBE理念;附錄B中提供的“數(shù)據(jù)庫理論與技術”課程模擬試題及參考答案,有助于任課教師根據(jù)教學大綱的要求給學生出題,也有助于學生根據(jù)教學大綱的要求進行復習。
(4)配套資源情況:本書配有電子課件、程序源代碼等教輔資源,讀者可登錄華信教育資源網(wǎng)(www.hxedu.com.cn)下載,或者向作者(jbfan@163.com)索取。另外,“數(shù)據(jù)庫理論與技術”課程的慕課平臺網(wǎng)址為https://mooc1.chaoxing.com/course/206435382.html,有興趣的讀者可以通過慕課平臺進行學習。
本書分三篇共10章。第1篇設計篇,內容包括關系數(shù)據(jù)庫基礎、關系數(shù)據(jù)庫建模、關系數(shù)據(jù)庫模式設計和關系數(shù)據(jù)庫設計;第2篇技術篇,內容包括SQL Server 2012綜述、SQL Server的T-SQL I和SQL Server的T-SQL II;第3篇實踐篇,內容包括SQL Server基礎實驗、SQL Server綜合實驗和數(shù)據(jù)庫設計實驗。本書建議總學時為48~64學時,其中上機實驗16學時,部分章節(jié)內容可根據(jù)需要選講。
本書可作為應用型高等學校計算機類及相關專業(yè)本科生或?粕慕滩,也可供IT行業(yè)的科技人員和工程技術人員參考。
本書主要由寧波工程學院范劍波教授編寫,李俊博士校對了各章節(jié)的內容,安鵬教授對本書在教學改革方面提出了很好的建議,劉良旭教授、李慶風教授和樓建明教授在教學、教材編寫與出版過程中給予了積極的幫助,在此一并表示衷心的感謝。
限于作者水平,書中難免存在錯誤和不妥之處,殷切期望廣大讀者給予指正。
第1篇 設計篇
第1章 關系數(shù)據(jù)庫基礎
1.1 數(shù)據(jù)庫系統(tǒng)的應用和研究
1.1.1 數(shù)據(jù)庫系統(tǒng)的應用
1.1.2 數(shù)據(jù)庫系統(tǒng)的研究
1.2 文件系統(tǒng)與數(shù)據(jù)庫系統(tǒng)
1.2.1 數(shù)據(jù)、信息和數(shù)據(jù)處理
1.2.2 文件系統(tǒng)的特點與局限性
1.2.3 數(shù)據(jù)庫系統(tǒng)的發(fā)展及其特點
1.3 數(shù)據(jù)描述和數(shù)據(jù)模型
1.3.1 數(shù)據(jù)描述的領域
1.3.2 實體聯(lián)系的種類
1.3.3 數(shù)據(jù)模型的層次
1.3.4 數(shù)據(jù)模型的實例
1.4 關系模型的基本概念
1.4.1 關系的通俗解釋
1.4.2 關系的數(shù)學定義
1.4.3 關系模型的組成和特點
1.5 關系代數(shù)
1.5.1 傳統(tǒng)的集合運算
1.5.2 專門的關系運算
1.5.3 關系代數(shù)表達式的實例
1.6 典型案例分析
1.6.1 典型案例1――高校組織結構E-R圖的設計(1)
1.6.2 典型案例2――不同部門學生數(shù)據(jù)的結構化
1.6.3 典型案例3――關系代數(shù)表達式的查詢
小結
習題
第2章 關系數(shù)據(jù)庫建模
2.1 關系數(shù)據(jù)庫建模概述
2.2 E-R圖的設計
2.2.1 E-R圖的設計方法
2.2.2 E-R圖的設計原則
2.3 E-R圖的子類和繼承
2.3.1 E-R圖的子類
2.3.2 E-R圖的繼承
2.4 E-R圖的約束建模
2.4.1 實體集的鍵碼
2.4.2 單值約束
2.4.3 完整性約束
2.4.4 其他類型約束
2.5 典型案例分析
2.5.1 典型案例4――高校組織結構E-R圖的設計(2)
2.5.2 典型案例5――在線考試系統(tǒng) E-R圖的設計
2.5.3 典型案例6――圖書網(wǎng)上銷售系統(tǒng)E-R圖的設計
小結
習題
第3章 關系數(shù)據(jù)庫模式設計
3.1 關系規(guī)范化問題的提出
3.2 函數(shù)依賴的概念
3.2.1 函數(shù)依賴定義
3.2.2 完全函數(shù)依賴和部分函數(shù)依賴
3.2.3 傳遞函數(shù)依賴
3.2.4 函數(shù)依賴規(guī)則
3.3 關系模式的鍵碼
3.3.1 鍵碼的定義
3.3.2 閉包的計算
3.4 關系的規(guī)范化
3.4.1 第一范式(1NF)
3.4.2 第二范式(2NF)
3.4.3 第三范式(3NF)
3.4.4 BC范式(BCNF)
3.5 模式分解的優(yōu)劣
3.5.1 模式分解的等價性
3.5.2 模式分解的規(guī)則和方法
3.6 典型案例分析
3.6.1 典型案例7――產品訂貨系統(tǒng)關系數(shù)據(jù)庫模式的設計
3.6.2 典型案例8――在線考試系統(tǒng)關系數(shù)據(jù)庫模式的設計
3.6.3 典型案例9――圖書網(wǎng)上銷售系統(tǒng)關系數(shù)據(jù)庫模式的設計
小結
習題
第4章 關系數(shù)據(jù)庫設計
4.1 關系數(shù)據(jù)庫設計概述
4.1.1 關系數(shù)據(jù)庫設計的方法
4.1.2 關系數(shù)據(jù)庫設計的特點
4.1.3 關系數(shù)據(jù)庫設計的步驟
4.2 需求分析
4.2.1 需求分析的任務
4.2.2 需求分析的結構化分析方法
4.3 概念結構設計
4.3.1 概念結構設計的任務
4.3.2 概念結構設計的方法與步驟
4.4 邏輯結構設計
4.4.1 邏輯結構設計的任務
4.4.2 邏輯結構設計的方法與步驟
4.5 數(shù)據(jù)庫物理設計、應用系統(tǒng)實施與調優(yōu)
4.6 典型案例分析
4.6.1 典型案例10――某倉儲超市POS系統(tǒng)關系數(shù)據(jù)庫的設計
4.6.2 典型案例11――某賓館管理系統(tǒng)關系數(shù)據(jù)庫的設計
4.6.3 典型案例12――某公司活動信息采集系統(tǒng)關系數(shù)據(jù)庫的設計
小結
習題
第2篇 技術篇
第5章 SQL SERVER 2012綜述
5.1 SQL SERVER 2012概述
5.2 SQL SERVER 2012安裝
5.2.1 SQL Server 2012安裝環(huán)境
5.2.2 SQL Server 2012安裝過程
5.3 SQL SERVER 2012管理工具
5.3.1 SQL Server 2012服務器的配置
5.3.2 SQL Server 2012服務器的注冊和連接
5.3.3 SQL Server 2012服務器的啟動和關閉
5.3.4 SQL Server 2012的常用工具
5.4 典型案例分析
5.4.1 典型案例13――SQL Server聯(lián)機叢書的查詢
5.4.2 典型案例14――數(shù)據(jù)庫系統(tǒng)管理員sa密碼的設定
5.4.3 典型案例15――SQL Server數(shù)據(jù)庫的附加和分離
小結
習題
第6章 SQL SERVER的T-SQL I
6.1 SQL SERVER的數(shù)據(jù)庫
6.1.1 數(shù)據(jù)庫及其組成
6.1.2 創(chuàng)建用戶數(shù)據(jù)庫
6.1.3 管理用戶數(shù)據(jù)庫
6.2 SQL SERVER的數(shù)據(jù)表
6.2.1 數(shù)據(jù)表結構和內容
6.2.2 創(chuàng)建用戶數(shù)據(jù)表
6.2.3 管理用戶數(shù)據(jù)表
6.3 SQL SERVER的數(shù)據(jù)更新
6.3.1 數(shù)據(jù)插入
6.3.2 數(shù)據(jù)修改
6.3.3 數(shù)據(jù)刪除
6.4 SQL SERVER的數(shù)據(jù)查詢
6.4.1 數(shù)據(jù)基本查詢
6.4.2 數(shù)據(jù)分組查詢
6.4.3 多表連接查詢
6.4.4 數(shù)據(jù)子查詢
6.4.5 附加子句
6.5 SQL SERVER的視圖和函數(shù)
6.5.1 視圖的建立
6.5.2 視圖的查詢和刪除
6.5.3 系統(tǒng)函數(shù)的分類
6.5.4 用戶定義函數(shù)
6.6 典型案例分析
6.6.1 典型案例16――SQL Server基本表查詢的應用
6.6.2 典型案例17――SQL Server視圖查詢的應用
6.6.3 典型案例18――SQL Server函數(shù)的應用
小結
習題
第7章 SQL SERVER的T-SQL II
7.1 SQL SERVER的流程控制語言
7.1.1 批處理、腳本和變量
7.1.2 順序、分支和循環(huán)結構語句
7.1.3 程序返回、屏幕顯示等 語句
7.1.4 游標概念及使用
7.2 SQL SERVER的存儲過程和觸發(fā)器
7.2.1 存儲過程的建立、執(zhí)行和刪除
7.2.2 觸發(fā)器的建立和刪除
7.3 SQL SERVER的數(shù)據(jù)庫保護
7.3.1 SQL Server系統(tǒng)的安全性
7.3.2 SQL Server系統(tǒng)的完整性
7.3.3 SQL Server系統(tǒng)的備份和恢復
7.3.4 SQL Server系統(tǒng)的并發(fā)控制簡介
7.4 典型案例分析
7.4.1 典型案例19――SQL Server游標的應用
7.4.2 典型案例20――SQL Server存儲過程的應用
7.4.3 典型案例21――SQL Server系統(tǒng)完整性的應用
小結
習題
第3篇 實踐篇
第8章 SQL SERVER基礎實驗
8.1 實驗1:SQL SERVER和樣本數(shù)據(jù)庫安裝
8.1.1 實驗目的和要求
8.1.2 實驗內容與過程記錄
8.2 實驗2:SQL SERVER數(shù)據(jù)定義和更新
8.2.1 實驗目的和要求
8.2.2 實驗內容與過程記錄
8.3 實驗3:SQL SERVER數(shù)據(jù)查詢
8.3.1 實驗目的和要求
8.3.2 實驗內容與過程記錄
8.4 實驗4:SQL SERVER視圖和函數(shù)
8.4.1 實驗目的和要求
8.4.2 實驗內容與過程記錄
小結
習題
第9章 SQL SERVER綜合實驗
9.1 實驗5:SQL SERVER綜合練習
9.1.1 實驗目的和要求
9.1.2 實驗內容與過程記錄
9.2 實驗6:SQL SERVER存儲過程和觸發(fā)器
9.2.1 實驗目的和要求
9.2.2 實驗內容與過程記錄
小結
習題
第10章 數(shù)據(jù)庫設計實驗
10.1 實驗7:SQL SERVER系統(tǒng)安全性和完整性
10.1.1 實驗目的和要求
10.1.2 實驗內容與過程記錄
10.2 實驗8:數(shù)據(jù)庫設計綜合練習
10.2.1 實驗目的和要求
10.2.2 實驗內容與過程記錄
小結
習題
附錄A “數(shù)據(jù)庫理論與技術”課程教學大綱
附錄B “數(shù)據(jù)庫理論與技術”課程模擬試題及參考答案
參考文獻