關(guān)于我們
書單推薦
新書推薦
|
數(shù)據(jù)庫系統(tǒng)原理與設(shè)計實驗教程
本書是《數(shù)據(jù)庫系統(tǒng)原理與設(shè)計》(第3版) 的配套實驗教材, 實驗內(nèi)容圍繞理論教材的教學內(nèi)容進行組織, 采用SQL Server 2014數(shù)據(jù)庫作為實驗環(huán)境, 精心設(shè)計了18個實驗。
第3版前言Foreword本書是《數(shù)據(jù)庫系統(tǒng)原理與設(shè)計》(第3版)的配套實驗教材,2009年出版第1版,2012年出版第2版,至今已有8年了。該教材第1、2版曾經(jīng)獲得江西省優(yōu)秀教材一等獎。
第1版教材使用SQL Server 2000數(shù)據(jù)庫作為實驗環(huán)境,第2版教材使用SQL Server 2005數(shù)據(jù)庫作為實驗環(huán)境,第3版教材改用SQL Server 2014數(shù)據(jù)庫作為實驗環(huán)境。與2005系統(tǒng)相比,SQL Server 2014對整個數(shù)據(jù)庫系統(tǒng)的安全性和可用性進行了重大改革,并且與.NET架構(gòu)的捆綁更加緊密。 本次修訂依據(jù)新的教學大綱,在保持原教材風格的同時,對“數(shù)據(jù)庫系統(tǒng)原理”課程的實驗教學內(nèi)容進行了全面系統(tǒng)的升級和更新,以適應(yīng)新時期數(shù)據(jù)庫課程的教學需求。 本次修訂對部分章節(jié)和內(nèi)容進行了重新安排與組織。第1版共9章,安排了13個實驗;第2版共10章,安排了17個實驗;第3版共9章,安排了18個實驗。具體變化如下: (1)第2版在第1章沒有安排實驗內(nèi)容,這次安排了3個實驗,目的是使學生對SQL Server數(shù)據(jù)庫有一個初步的認識。第1個實驗是安裝數(shù)據(jù)庫運行環(huán)境,由學生在課余時間完成;第2個實驗安排學生熟悉SQL Server數(shù)據(jù)庫的流控制語言以及函數(shù)運用;第3個實驗安排學生建立一個訂單管理數(shù)據(jù)庫,該數(shù)據(jù)庫僅涉及庫結(jié)構(gòu)和表的主外鍵約束。 (2) 第2章對實驗題目進行了優(yōu)化,更有利于學生理解與運用SQL查詢語句。 (3) 將第2版的第5、6章合并為第4章,在內(nèi)容上更加注重數(shù)據(jù)庫的檢查機制以及培養(yǎng)學生分析問題、解決問題的能力。將原來的“安全性定義”和“安全性檢查”合并為“安全性定義與檢查”,將原來的“完整性定義”和“完整性檢查”合并為“完整性定義與檢查”。 (4) 將第2版的第7章“數(shù)據(jù)庫編程技術(shù)”調(diào)整為第5章;第8章“數(shù)據(jù)庫事務(wù)處理”調(diào)整為第6章;第9章“數(shù)據(jù)庫設(shè)計”調(diào)整為第7章;第4章“數(shù)據(jù)庫查詢執(zhí)行計劃”調(diào)整為第8章;第10章“數(shù)據(jù)庫應(yīng)用開發(fā)”調(diào)整為第9章。 第3版雖然實驗環(huán)境使用的是SQL Server 2014數(shù)據(jù)庫,但是其中的例題與習題仍然可以在SQL Server 數(shù)據(jù)庫的各個版本中運行。 在編寫過程中,作者一直保持嚴謹?shù)膽B(tài)度,但書中難免存在不足和紕漏,敬請讀者批評指正,在此表示感謝。 作者◆數(shù)據(jù)庫系統(tǒng)原理與設(shè)計實驗教程(第3版)·················································· 第2版前言Foreword本書是《數(shù)據(jù)庫系統(tǒng)原理與設(shè)計》(第2版)的配套實驗教材,該教材第1版曾經(jīng)獲得江西省優(yōu)秀教材一等獎。 本書再版時依據(jù)新的教學大綱,在保持原教材風格的同時,對數(shù)據(jù)庫系統(tǒng)原理課程的實踐教學內(nèi)容進行了全面的升級和更新,以適應(yīng)新時期數(shù)據(jù)庫課程的教學需求。 第1版教材采用SQL Server 2000數(shù)據(jù)庫作為實驗環(huán)境,第2版教材改用SQL Server 2005數(shù)據(jù)庫作為實驗環(huán)境。與SQL Server 2000相比,SQL Server 2005對整個數(shù)據(jù)庫系統(tǒng)的安全性和可用性進行了重大改革,并且與.NET架構(gòu)的捆綁更加緊密。由于本教材是數(shù)據(jù)庫系統(tǒng)原理課程的配套教材,并非專門針對SQL Server數(shù)據(jù)庫,考慮到硬件的配置以及通用性,因此第2版沒有以SQL Server 2008數(shù)據(jù)庫作為實驗環(huán)境。 第2版對部分章節(jié)和內(nèi)容進行了重新安排與組織。第1版共9章,安排了13個實驗;第2版共10章,安排了17個實驗。 第2版將第1版第2章的2個實驗拆分為3個實驗,將查詢分為單表查詢、多表查詢和復(fù)雜查詢,這樣安排便于學生理解與實踐;將原先第3章的兩個實驗拆分為3個實驗,分別為數(shù)據(jù)庫與數(shù)據(jù)表定義、索引與視圖定義、數(shù)據(jù)更新操作,并在這部分增加了實驗題目。 第2版將第1版的第5章拆分2章來寫,在內(nèi)容上更加注重數(shù)據(jù)庫的檢查機制以及培養(yǎng)學生的分析問題、解決問題的能力。將原先的兩個實驗改為4個實驗,分別是實驗八 安全性定義、實驗九 安全性檢查、實驗十 完整性定義、實驗十一 完整性檢查。在完整性定義中分別增加列級約束、元組級約束和表級約束的定義。 第2版的“數(shù)據(jù)庫事務(wù)處理”由原先的第7章改為第8章,增加了事務(wù)的隔離級別處理。第2版雖然實驗環(huán)境使用的是SQL Server 2005數(shù)據(jù)庫,但是其中的例題與習題仍然可以在SQL Server 2000數(shù)據(jù)庫中運行。 在整個編寫過程中,盡管作者一直保持嚴謹?shù)膽B(tài)度,但是難免會有不足和紕漏,請讀者批評指正,在此表示感謝。 作者◆數(shù)據(jù)庫系統(tǒng)原理與設(shè)計實驗教程(第3版)···························································· 第1版前言Foreword本書是《數(shù)據(jù)庫系統(tǒng)原理與設(shè)計》的配套實驗教材,是為了配合本科教學中的數(shù)據(jù)庫系統(tǒng)原理課程的實踐部分編寫的,所以在內(nèi)容組織上結(jié)合本科教學的教學內(nèi)容來組織每一章的實驗內(nèi)容,通過精心設(shè)計的13個實驗,從基礎(chǔ)知識入手,深入研究數(shù)據(jù)庫相關(guān)技術(shù),理論聯(lián)系實際,引導讀者從基本概念和實踐入手,逐步掌握數(shù)據(jù)庫系統(tǒng)原理的基本理論和數(shù)據(jù)庫設(shè)計的方法和技巧。 本書采用目前流行的SQL Server 2000數(shù)據(jù)庫作為實驗環(huán)境。每個實驗都針對數(shù)據(jù)庫相關(guān)的理論與技術(shù),每個實驗皆有豐富的案例,其案例取材于作者在課題中所采用的技術(shù),具有很強的實踐指導作用。學生通過13個實驗,可深入領(lǐng)會數(shù)據(jù)庫系統(tǒng)原理中的相關(guān)知識,熟練操作SQL Server數(shù)據(jù)庫,能夠依據(jù)一個實際應(yīng)用背景,進行相應(yīng)的數(shù)據(jù)庫設(shè)計,并實現(xiàn)代碼設(shè)計。 作者在對實例的講解過程中,兼顧深度與廣度,不僅對實際問題的現(xiàn)象、產(chǎn)生原因和相關(guān)原理進行了深入淺出的講解,還結(jié)合實際應(yīng)用環(huán)境,提供了解決問題的思路和方法,具有很強的實踐性,有助于初學者對專業(yè)理論知識的理解和實踐操作能力的提高。 本書結(jié)構(gòu)明晰、實例完善,可操作性較強。讀者可以直接從本書中找到針對數(shù)據(jù)庫管理的極具參考價值的解決方法,并且能從中學到分析和解決此問題的方法;通過具體實例,讀者可以掌握大型數(shù)據(jù)庫的開發(fā)方法與相應(yīng)的開發(fā)技巧。 本書由吳京慧、劉愛紅、廖國瓊和劉喜平編著,其中,第1、2、4章由吳京慧執(zhí)筆,第3、5、6章由劉愛紅執(zhí)筆,第7、8章由廖國瓊執(zhí)筆,第9章由劉喜平執(zhí)筆。吳京慧對全書的初稿進行了修改、補充和總纂。 本書是國家精品課程“數(shù)據(jù)庫系統(tǒng)及應(yīng)用”的建設(shè)教材,有配套的教學PPT和教學網(wǎng)站。本書可作為計算機及相關(guān)專業(yè)本科生的數(shù)據(jù)庫系統(tǒng)原理課程的配套實驗教材,也可供數(shù)據(jù)庫愛好者自學和參考。 本書在編寫過程中,參閱了大量的參考書目和文獻資料,在此一并表示衷心感謝。 在整個編寫過程中,盡管作者一直保持嚴謹?shù)膽B(tài)度,但是難免會有不足和紕漏,請讀者批評指正,在此表示感謝。 作者
Contents第1章SQL Server 2014概述1
1.1SQL Server 2014特點1 1.2SQL Server 2014體系結(jié)構(gòu)3 1.2.1SQL Server體系結(jié)構(gòu)3 1.2.2Client/Server體系結(jié)構(gòu)4 1.3SQL Server 2014安裝環(huán)境5 1.3.1SQL Server 2014的安裝6 1.3.2Microsoft SQL Server Management Studio 的安裝10 1.3.3SQL Server 2014幫助文件的安裝13 1.4SQL Server工具與實用程序13 1.5SQL Server主要工具使用14 1.6SQL Server 2014系統(tǒng)數(shù)據(jù)庫17 1.6.1SQL Server系統(tǒng)表18 1.6.2SQL Server系統(tǒng)存儲過程21 1.6.3SQL Server用戶21 1.7SQL Server 2014數(shù)據(jù)類型23 1.8SQL Server 2014函數(shù)25 1.9SQL Server 2014流控制語句31 1.9.1變量31 1.9.2運算符32 1.9.3注釋符與通配符33 1.9.4流控制語句34 1.9.5CASE語句35 1.10實驗一安裝SQL Server 2014和SQL Server Management Studio37 1.10.1實驗?zāi)康呐c要求37 1.10.2實驗案例37 1.10.3實驗內(nèi)容37 ◆數(shù)據(jù)庫系統(tǒng)原理與設(shè)計實驗教程(第3版)目錄1.11實驗二SQL Server簡單編程38 1.11.1實驗?zāi)康呐c要求38 1.11.2實驗案例38 1.11.3實驗內(nèi)容38 1.12實驗三初識數(shù)據(jù)庫38 1.12.1實驗?zāi)康呐c要求38 1.12.2實驗案例38 1.12.3實驗內(nèi)容44 第2章數(shù)據(jù)庫查詢49 2.1相關(guān)知識49 2.1.1訂單管理數(shù)據(jù)庫49 2.1.2查詢語句51 2.2實驗四單表查詢54 2.2.1實驗?zāi)康呐c要求54 2.2.2實驗案例54 2.2.3實驗內(nèi)容61 2.3實驗五多表查詢61 2.3.1實驗?zāi)康呐c要求61 2.3.2實驗案例62 2.3.3實驗內(nèi)容71 2.4實驗六復(fù)雜查詢71 2.4.1實驗?zāi)康呐c要求71 2.4.2實驗案例72 2.4.3實驗內(nèi)容79 第3章數(shù)據(jù)庫定義與更新80 3.1相關(guān)知識80 3.1.1數(shù)據(jù)庫定義語句80 3.1.2表定義語句82 3.1.3索引與視圖定義語句83 3.1.4插入、刪除、修改記錄語句86 3.2實驗七數(shù)據(jù)庫與數(shù)據(jù)表定義87 3.2.1實驗?zāi)康呐c要求87 3.2.2實驗案例88 3.2.3實驗內(nèi)容90 3.3實驗八索引與視圖定義91 3.3.1實驗?zāi)康呐c要求91 3.3.2實驗案例91 3.3.3實驗內(nèi)容92 3.4實驗九數(shù)據(jù)更新操作93 3.4.1實驗?zāi)康呐c要求93 3.4.2實驗案例93 3.4.3實驗內(nèi)容94 第4章數(shù)據(jù)庫安全性與完整性95 4.1相關(guān)知識95 4.1.1數(shù)據(jù)庫安全性95 4.1.2數(shù)據(jù)庫完整性98 4.2實驗十安全性定義與檢查99 4.2.1實驗?zāi)康呐c要求99 4.2.2實驗案例99 4.2.3實驗內(nèi)容104 4.3實驗十一完整性定義與檢查105 4.3.1實驗?zāi)康呐c要求105 4.3.2實驗案例105 4.3.3實驗內(nèi)容110 第5章數(shù)據(jù)庫編程技術(shù)112 5.1相關(guān)知識112 5.1.1游標112 5.1.2存儲過程114 5.1.3觸發(fā)器116 5.2實驗十二游標與存儲過程118 5.2.1實驗?zāi)康呐c要求118 5.2.2實驗案例118 5.2.3實驗內(nèi)容122 5.3實驗十三觸發(fā)器123 5.3.1實驗?zāi)康呐c要求123 5.3.2實驗案例123 5.3.3實驗內(nèi)容126 第6章數(shù)據(jù)庫事務(wù)處理127 6.1相關(guān)知識127 6.1.1SQL Server事務(wù)模式127 6.1.2事務(wù)定義127 6.1.3SQL92隔離級別128 6.1.4SQL Server解決方案129 6.2實驗十四事務(wù)處理130 6.2.1實驗?zāi)康呐c要求130 6.2.2實驗案例130 6.2.3實驗內(nèi)容132 第7章數(shù)據(jù)庫設(shè)計133 7.1相關(guān)知識133 7.2實驗十五數(shù)據(jù)庫模式腳本設(shè)計134 7.2.1實驗?zāi)康呐c要求134 7.2.2實驗案例134 7.2.3實驗內(nèi)容149 第8章數(shù)據(jù)庫查詢執(zhí)行計劃150 8.1相關(guān)知識150 8.1.1SQL優(yōu)化器的優(yōu)化過程151 8.1.2執(zhí)行計劃152 8.1.3SQL Server所使用的邏輯和物理運算符152 8.2實驗十六執(zhí)行計劃156 8.2.1實驗?zāi)康呐c要求156 8.2.2實驗案例156 8.2.3實驗內(nèi)容163 第9章數(shù)據(jù)庫應(yīng)用開發(fā)164 9.1相關(guān)知識164 9.1.1C/S模式下的數(shù)據(jù)庫應(yīng)用開發(fā)164 9.1.2B/S模式下的數(shù)據(jù)庫應(yīng)用開發(fā)178 9.2實驗十七C/S模式的數(shù)據(jù)庫應(yīng)用開發(fā)187 9.2.1實驗?zāi)康呐c要求187 9.2.2實驗案例188 9.2.3實驗內(nèi)容201 9.3實驗十八B/S模式的數(shù)據(jù)庫應(yīng)用開發(fā)202 9.3.1實驗?zāi)康呐c要求202 9.3.2JSP數(shù)據(jù)庫應(yīng)用實例202 9.3.3實驗內(nèi)容218
第3章chapter3
數(shù)據(jù)庫定義與更新接正文接標題SQL語言由4部分組成: 數(shù)據(jù)定義語言、數(shù)據(jù)操縱語言、數(shù)據(jù)控制語言和其他,其功能如下: (1) 數(shù)據(jù)定義語言(data definition language,DDL): 主要用于定義數(shù)據(jù)庫的邏輯結(jié)構(gòu),包括定義數(shù)據(jù)庫、基本表、視圖和索引等。擴展的DDL還包括存儲過程、函數(shù)、對象、觸發(fā)器等的定義。 (2) 數(shù)據(jù)操縱語言(data manipulation language,DML): 主要用于對數(shù)據(jù)庫中的數(shù)據(jù)進行檢索和更新兩大類操作,其中更新操作包括插入、刪除和修改數(shù)據(jù)。 (3) 數(shù)據(jù)控制語言(data control language,DCL): 主要用于對數(shù)據(jù)庫中的對象進行授權(quán)、用戶維護(包括創(chuàng)建、修改和刪除)、完整性規(guī)則定義和事務(wù)定義等。 (4) 其他: 主要是嵌入式SQL語言和動態(tài)SQL語言的定義,規(guī)定了SQL語言在宿主語言中使用的規(guī)則。擴展的SQL還包括數(shù)據(jù)庫數(shù)據(jù)的重新組織、備份與恢復(fù)等。 3.1相 關(guān) 知 識 在SQL Server 2014中,數(shù)據(jù)庫對象包括表、視圖、觸發(fā)器、存儲過程、規(guī)則、缺省、用戶自定義的數(shù)據(jù)類型等。 SQL Server的DDL是指用來定義和管理數(shù)據(jù)庫以及數(shù)據(jù)庫中各種對象的語句,這些語句包括CREATE、ALTER和DROP等。 SQL Server的DML是指用來查詢、添加、修改和刪除數(shù)據(jù)庫中數(shù)據(jù)的語句,這些語句包括SELECT、INSERT、UPDATE、DELETE等。在默認情況下,只有sysadmin、dbcreator、db_Owner或db_Datawriter等角色的成員才有權(quán)利執(zhí)行數(shù)據(jù)操縱語言。 3.1.1數(shù)據(jù)庫定義語句 本節(jié)主要討論數(shù)據(jù)庫的定義功能。 1. 創(chuàng)建數(shù)據(jù)庫 語法: CREATE DATABASE database_name\[ON \[PRIMARY\]\] (\[NAME=logical_file_name,\] FILENAME='os_file_name' \[,SIZE=size\] \[,MAXSIZE={max_size| UNLIMITED}\] \[,FILEGROWTH=growth_increment\]) \[, …n\]) \[LOG ON\] (\[NAME=logical_file_name,\] FILENAME='os_file_name' \[,SIZE=size\] \[,MAXSIZE={max_size|UNLIMITED} \] \[,FILEGROWTH=growth_increment\]) \[, …n\])◆數(shù)據(jù)庫系統(tǒng)原理與設(shè)計實驗教程(第3版)第◆3章數(shù)據(jù)庫定義與更新其中, database_name: 被創(chuàng)建的數(shù)據(jù)庫的名字。 ON: 用于指定存儲數(shù)據(jù)庫中數(shù)據(jù)的磁盤文件。除PRIMARY文件組外,用戶可定義用戶的文件組及相關(guān)的用戶文件。 PRIMARY: 描述在主文件組中定義的相關(guān)文件。所有的數(shù)據(jù)庫系統(tǒng)表存放在PRIMARY文件組中,同時也存放沒有分配具體文件組的對象。在主文件組中第一個文件被稱為主文件,通常包括數(shù)據(jù)庫的系統(tǒng)表。對于一個數(shù)據(jù)庫來說,只能有一個PRIMARY文件組。如果主文件組沒有指明,則創(chuàng)建數(shù)據(jù)庫時所描述的第一個文件將作為主文件組成員。 LOG ON: 用來指明存儲數(shù)據(jù)庫日志的磁盤文件。如果沒有指定log on,系統(tǒng)將自動創(chuàng)建單個的日志文件,使用系統(tǒng)默認的命名方法。 創(chuàng)建數(shù)據(jù)庫的注意事項: (1) 缺省情況下,只有系統(tǒng)管理員可以創(chuàng)建新數(shù)據(jù)庫,但是系統(tǒng)管理員可以通過授權(quán)將創(chuàng)建數(shù)據(jù)庫的權(quán)限授予其他用戶。 (2) 數(shù)據(jù)庫名字必須遵循SQL Server命名規(guī)范: 字符的長度可以從1到30。 名稱的第一個字符必須是字母或者是下劃線_、符號@。 在首字母后的字符可以是字母、數(shù)字或者前面規(guī)則中提到的符號。 名稱中不能有任何空格。 (3) 所有的新數(shù)據(jù)庫都是model數(shù)據(jù)庫的拷貝,新數(shù)據(jù)庫不可能比model數(shù)據(jù)庫當前的容量更小。 (4) 單個數(shù)據(jù)庫可以存儲在單個文件上,也可以跨越多個文件存儲。 (5) 數(shù)據(jù)庫的大小可以被擴展或者收縮。 (6) 當新的數(shù)據(jù)庫創(chuàng)建時,SQL Server自動更新master數(shù)據(jù)庫的sysdatabases系統(tǒng)表。 2. 修改數(shù)據(jù)庫 創(chuàng)建數(shù)據(jù)庫后如果想對其定義進行修改,例如增刪數(shù)據(jù)文件、增刪文件組等,可以使用ALTER DATABASE語句處理。 語法ALTER DATABASE database_name { ADD FILE \[,…n\] \[TO FILEGROUP filegroup_name\] | ADD LOG FILE \[,…n\] | REMOVE FILE logical_file_name | ADD FILEGROUP filegroup_name | REMOVE FILEGROUP filegroup_name | MODIFY FILE | MODIFY FILEGROUP filegroup_name filegroup_property }其中, database_name: 被修改的數(shù)據(jù)庫的名字。 ADD FILE: 指定添加到數(shù)據(jù)庫中的數(shù)據(jù)文件。 TO FILEGROUP filegroup_name: 指定文件添加到文件組名為filegroup_name的文件組。 ADD LOG FILE: 指定添加到數(shù)據(jù)庫中的日志文件。 REMOVE FILE: 從數(shù)據(jù)庫系統(tǒng)表中刪除該文件,并且物理刪除該文件。 ADD FILEGROUP: 指定添加到數(shù)據(jù)庫的文件組。 filegroup_name: 文件組名。 REMOVE FILEGROUP: 從數(shù)據(jù)庫中刪除該文件組,并刪除在這個文件組中的文件。 MODIFY FILE: 指定要修改的文件。包含該文件的名稱、大小、增長量和最大容量。 注意: 一次只可以修改其中的一個選項。 ……
你還可能感興趣
我要評論
|