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