本書是《數(shù)據(jù)庫(kù)原理及應(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ù)庫(kù)的功能和操作使用技術(shù)。第二部分為課程設(shè)計(jì)指導(dǎo), 該部分對(duì)課程設(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ù)庫(kù)原理及應(yīng)用”是一門既有較強(qiáng)理論性又有較強(qiáng)實(shí)踐性的專業(yè)基礎(chǔ)課程,它需要把理論知識(shí)和實(shí)際應(yīng)用緊密結(jié)合起來(lái)。本書作為《數(shù)據(jù)庫(kù)原理及應(yīng)用——SQLServer2012》(劉金嶺、馮萬(wàn)利、張有東主編)的配套指導(dǎo)書,目的是讓讀者在學(xué)習(xí)數(shù)據(jù)庫(kù)知識(shí)時(shí)做到理論聯(lián)系實(shí)際,在進(jìn)行理論知識(shí)的學(xué)習(xí)的同時(shí)進(jìn)行上機(jī)實(shí)踐。本書內(nèi)容緊密結(jié)合主教材的學(xué)習(xí)內(nèi)容,由淺入深、循序漸進(jìn),力求通過(guò)實(shí)踐訓(xùn)練讓讀者了解數(shù)據(jù)庫(kù)管理系統(tǒng)的基本原理和數(shù)據(jù)庫(kù)系統(tǒng)設(shè)計(jì)的方法,培養(yǎng)讀者應(yīng)用及設(shè)計(jì)數(shù)據(jù)庫(kù)的能力。
本書編寫的主要特點(diǎn)如下:
本書分為兩個(gè)部分,第一部分為實(shí)驗(yàn)指導(dǎo),第二部分為課程設(shè)計(jì)指導(dǎo)。
第一部分密切結(jié)合主教材的知識(shí)體系給出了SQLServer2012的15個(gè)實(shí)驗(yàn),為讀者進(jìn)一步理解、應(yīng)用數(shù)據(jù)庫(kù)原理的理論打下了堅(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í)背景,在實(shí)驗(yàn)過(guò)程中充分利用數(shù)據(jù)庫(kù)交互式SQL平臺(tái)對(duì)數(shù)據(jù)庫(kù)相關(guān)技術(shù)進(jìn)行實(shí)驗(yàn)。
第二部分的第1章給出了課程設(shè)計(jì)概述及規(guī)范。第2章給出了數(shù)據(jù)庫(kù)應(yīng)用系統(tǒng)設(shè)計(jì)規(guī)范。其目的是為學(xué)生的畢業(yè)設(shè)計(jì)和畢業(yè)后參與軟件開發(fā)打下基礎(chǔ)?紤]到目前大多數(shù)系統(tǒng)通常利用C#和Java語(yǔ)言開發(fā),第3章和第4章分別采用ASP.NET和JavaSwing開發(fā)工具進(jìn)行數(shù)據(jù)庫(kù)應(yīng)用系統(tǒng)的設(shè)計(jì)開發(fā),并給出了源代碼,從而使理論和實(shí)踐緊密地結(jié)合。
本書的取例一是考慮到學(xué)生所熟悉的案例,如教學(xué)管理、圖書銷售、酒店管理等;二是盡量涉及多種語(yǔ)言環(huán)境中的SQLServer2012數(shù)據(jù)庫(kù)應(yīng)用。
本書由長(zhǎng)期承擔(dān)“數(shù)據(jù)庫(kù)原理及應(yīng)用”課程教學(xué)、具有豐富教學(xué)經(jīng)驗(yàn)的一線教師編寫,針對(duì)性強(qiáng),理論與應(yīng)用并重,概念清楚,內(nèi)容豐富,強(qiáng)調(diào)面向應(yīng)用,注重培養(yǎng)學(xué)生的應(yīng)用技能。
本書由劉金嶺、馮萬(wàn)利、周泓主編。第二部分的第3章中的案例主要取自范建龍同學(xué)的課程設(shè)計(jì),第4章的酒店管理系統(tǒng)是由蘇宏斌同學(xué)根據(jù)相關(guān)案例設(shè)計(jì)的,在此表示感謝。
本書的編寫得到作者所在的計(jì)算機(jī)與軟件工程學(xué)院和清華大學(xué)出版社的大力支持,在此對(duì)所有人的工作與支持表示衷心的感謝。
由于作者的水平有限,書中難免存在一些缺點(diǎn),殷切希望廣大讀者批評(píng)指正。
編者
2017年6月
第一部分實(shí)驗(yàn)指導(dǎo)
實(shí)驗(yàn)一SQL Server 2012基本服務(wù)和信息實(shí)驗(yàn)
實(shí)驗(yàn)二數(shù)據(jù)庫(kù)創(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)七存儲(chǔ)過(guò)程創(chuàng)建與應(yīng)用實(shí)驗(yàn)
實(shí)驗(yàn)八觸發(fā)器創(chuàng)建與應(yīng)用實(shí)驗(yàn)
實(shí)驗(yàn)九視圖、索引與數(shù)據(jù)庫(kù)關(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ù)庫(kù)備份與還原實(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訪問(wèn)SQL Server 2012實(shí)驗(yàn)
附錄A實(shí)驗(yàn)報(bào)告的撰寫規(guī)范和模板
附錄B附加數(shù)據(jù)庫(kù)和創(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ù)庫(kù)應(yīng)用系統(tǒng)設(shè)計(jì)規(guī)范
2.1程序開發(fā)過(guò)程要求
2.1.1可行性分析
2.1.2系統(tǒng)需求分析
2.1.3系統(tǒng)設(shè)計(jì)
2.1.4程序開發(fā)
2.1.5系統(tǒng)測(cè)試
2.1.6文檔資料
2.1.7系統(tǒng)的運(yùn)行與維護(hù)
2.2命名規(guī)范
2.2.1類型級(jí)單位的命名
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ù)庫(kù)命名規(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ái)系統(tǒng)結(jié)構(gòu)
3.3.3后臺(tái)系統(tǒng)結(jié)構(gòu)
3.4數(shù)據(jù)庫(kù)設(shè)計(jì)
3.4.1數(shù)據(jù)庫(kù)的概念設(shè)計(jì)
3.4.2數(shù)據(jù)庫(kù)的邏輯設(shè)計(jì)
3.4.3數(shù)據(jù)庫(kù)的物理設(shè)計(jì)
3.5應(yīng)用程序設(shè)計(jì)
3.5.1系統(tǒng)設(shè)計(jì)總體思路
3.5.2會(huì)員注冊(cè)模塊
3.5.3會(huì)員登錄模塊
3.5.4系統(tǒng)首頁(yè)
3.5.5購(gòu)物車模塊
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ù)庫(kù)設(shè)計(jì)
4.3.1數(shù)據(jù)庫(kù)概念設(shè)計(jì)
4.3.2數(shù)據(jù)庫(kù)邏輯結(jié)構(gòu)設(shè)計(jì)
4.4公共模塊設(shè)計(jì)
4.4.1編寫數(shù)據(jù)庫(kù)連接類
4.4.2封裝常用的操作數(shù)據(jù)庫(kù)的方法
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開臺(tái)簽單工作區(qū)設(shè)計(jì)
4.5.4自動(dòng)結(jié)賬工作區(qū)設(shè)計(jì)
4.5.5結(jié)賬報(bào)表工作區(qū)設(shè)計(jì)
4.5.6后臺(tái)管理工作區(qū)設(shè)計(jì)
實(shí)驗(yàn)三
數(shù)據(jù)表創(chuàng)建與管理實(shí)驗(yàn)
一、實(shí)驗(yàn)?zāi)康?
要求學(xué)生熟練掌握SQLServerManagementStudio的使用和利用TSQL語(yǔ)句進(jìn)行數(shù)據(jù)表的創(chuàng)建與刪除,并對(duì)數(shù)據(jù)表和表中的數(shù)據(jù)進(jìn)行有效的管理。
二、實(shí)驗(yàn)內(nèi)容
分別使用SQLServerManagementStudio和TSQL語(yǔ)句創(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ù)庫(kù)中使用SQLServerManagementStudio建立S、C和SC表,結(jié)構(gòu)如表1.3.1~表1.3.3所示。
表1.3.1學(xué)生表S的結(jié)構(gòu)
列名描述數(shù)據(jù)類型允許Null值說(shuō)明
sno學(xué)號(hào)
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值說(shuō)明
cno
課程號(hào)
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值說(shuō)明
sno
學(xué)號(hào)
char(8)
NO
cno
課程號(hào)
char(4)
NO
主鍵(同時(shí)都是外鍵)
grade
成績(jī)
float
YES
具體步驟如下:
、僭赟QLServerManagementStudio的“對(duì)象資源管理器”中單擊“數(shù)據(jù)庫(kù)”前面的“+”號(hào),選擇“表”并右擊,在彈出的快捷菜單中選擇“新建表”命令,進(jìn)入設(shè)計(jì)表字段的對(duì)話框,如圖1.3.1所示。