本書是《數(shù)據(jù)庫原理及應(yīng)用--SQL Server 2012》 的配套習(xí)題解答與實(shí)驗(yàn)指導(dǎo)用書。本書分為兩個(gè)部分, 第一部分為實(shí)驗(yàn)指導(dǎo), 包括15個(gè)實(shí)驗(yàn), 該部分介紹了SQL Server 2012數(shù)據(jù)庫的功能和操作使用技術(shù)。第二部分為課程設(shè)計(jì)指導(dǎo), 該部分對課程設(shè)計(jì)報(bào)告的撰寫給出了一些規(guī)范。
第一部分為課程實(shí)驗(yàn)指導(dǎo),包括15個(gè)實(shí)驗(yàn),教材的第二部分為課程設(shè)計(jì)指導(dǎo),教材最后分別用C#和JAVA給出了兩個(gè)較完整的課程設(shè)計(jì)案例。
前言
“數(shù)據(jù)庫原理及應(yīng)用”是一門既有較強(qiáng)理論性又有較強(qiáng)實(shí)踐性的專業(yè)基礎(chǔ)課程,它需要把理論知識和實(shí)際應(yīng)用緊密結(jié)合起來。本書作為《數(shù)據(jù)庫原理及應(yīng)用——SQLServer2012》(劉金嶺、馮萬利、張有東主編)的配套指導(dǎo)書,目的是讓讀者在學(xué)習(xí)數(shù)據(jù)庫知識時(shí)做到理論聯(lián)系實(shí)際,在進(jìn)行理論知識的學(xué)習(xí)的同時(shí)進(jìn)行上機(jī)實(shí)踐。本書內(nèi)容緊密結(jié)合主教材的學(xué)習(xí)內(nèi)容,由淺入深、循序漸進(jìn),力求通過實(shí)踐訓(xùn)練讓讀者了解數(shù)據(jù)庫管理系統(tǒng)的基本原理和數(shù)據(jù)庫系統(tǒng)設(shè)計(jì)的方法,培養(yǎng)讀者應(yīng)用及設(shè)計(jì)數(shù)據(jù)庫的能力。
本書編寫的主要特點(diǎn)如下:
本書分為兩個(gè)部分,第一部分為實(shí)驗(yàn)指導(dǎo),第二部分為課程設(shè)計(jì)指導(dǎo)。
第一部分密切結(jié)合主教材的知識體系給出了SQLServer2012的15個(gè)實(shí)驗(yàn),為讀者進(jìn)一步理解、應(yīng)用數(shù)據(jù)庫原理的理論打下了堅(jiān)實(shí)基礎(chǔ)。每個(gè)實(shí)驗(yàn)都有實(shí)驗(yàn)?zāi)康摹?shí)驗(yàn)內(nèi)容、實(shí)驗(yàn)指導(dǎo)、注意事項(xiàng)、思考題和練習(xí)題6個(gè)部分,使讀者在實(shí)驗(yàn)前充分了解相關(guān)知識背景,在實(shí)驗(yàn)過程中充分利用數(shù)據(jù)庫交互式SQL平臺對數(shù)據(jù)庫相關(guān)技術(shù)進(jìn)行實(shí)驗(yàn)。
第二部分的第1章給出了課程設(shè)計(jì)概述及規(guī)范。第2章給出了數(shù)據(jù)庫應(yīng)用系統(tǒng)設(shè)計(jì)規(guī)范。其目的是為學(xué)生的畢業(yè)設(shè)計(jì)和畢業(yè)后參與軟件開發(fā)打下基礎(chǔ)?紤]到目前大多數(shù)系統(tǒng)通常利用C#和Java語言開發(fā),第3章和第4章分別采用ASP.NET和JavaSwing開發(fā)工具進(jìn)行數(shù)據(jù)庫應(yīng)用系統(tǒng)的設(shè)計(jì)開發(fā),并給出了源代碼,從而使理論和實(shí)踐緊密地結(jié)合。
本書的取例一是考慮到學(xué)生所熟悉的案例,如教學(xué)管理、圖書銷售、酒店管理等;二是盡量涉及多種語言環(huán)境中的SQLServer2012數(shù)據(jù)庫應(yīng)用。
本書由長期承擔(dān)“數(shù)據(jù)庫原理及應(yīng)用”課程教學(xué)、具有豐富教學(xué)經(jīng)驗(yàn)的一線教師編寫,針對性強(qiáng),理論與應(yīng)用并重,概念清楚,內(nèi)容豐富,強(qiáng)調(diào)面向應(yīng)用,注重培養(yǎng)學(xué)生的應(yīng)用技能。
本書由劉金嶺、馮萬利、周泓主編。第二部分的第3章中的案例主要取自范建龍同學(xué)的課程設(shè)計(jì),第4章的酒店管理系統(tǒng)是由蘇宏斌同學(xué)根據(jù)相關(guān)案例設(shè)計(jì)的,在此表示感謝。
本書的編寫得到作者所在的計(jì)算機(jī)與軟件工程學(xué)院和清華大學(xué)出版社的大力支持,在此對所有人的工作與支持表示衷心的感謝。
由于作者的水平有限,書中難免存在一些缺點(diǎn),殷切希望廣大讀者批評指正。
編者
2017年6月
第一部分實(shí)驗(yàn)指導(dǎo)
實(shí)驗(yàn)一SQL Server 2012基本服務(wù)和信息實(shí)驗(yàn)
實(shí)驗(yàn)二數(shù)據(jù)庫創(chuàng)建與管理實(shí)驗(yàn)
實(shí)驗(yàn)三數(shù)據(jù)表創(chuàng)建與管理實(shí)驗(yàn)
實(shí)驗(yàn)四數(shù)據(jù)完整性約束實(shí)驗(yàn)
實(shí)驗(yàn)五SELECT數(shù)據(jù)查詢實(shí)驗(yàn)
實(shí)驗(yàn)六游標(biāo)操作實(shí)驗(yàn)
實(shí)驗(yàn)七存儲過程創(chuàng)建與應(yīng)用實(shí)驗(yàn)
實(shí)驗(yàn)八觸發(fā)器創(chuàng)建與應(yīng)用實(shí)驗(yàn)
實(shí)驗(yàn)九視圖、索引與數(shù)據(jù)庫關(guān)系圖實(shí)驗(yàn)
實(shí)驗(yàn)十SQL Server事務(wù)處理實(shí)驗(yàn)
實(shí)驗(yàn)十一SQL Server安全管理實(shí)驗(yàn)
實(shí)驗(yàn)十二數(shù)據(jù)庫備份與還原實(shí)驗(yàn)
實(shí)驗(yàn)十三數(shù)據(jù)的導(dǎo)入和導(dǎo)出實(shí)驗(yàn)
實(shí)驗(yàn)十四VB與SQL Server 2012兩種連接方式實(shí)驗(yàn)
實(shí)驗(yàn)十五ADO.NET訪問SQL Server 2012實(shí)驗(yàn)
附錄A實(shí)驗(yàn)報(bào)告的撰寫規(guī)范和模板
附錄B附加數(shù)據(jù)庫和創(chuàng)建關(guān)系圖錯(cuò)誤處理
第二部分課程設(shè)計(jì)指導(dǎo)
第1章課程設(shè)計(jì)概述及規(guī)范
1.1課程設(shè)計(jì)的意義和目的
1.1.1課程設(shè)計(jì)的意義
1.1.2課程設(shè)計(jì)的目的
1.2課程設(shè)計(jì)的步驟
1.3課程設(shè)計(jì)的規(guī)范要求
1.3.1課程設(shè)計(jì)任務(wù)書的撰寫要求
1.3.2課程設(shè)計(jì)報(bào)告的撰寫要求
第2章數(shù)據(jù)庫應(yīng)用系統(tǒng)設(shè)計(jì)規(guī)范
2.1程序開發(fā)過程要求
2.1.1可行性分析
2.1.2系統(tǒng)需求分析
2.1.3系統(tǒng)設(shè)計(jì)
2.1.4程序開發(fā)
2.1.5系統(tǒng)測試
2.1.6文檔資料
2.1.7系統(tǒng)的運(yùn)行與維護(hù)
2.2命名規(guī)范
2.2.1類型級單位的命名
2.2.2方法、屬性和事件的命名
2.2.3變量、常量及其他命名
2.2.4ADO組件和窗體控件的命名
2.3程序代碼的書寫規(guī)范
2.3.1格式化
2.3.2注釋
2.3.3編碼規(guī)則
2.3.4編碼準(zhǔn)則
2.3.5代碼的控制
2.3.6輸入控制校驗(yàn)規(guī)則
2.3.7數(shù)據(jù)庫命名規(guī)范
第3章在線圖書銷售管理系統(tǒng)
3.1需求分析
3.1.1系統(tǒng)現(xiàn)狀
3.1.2用戶需求
3.2系統(tǒng)功能分析
3.2.1系統(tǒng)功能概述
3.2.2系統(tǒng)功能模塊設(shè)計(jì)
3.3系統(tǒng)總體設(shè)計(jì)
3.3.1總體系統(tǒng)流程圖
3.3.2前臺系統(tǒng)結(jié)構(gòu)
3.3.3后臺系統(tǒng)結(jié)構(gòu)
3.4數(shù)據(jù)庫設(shè)計(jì)
3.4.1數(shù)據(jù)庫的概念設(shè)計(jì)
3.4.2數(shù)據(jù)庫的邏輯設(shè)計(jì)
3.4.3數(shù)據(jù)庫的物理設(shè)計(jì)
3.5應(yīng)用程序設(shè)計(jì)
3.5.1系統(tǒng)設(shè)計(jì)總體思路
3.5.2會員注冊模塊
3.5.3會員登錄模塊
3.5.4系統(tǒng)首頁
3.5.5購物車模塊
3.5.6管理員登錄
3.5.7圖書管理模塊
3.5.8按圖書類別查詢
3.5.9訂單管理模塊
第4章酒店管理系統(tǒng)
4.1開發(fā)背景與系統(tǒng)分析
4.1.1開發(fā)背景
4.1.2系統(tǒng)分析
4.2系統(tǒng)設(shè)計(jì)
4.2.1系統(tǒng)目標(biāo)
4.2.2系統(tǒng)功能結(jié)構(gòu)
4.2.3系統(tǒng)功能模塊
4.2.4業(yè)務(wù)流程圖
4.3數(shù)據(jù)庫設(shè)計(jì)
4.3.1數(shù)據(jù)庫概念設(shè)計(jì)
4.3.2數(shù)據(jù)庫邏輯結(jié)構(gòu)設(shè)計(jì)
4.4公共模塊設(shè)計(jì)
4.4.1編寫數(shù)據(jù)庫連接類
4.4.2封裝常用的操作數(shù)據(jù)庫的方法
4.4.3自定義表格控件
4.4.4編寫利用規(guī)則驗(yàn)證數(shù)據(jù)合法性
4.5系統(tǒng)的詳細(xì)設(shè)計(jì)
4.5.1主窗體模塊設(shè)計(jì)
4.5.2用戶登錄窗口模塊設(shè)計(jì)
4.5.3開臺簽單工作區(qū)設(shè)計(jì)
4.5.4自動結(jié)賬工作區(qū)設(shè)計(jì)
4.5.5結(jié)賬報(bào)表工作區(qū)設(shè)計(jì)
4.5.6后臺管理工作區(qū)設(shè)計(jì)
實(shí)驗(yàn)三
數(shù)據(jù)表創(chuàng)建與管理實(shí)驗(yàn)
一、實(shí)驗(yàn)?zāi)康?
要求學(xué)生熟練掌握SQLServerManagementStudio的使用和利用TSQL語句進(jìn)行數(shù)據(jù)表的創(chuàng)建與刪除,并對數(shù)據(jù)表和表中的數(shù)據(jù)進(jìn)行有效的管理。
二、實(shí)驗(yàn)內(nèi)容
分別使用SQLServerManagementStudio和TSQL語句創(chuàng)建和刪除數(shù)據(jù)表,修改表結(jié)構(gòu),輸入數(shù)據(jù)、更新數(shù)據(jù)。
三、實(shí)驗(yàn)指導(dǎo)
1.數(shù)據(jù)表的定義
實(shí)驗(yàn)3.1在JXGL數(shù)據(jù)庫中使用SQLServerManagementStudio建立S、C和SC表,結(jié)構(gòu)如表1.3.1~表1.3.3所示。
表1.3.1學(xué)生表S的結(jié)構(gòu)
列名描述數(shù)據(jù)類型允許Null值說明
sno學(xué)號
char(8)
NO
主鍵
sname
姓名
char(8)
NO
age
年齡
smallint
YES
sex
性別
char(2)
YES
sdept
所在系
varchar(50)
YES
表1.3.2課程表C的結(jié)構(gòu)
列名描述數(shù)據(jù)類型允許Null值說明
cno
課程號
char(4)
NO
主鍵
cname
課程名
char(20)
NO
credit
學(xué)分
float
YES
pcno
先修課
char(4)
YES
describe
課程描述
varchar(100)
YES
表1.3.3選課表SC的結(jié)構(gòu)
列名描述數(shù)據(jù)類型允許Null值說明
sno
學(xué)號
char(8)
NO
cno
課程號
char(4)
NO
主鍵(同時(shí)都是外鍵)
grade
成績
float
YES
具體步驟如下:
、僭赟QLServerManagementStudio的“對象資源管理器”中單擊“數(shù)據(jù)庫”前面的“+”號,選擇“表”并右擊,在彈出的快捷菜單中選擇“新建表”命令,進(jìn)入設(shè)計(jì)表字段的對話框,如圖1.3.1所示。