




版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、?數(shù)據(jù)庫(kù)原理與應(yīng)用?課程實(shí)驗(yàn)指導(dǎo)書蘇州工業(yè)職業(yè)技術(shù)學(xué)院信息工程系20211目錄目錄 前言 實(shí)驗(yàn)一 初識(shí)SQL Server 2000 實(shí)驗(yàn)二 數(shù)據(jù)庫(kù)的創(chuàng)立和管理 實(shí)驗(yàn)三 表的創(chuàng)立、管理及數(shù)據(jù)操作實(shí)驗(yàn)四 單表查詢 實(shí)驗(yàn)五 連接查詢 實(shí)驗(yàn)六 嵌套查詢 實(shí)驗(yàn)七 視圖的創(chuàng)立和管理 實(shí)驗(yàn)八 游標(biāo)的使用 實(shí)驗(yàn)九 T-SQL語(yǔ)言編程根底 實(shí)驗(yàn)十 函數(shù)實(shí)驗(yàn)十一 索引、默認(rèn)值約束和默認(rèn)值對(duì)象實(shí)驗(yàn)十二 數(shù)據(jù)完整性的實(shí)現(xiàn)實(shí)驗(yàn)十三 存儲(chǔ)過(guò)程實(shí)驗(yàn)十四 觸發(fā)器 實(shí)驗(yàn)十五 系統(tǒng)平安管理 實(shí)驗(yàn)十六 數(shù)據(jù)備份、恢復(fù)和導(dǎo)入導(dǎo)出實(shí)驗(yàn)十七 綜合訓(xùn)練前言數(shù)據(jù)庫(kù)技術(shù)是計(jì)算機(jī)學(xué)科中的一個(gè)重要分支,開(kāi)展迅速、應(yīng)用非常廣泛,幾乎涉及了所有應(yīng)用
2、領(lǐng)域。例如,辦公系統(tǒng)、生產(chǎn)管理、財(cái)務(wù)管理、人事管理、工業(yè)管理等,都廣泛應(yīng)用了數(shù)據(jù)庫(kù)技術(shù)。本實(shí)驗(yàn)指導(dǎo)書是?數(shù)據(jù)庫(kù)原理與應(yīng)用?課程的配套實(shí)驗(yàn)資料。通過(guò)安排實(shí)驗(yàn)及布置的任務(wù),讓學(xué)生熟練掌握使用關(guān)系數(shù)據(jù)庫(kù)管理系統(tǒng)SQL Server 2000進(jìn)行數(shù)據(jù)庫(kù)及表的創(chuàng)立和管理、查詢、TransactSQL程序設(shè)計(jì)、各類約束的創(chuàng)立及使用、視圖及索引的創(chuàng)立與管理、SQL Server 的存儲(chǔ)過(guò)程的創(chuàng)立和管理、SQL Server 的觸發(fā)器創(chuàng)立和管理、SQL Server的平安性管理、數(shù)據(jù)庫(kù)的備份及恢復(fù)。并能根據(jù)實(shí)際應(yīng)用需求進(jìn)行數(shù)據(jù)庫(kù)設(shè)計(jì)和實(shí)現(xiàn),提高學(xué)生的實(shí)際動(dòng)手能力,為其今后在相關(guān)領(lǐng)域?qū)W習(xí)和工作打下較好的根底。實(shí)
3、驗(yàn)一 初識(shí)SQL Server 2000一實(shí)驗(yàn)?zāi)康呐c要求1、熟悉實(shí)驗(yàn)機(jī)房對(duì)SQL Server 2000實(shí)驗(yàn)環(huán)境的設(shè)置、學(xué)會(huì)獨(dú)立使用該系統(tǒng);2、熟悉SQL Server 2000中企業(yè)管理器和查詢分析器兩個(gè)常用管理工具;二實(shí)驗(yàn)內(nèi)容l 練習(xí)啟動(dòng)、停止和暫停效勞管組件的效勞,了解SQL Server2000中包括的效勞器組件,掌握效勞管理器和使用。l 練習(xí)Microsoft SQL Server Enterprise Manager的使用。l 練習(xí)Microsoft SQL 查詢分析器的使用。三實(shí)驗(yàn)步驟1、練習(xí)啟動(dòng)、停止和暫停效勞管組件的效勞,了解SQL Server2000中包括的效勞器組件,掌
4、握效勞管理器和使用。1) 啟動(dòng)SQL Server效勞2) 停止SQL Server效勞2、 練習(xí)Microsoft SQL Server / Enterprise Manager翻開(kāi)Microsoft SQL Server / Enterprise Manager1) 觀察SQL Server 組下已經(jīng)建立的效勞器組2) 翻開(kāi)其中的一個(gè)效勞器,觀察其中的文件夾3) 翻開(kāi)“數(shù)據(jù)庫(kù)文件夾,觀察已經(jīng)建立的數(shù)據(jù)庫(kù)4) 翻開(kāi)其中的某一個(gè)數(shù)據(jù)庫(kù),觀察其中的內(nèi)容5) 翻開(kāi)“平安性文件夾,進(jìn)入“登錄,觀察可以登錄該效勞器的用戶及其屬性。3、 練習(xí)Microsoft SQL 查詢分析器翻開(kāi)Microsoft
5、SQL查詢分析器,在窗口中輸入SELECT * FROM Products并單擊或按F5執(zhí)行查詢,認(rèn)識(shí)查詢分析器的命令操作方式四分析與答復(fù)1SQL Server 2000中包含哪些組件,其功能各是什么?2畫出SQL Server Enterprise Manager控制臺(tái)目錄結(jié)構(gòu)?答:3DBMS的作用是什么?SQL Server 2000的體系結(jié)構(gòu)是怎樣的? 4SQL Server 2000中聯(lián)機(jī)交互方式有哪兩種,分別是通過(guò)什么管理工具來(lái)表達(dá)?答:實(shí)驗(yàn)二 數(shù)據(jù)庫(kù)創(chuàng)立與管理一、實(shí)驗(yàn)?zāi)康呐c要求n 熟練掌握SQL Server Enterprise Manager 創(chuàng)立和管理數(shù)據(jù)庫(kù);n 熟練掌握使用
6、SQL語(yǔ)句創(chuàng)立和管理數(shù)據(jù)庫(kù)n 熟練掌握備份和復(fù)原數(shù)據(jù)庫(kù)二、實(shí)驗(yàn)內(nèi)容和步驟1、利用企業(yè)管理器創(chuàng)立和管理數(shù)據(jù)庫(kù)(1) 創(chuàng)立數(shù)據(jù)庫(kù)展開(kāi)效勞器組,然后展開(kāi)效勞器右擊"數(shù)據(jù)庫(kù)",然后單擊"新建數(shù)據(jù)庫(kù)"命令鍵入新數(shù)據(jù)庫(kù)的名稱student,同時(shí)用指定的數(shù)據(jù)庫(kù)名student作為前綴創(chuàng)立主數(shù)據(jù)庫(kù)和事務(wù)日志文件,例如:student_Data.mdf 和 student要更改新建主數(shù)據(jù)庫(kù)文件的默認(rèn)值,單擊"常規(guī)"選項(xiàng)卡。假設(shè)要更改新建事務(wù)日志文件的默認(rèn)值,單擊"事務(wù)日志"選項(xiàng)卡, 要更改"文件名"、"
7、位置"、"初始大小MB"和"文件組"等列的默認(rèn)值,單擊要更改的適當(dāng)單元格,再鍵入新值。要指定文件增長(zhǎng)方式和文件大小按界面提示選擇相應(yīng)的項(xiàng)。(2) 刪除數(shù)據(jù)庫(kù)選擇student數(shù)據(jù)庫(kù),右擊鼠標(biāo)選擇“刪除命令即可。2、利用企業(yè)管理器備份和復(fù)原數(shù)據(jù)庫(kù)(3) 備份數(shù)據(jù)庫(kù)選擇student數(shù)據(jù),右擊鼠標(biāo)選擇“所有任務(wù)|備份數(shù)據(jù)庫(kù)命令,在彈出對(duì)話框中輸入備份名稱,選擇“備份到欄目中的“添加命令,輸入具體的文件名為位置,默認(rèn)情況備份文件存放在SQL Server的安裝目錄中如“C:Program FilesMicrosoft SQL ServerMSSQLB
8、ACKUP;當(dāng)需要將備份文件存放到自定義文件夾中時(shí),修改上述默認(rèn)路徑。(3) 復(fù)原數(shù)據(jù)庫(kù)選擇student數(shù)據(jù),右擊鼠標(biāo)選擇“所有任務(wù)|復(fù)原數(shù)據(jù)庫(kù)命令,在對(duì)話框中會(huì)列出已備份過(guò)的文件記錄,輸入相應(yīng)的選項(xiàng)值按確定即可。3、 使用SQL語(yǔ)句在查詢分析器中完成以下操作(1)創(chuàng)立SPJ數(shù)據(jù)庫(kù):翻開(kāi)查詢分析器,輸入以下語(yǔ)句并運(yùn)行CREATE DATABASE SPJ ON (NAME = 'SPJ_Data', FILENAME = 'C:Program FilesMicrosoft SQL ServerMSSQLdataSPJ_Data.MDF' , SIZE = 2,
9、 MAXSIZE = 10, FILEGROWTH = 10%) LOG ON (NAME = 'SPJ_Log', FILENAME = 'C:Program FilesMicrosoft SQL ServerMSSQLdataSPJ_Log.LDF' , SIZE = 1, FILEGROWTH = 10%)(2)修改SPJ數(shù)據(jù)庫(kù):在查詢分析器中輸入以下語(yǔ)句并運(yùn)行(了解)ALTER DATABASE SPJMODIFY FILE(NAME='SPJ_Data', SIZE=3,MAXSIZE=UNLIMITED)ALTER DATABASE
10、SPJ ADD FILE(NAME='SPJ_Data_2', FILENAME='C:Program FilesMicrosoft SQL ServerMSSQLDataSPJ_Date_2.ndf',SIZE=1, MAXSIZE=10, FILEGROWTH=10%)(3)刪除SPJ數(shù)據(jù)庫(kù): DROP DATABASE SPJ 三、分析與答復(fù)1 在企業(yè)管理器中實(shí)現(xiàn)數(shù)據(jù)庫(kù)XSBOOK的操作,寫出操作過(guò)程。2 在查詢分析器中實(shí)現(xiàn)XSBOOK,寫出操作過(guò)程。實(shí)驗(yàn)三 表的創(chuàng)立、管理及數(shù)據(jù)操作一、實(shí)驗(yàn)?zāi)康呐c要求n 復(fù)習(xí)使用企業(yè)管理器和T-SQL語(yǔ)句創(chuàng)立和管理數(shù)據(jù)庫(kù)。
11、n 熟練掌握使用企業(yè)管理器和T-SQL語(yǔ)句創(chuàng)立、修改和刪除表。n 熟練掌握使用企業(yè)管理器和T-SQL語(yǔ)句插入、修改和刪除表數(shù)據(jù)。二、實(shí)驗(yàn)內(nèi)容和步驟1、啟動(dòng)企業(yè)管理器,創(chuàng)立產(chǎn)品銷售數(shù)據(jù)庫(kù)CPXS: 數(shù)據(jù)文件初始大小為5MB,最大大小50MB,增長(zhǎng)方式按10%比例增長(zhǎng);日志文件初始為2MB,最大可增長(zhǎng)到10MB,按2MB增長(zhǎng);其余參數(shù)取默認(rèn)值。2、用T-SQL語(yǔ)句將CPXS數(shù)據(jù)文件的增長(zhǎng)方式改為按5MB增長(zhǎng)。3、CPXS數(shù)據(jù)庫(kù)包含如下三個(gè)表: CP產(chǎn)品編號(hào),產(chǎn)品名稱,價(jià)格,庫(kù)存量產(chǎn)品 XSS客戶編號(hào),客戶名稱,地區(qū),負(fù)責(zé)人, 銷售商 CPXSB產(chǎn)品編號(hào),客戶編號(hào),銷售日期,數(shù)量,銷售額產(chǎn)品銷售表
12、三個(gè)表結(jié)構(gòu)如圖3.1圖3.3所示,請(qǐng)寫出創(chuàng)立以上三個(gè)表的T-SQL語(yǔ)句并在查詢分析器中運(yùn)行。 圖3.1 CP表結(jié)構(gòu)圖3.2 XSS表結(jié)構(gòu)圖3.3 CPXSB表結(jié)構(gòu)4、在企業(yè)管理器中輸入如圖圖3.6的CP表、XSS表和CPXSB表的樣本數(shù)據(jù)。圖3.4 CP表的樣本數(shù)據(jù)圖3.5 XSS表的樣本數(shù)據(jù)圖3.6 CPXSB表的樣本數(shù)據(jù)4、 用T-SQL語(yǔ)句向CP表插入如下記錄:200001柜式空調(diào)3000200200002微波爐1000100200003抽油煙機(jī)1200505、用T-SQL語(yǔ)句向CP表中增加“產(chǎn)品簡(jiǎn)列列,varchar(50),允許為NULL。6、將CP表中每種商品的價(jià)格打8折。7、將C
13、P表中價(jià)格打9折后小于1500的商品刪除。實(shí)驗(yàn)四 單表查詢一、實(shí)驗(yàn)?zāi)康呐c要求n 牢記SELECT 語(yǔ)句的根本語(yǔ)法格式;n 熟練掌握使用SQL語(yǔ)句進(jìn)行單表查詢,尤其要熟練掌握GROUP BY子句、HAVING 子句和集函數(shù);二、實(shí)驗(yàn)內(nèi)容和步驟 對(duì)CPXS數(shù)據(jù)庫(kù),完成如下單表查詢:1、 簡(jiǎn)單查詢 (將你完成正確的語(yǔ)句寫在橫線上)n 查詢各種產(chǎn)品的產(chǎn)品編號(hào)、產(chǎn)品名稱和價(jià)格。_ _n 查詢地區(qū)在“南京的客戶編號(hào)和客戶名稱,結(jié)果中各列的標(biāo)題分別指定為:Customer id和Customer name。_ _n 查詢CP表中各種產(chǎn)品的產(chǎn)品編號(hào)、產(chǎn)品名稱和價(jià)格,對(duì)其價(jià)格按以下規(guī)那么進(jìn)行轉(zhuǎn)換;假設(shè)價(jià)格小于1
14、000,替換為“廉價(jià)產(chǎn)品,假設(shè)價(jià)格在1000-2000之間,替換為“一般產(chǎn)品,假設(shè)借書數(shù)在大于2000小于3000,替換為“昂貴產(chǎn)品,假設(shè)借書數(shù)大于3000,替換為“很昂貴產(chǎn)品,列標(biāo)題更改為“評(píng)價(jià)。_n 求各產(chǎn)品編號(hào)、名稱和產(chǎn)品總值。_n 查詢至少購(gòu)置了至少一種產(chǎn)品的客戶編號(hào)不重復(fù)。_ n 查詢價(jià)格在1000-2000的產(chǎn)品信息。_n 查詢產(chǎn)品名稱含有冰箱_A的產(chǎn)品情況。_2、使用分組和集函數(shù)先將CPXSB表數(shù)據(jù)修改如下列圖所示:再完成如下查詢:< 計(jì)算所有產(chǎn)品總價(jià)格。_< 求各種產(chǎn)品2004年3月18日銷售額。_< 求購(gòu)置二種以上產(chǎn)品的客戶編號(hào)。_三、考前須知1、在上實(shí)驗(yàn)課
15、前需預(yù)習(xí)!2、每次查詢完成需觀察結(jié)果,并分析其正確性!實(shí)驗(yàn)五 連接查詢一、實(shí)驗(yàn)?zāi)康呐c要求l 熟練掌握使用SQL標(biāo)準(zhǔn)語(yǔ)句和T-SQL擴(kuò)展語(yǔ)句進(jìn)行連接查詢。二、實(shí)驗(yàn)內(nèi)容和步驟 對(duì)CPXS數(shù)據(jù)庫(kù),完成如下連接查詢:1、 內(nèi)連接 (將你完成的語(yǔ)句寫在橫線上,要求用兩種方式書寫)n 查詢?cè)?004年3月18日有銷售的產(chǎn)品名稱不允許重復(fù)。SQL標(biāo)準(zhǔn)語(yǔ)句:_T-SQL擴(kuò)展語(yǔ)句:_n 查詢名稱為“家電市場(chǎng)的客戶在2004年3月18日購(gòu)置的產(chǎn)品名稱和數(shù)量。SQL標(biāo)準(zhǔn)語(yǔ)句:_ _T-SQL擴(kuò)展語(yǔ)句:_ _2、外連接< 查找所有產(chǎn)品情況及銷售他們的銷售日期、購(gòu)置他們的客戶編號(hào)和數(shù)量,假設(shè)產(chǎn)品沒(méi)有銷售記錄,也要
16、包括其情況。_< 查找所有購(gòu)置情況,假設(shè)客戶沒(méi)有購(gòu)置產(chǎn)品,也要包括其情況。_三、考前須知1、在上實(shí)驗(yàn)課前需復(fù)習(xí)并寫出相應(yīng)的查詢語(yǔ)句!2、每次查詢完成需觀察結(jié)果,并做適當(dāng)分析!實(shí)驗(yàn)六 嵌套查詢一、實(shí)驗(yàn)?zāi)康呐c要求l 熟練掌握IN子查詢l 熟練掌握比擬子查詢尤其要注意ANY、ALL謂詞如何用集函數(shù)代替l 熟練掌握EXISTS子查詢尤其要注意如何將全稱量詞和邏輯蘊(yùn)含用EXISTS謂詞代替二、實(shí)驗(yàn)內(nèi)容和步驟 對(duì)CPXS數(shù)據(jù)庫(kù),完成如下嵌套查詢:n 查詢?cè)?004年3月18日沒(méi)有銷售的產(chǎn)品名稱不允許重復(fù)。用IN子查詢:_用EXISTS子查詢:_n 查詢名稱為“家電市場(chǎng)的客戶在2004年3月18日購(gòu)置
17、的產(chǎn)品名稱和數(shù)量。用IN子查詢:_ _用EXISTS子查詢:_ _< 查詢銷售量大于所有2004年3月18日銷售的各產(chǎn)品銷售數(shù)量的產(chǎn)品編號(hào)。用ALL謂詞:_用集函數(shù):_< 查詢購(gòu)置了所有產(chǎn)品的客戶的名稱。_< 查詢購(gòu)置了客戶編號(hào)為“000001的客戶購(gòu)置的所有產(chǎn)品的客戶的名稱。_三、考前須知1、在上實(shí)驗(yàn)課前需復(fù)習(xí)并寫出相應(yīng)的查詢語(yǔ)句!2、每次查詢完成需觀察結(jié)果,并做適當(dāng)分析!實(shí)驗(yàn)七 視圖的創(chuàng)立和管理一、實(shí)驗(yàn)?zāi)康呐c要求n 熟練掌握使用企業(yè)管理器和T-SQL語(yǔ)句創(chuàng)立、查詢、更新、修改和刪除視圖。n 進(jìn)一步掌握視圖與根本表的聯(lián)系與區(qū)別。二、實(shí)驗(yàn)內(nèi)容和步驟1、創(chuàng)立視圖1啟動(dòng)企業(yè)管理器
18、,在產(chǎn)品銷售數(shù)據(jù)庫(kù)CPXS中創(chuàng)立價(jià)格小于2000的產(chǎn)品視圖VIEW_CP_PRICE2000,要求加密并保證對(duì)該視圖的更新都要符合價(jià)格小于2000這個(gè)條件,寫出創(chuàng)立過(guò)程和對(duì)應(yīng)的T-SQL語(yǔ)句:2翻開(kāi)查詢分析器,用T-SQL語(yǔ)句創(chuàng)立各客戶購(gòu)置產(chǎn)品的情況VIEW_GMQK視圖,包括客戶編號(hào)、客戶名稱、產(chǎn)品編號(hào)、產(chǎn)品名稱、價(jià)格,購(gòu)置日期、購(gòu)置數(shù)量。3創(chuàng)立分區(qū)視圖:在CPXS數(shù)據(jù)庫(kù)中創(chuàng)立CP1和CP2兩個(gè)表,CP1表中為編號(hào)小于等于100010產(chǎn)品數(shù)據(jù),CP1表中為編號(hào)大于100010產(chǎn)品數(shù)據(jù),以分區(qū)列為產(chǎn)品編號(hào), 創(chuàng)立可更新的分區(qū)視圖VIEW_CP12。2、查詢視圖1基于VIEW_CP_PRICE2
19、000視圖,查詢價(jià)格在2000以下產(chǎn)品的產(chǎn)品編號(hào)、名稱和價(jià)格。2基于VIEW_GMQK視圖,查詢各客戶在20004年3月18日購(gòu)置產(chǎn)品的情況。3、更新視圖利用T-SQL語(yǔ)句對(duì)于視圖VIEW_12進(jìn)行以下數(shù)據(jù)更新。(1) 插入一條CP記錄 '100042','數(shù)碼相機(jī)',3500,2。(2) 將產(chǎn)品編號(hào)為100042的價(jià)格改為3000。(3) 刪除產(chǎn)品編號(hào)為100042的產(chǎn)品。4、修改視圖將VIEW_CP_PRICE2000視圖不加密。5、刪除視圖將VIEW-GMQK視圖刪除。三、分析與答復(fù)視圖與根本表的區(qū)別與聯(lián)系。實(shí)驗(yàn)八 游標(biāo)的使用一、實(shí)驗(yàn)?zāi)康呐c要求n 掌握使用
20、SQL-92語(yǔ)法和T-SQL擴(kuò)展聲明游標(biāo),并理解相關(guān)參數(shù)含義。n 掌握游標(biāo)的使用過(guò)程。二、實(shí)驗(yàn)內(nèi)容和步驟1、聲明游標(biāo)1使用SQL-92語(yǔ)法聲明一只進(jìn)只讀游標(biāo)CUR1:要求結(jié)果集2004年3月18日銷售情況。 2使用T-SQL擴(kuò)展聲明一滾動(dòng)動(dòng)態(tài)游標(biāo)CUR2:要求結(jié)果集為客戶信息,并能通過(guò)該游標(biāo)修改客戶名稱列。2、翻開(kāi)游標(biāo)翻開(kāi)CUR2游標(biāo)。3、讀取游標(biāo)中數(shù)據(jù)編寫程序,實(shí)現(xiàn)依次讀取游標(biāo)CUR2中各行數(shù)據(jù)。4、關(guān)閉游標(biāo)關(guān)閉CUR2游標(biāo)。5、釋放游標(biāo)釋放CUR2游標(biāo)。三、分析與答復(fù)1 什么是游標(biāo)?為什么要使用游標(biāo)?2 對(duì)游標(biāo)的操作語(yǔ)句有哪些?分別代表什么含義?實(shí)驗(yàn)九 T-SQL語(yǔ)言編程根底一、實(shí)驗(yàn)?zāi)康呐c
21、要求n 熟練掌握變量的定義和賦值。n 熟練掌握用戶自定義數(shù)據(jù)類型定義、使用和刪除。n 熟練掌握各種運(yùn)算符。n 熟練掌握流程控制語(yǔ)句,尤其是條件語(yǔ)句和循環(huán)語(yǔ)句。n 熟悉并掌握常用的系統(tǒng)函數(shù)。二、實(shí)驗(yàn)內(nèi)容和步驟1、變量的定義和賦值創(chuàng)立一名為 Customer_name的局部變量,并在SELECT語(yǔ)句中使用該變量查找“廣電公司購(gòu)置產(chǎn)品的情況。2、用戶自定義數(shù)據(jù)類型定義、使用和刪除用SQL命令定義一名為Customer_id的用戶自定義數(shù)據(jù)類型,要求char(6),NOT NULL,并把該自定義數(shù)據(jù)類型用來(lái)定義XSS表中的客戶編號(hào),然后刪除該自定義數(shù)據(jù)類型,請(qǐng)表達(dá)該過(guò)程,并寫出相關(guān)語(yǔ)句。3、T-SQL
22、語(yǔ)言編程1用T-SQL語(yǔ)言編程輸出3300之間能被7整除的數(shù)。2用T-SQL語(yǔ)言編程輸出3100之內(nèi)的素?cái)?shù)。三、分析與答復(fù)1 在SQL Server 2000中,有哪些運(yùn)算符?試舉例說(shuō)明你認(rèn)為較為常用的運(yùn)算符的用法。不少于3個(gè)2 試舉例說(shuō)明我們較為常用的系統(tǒng)內(nèi)置函數(shù)。不少于3個(gè)實(shí)驗(yàn)十 函數(shù)一、實(shí)驗(yàn)?zāi)康呐c要求n 理解什么是標(biāo)量函數(shù)、內(nèi)嵌表值函數(shù)及多語(yǔ)句表值函數(shù)。n 熟練掌握標(biāo)量函數(shù)、內(nèi)嵌表值函數(shù)、多語(yǔ)句表值函數(shù)的定義和調(diào)用。二、實(shí)驗(yàn)內(nèi)容和步驟1、函數(shù)的定義對(duì)于CPXS數(shù)據(jù)庫(kù),定義完成如下功能的函數(shù):1據(jù)產(chǎn)品名稱,查詢?cè)摦a(chǎn)品的相關(guān)信息;函數(shù)名為FU_CP2按某年某季度統(tǒng)計(jì)給定產(chǎn)品名稱的銷售數(shù)量及銷
23、售金額;分別用名為FU1_CPXS內(nèi)嵌表值函數(shù)和名為FU2_CPXS的多語(yǔ)句表值函數(shù)。3根據(jù)銷售商名稱,統(tǒng)計(jì)其在某年某季度內(nèi)銷售商品名稱、數(shù)量及金額。函數(shù)名為FU3_CPXS2、函數(shù)的調(diào)用1對(duì)函數(shù)FU_CP,查詢產(chǎn)品名稱為“mp3的產(chǎn)品情況;2對(duì)函數(shù)FU1_CPXS,查詢2004年第3季度彩色電視機(jī)的銷售數(shù)量和銷售金額;3對(duì)函數(shù)FU2_CPXS,查詢2004年第1季度洗衣機(jī)的銷售數(shù)量和銷售金額;4對(duì)函數(shù)FU3_CPXS,查詢廣電公司2004年第1季度銷售的產(chǎn)品名稱、銷售數(shù)量和銷售金額。三、分析與答復(fù)試說(shuō)明內(nèi)嵌表值函數(shù)、多語(yǔ)句表值函數(shù)的聯(lián)系與區(qū)別。實(shí)驗(yàn)十一 索引、默認(rèn)值約束和默認(rèn)值對(duì)象一、實(shí)驗(yàn)?zāi)?/p>
24、的與要求n 理解索引的概念和作用。n 熟練掌握索引的創(chuàng)立與刪除。n 熟練掌握默認(rèn)值約束的定義和刪除。n 熟練掌握默認(rèn)值對(duì)象的定義、使用和刪除。二、實(shí)驗(yàn)內(nèi)容和步驟對(duì)于CPXS數(shù)據(jù)庫(kù),完成如下操作:1、索引的創(chuàng)立和刪除1對(duì)CP表,在產(chǎn)品名稱上定義一個(gè)唯一非聚簇的索引ind_cp。2先創(chuàng)立各客戶購(gòu)置產(chǎn)品的情況VIEW1視圖,包括客戶編號(hào)、客戶名稱、產(chǎn)品編號(hào)、產(chǎn)品名稱、價(jià)格,購(gòu)置日期、購(gòu)置數(shù)量,然后在客戶編號(hào)+產(chǎn)品編號(hào)+購(gòu)置日期定義一個(gè)唯一聚簇索引ind_view1。請(qǐng)注意7個(gè)SET選項(xiàng)設(shè)置。2、索引的刪除刪除ind_view1索引。;3、默認(rèn)值約束的定義對(duì)庫(kù)存量字段添加默認(rèn)值為0的約束def_kcl
25、。4、默認(rèn)值約束的刪除刪除def_kcl默認(rèn)值約束。5、默認(rèn)值對(duì)象的定義、使用和刪除1定義一值為0的默認(rèn)值對(duì)象kcl_def,并將其綁定到CP表的庫(kù)存量字段;然后再刪除此默認(rèn)值對(duì)象,請(qǐng)表達(dá)該過(guò)程,并寫出相關(guān)SQL語(yǔ)句。2 用SQL命令定義一名為city的用戶自定義數(shù)據(jù)類型,要求char(6),NULL,再定義一值為“北京的默認(rèn)值對(duì)象city_def,然后將city_def默認(rèn)值對(duì)象綁定到city自定義數(shù)據(jù)類型,最后刪除city_def默認(rèn)值對(duì)象,請(qǐng)表達(dá)該過(guò)程,并寫出相關(guān)SQL語(yǔ)句。三、分析與答復(fù)(1) 說(shuō)明索引的概念和作用。(2) 說(shuō)明聚簇索引和非聚簇索引的含義和區(qū)別。實(shí)驗(yàn)十二 數(shù)據(jù)完整性的實(shí)
26、現(xiàn)一、實(shí)驗(yàn)?zāi)康呐c要求n 熟練掌握域完整性的實(shí)現(xiàn)。n 熟練掌握實(shí)體完整性的實(shí)現(xiàn)。n 熟練掌握參照完整性的實(shí)現(xiàn)。二、實(shí)驗(yàn)內(nèi)容和步驟對(duì)于CPXS數(shù)據(jù)庫(kù),刪除CP表、CPXSB表、XSS表上已有所有約束:1、實(shí)體完整性的實(shí)現(xiàn)1對(duì)CP表、CPXSB表、XSS表,定義主鍵約束用企業(yè)管理器和SQL語(yǔ)句分別實(shí)現(xiàn),寫出相應(yīng)過(guò)程和語(yǔ)句。2在CP表的產(chǎn)品名稱列定義一個(gè)唯一約束用企業(yè)管理器和SQL語(yǔ)句分別實(shí)現(xiàn),寫出相應(yīng)過(guò)程和語(yǔ)句。2、參照完整性的實(shí)現(xiàn)1利用企業(yè)管理器建立CP表與CPXSB之間的參照關(guān)系,當(dāng)對(duì)主表CP表進(jìn)行更新和刪除操作時(shí),從表CPXSB采用NO ACTION方式,寫出其過(guò)程。2利用SQL語(yǔ)句建立CPX
27、SB與XSS表之間的參照關(guān)系,當(dāng)對(duì)主表XSS表進(jìn)行更新和刪除操作時(shí),從表CPXSB采用CASCADE級(jí)聯(lián)方式,寫出其過(guò)程。3、域完整性的實(shí)現(xiàn)1在CP表的價(jià)格列上定義大于等于0的檢查CHECK約束。2定義一個(gè)大于等于0的規(guī)那么check_kcl,并將其綁定到CP表的庫(kù)存量列,然后解除綁定,刪除該規(guī)那么,請(qǐng)寫出相關(guān)SQL語(yǔ)句。4、綜合訓(xùn)練創(chuàng)立一個(gè)“學(xué)生檔案數(shù)據(jù)庫(kù),并用CREATE TABLE在該數(shù)據(jù)庫(kù)中創(chuàng)立“人事表和“成績(jī)兩個(gè)表,其中“人事表包括學(xué)號(hào)、姓名、性別、 號(hào)碼、家庭住址字段組成?!俺煽?jī)表包括學(xué)號(hào)、選修課程名稱、成績(jī)?nèi)齻€(gè)字段。分別在“人事表的學(xué)號(hào)字段設(shè)置主鍵約束,在“成績(jī)表的學(xué)號(hào)字段設(shè)置外
28、鍵約束,在成績(jī)字段設(shè)置大于等于0小于等于100的檢查約束,在家庭住址字段設(shè)置惟一約束,在性別字段設(shè)置默認(rèn)值為“男。三、分析與答復(fù)在SQL Server中討論參照完整性,請(qǐng)?bào)w會(huì)如下含義:l 插入從表中記錄時(shí):有限制和忽略兩種方式;l 刪除主表中的記錄時(shí):有限制、忽略和級(jí)聯(lián)三種方式;l 修改主表中的主鍵時(shí):有限制、忽略和級(jí)聯(lián)三種方式。試根據(jù)自身學(xué)習(xí),分別說(shuō)明其含義。實(shí)驗(yàn)十五 系統(tǒng)平安管理一、實(shí)驗(yàn)?zāi)康呐c要求n 理解SQL Server中的平安管理機(jī)制。n 理解帳戶、用戶、效勞器角色和數(shù)據(jù)庫(kù)角色的含義。n 熟練掌握Windows NT登錄帳戶和SQL Server登錄帳戶的建立與刪除。n 熟練掌握添加
29、與刪除效勞器角色成員。n 熟練掌握添加和刪除一個(gè)登錄帳戶為某個(gè)數(shù)據(jù)庫(kù)的用戶。n 熟練掌握添加和刪除數(shù)據(jù)庫(kù)角色。n 熟練掌握添加和刪除數(shù)據(jù)庫(kù)角色成員。n 熟練掌握用戶、角色的授權(quán)、收回權(quán)限和拒絕權(quán)限。二、實(shí)驗(yàn)內(nèi)容和步驟1、創(chuàng)立Windows NT登錄帳戶在SQL Server中添加一個(gè)帳戶名為“WANG的Windows NT登錄帳戶。2、創(chuàng)立SQL Server登錄帳戶在SQL Server中添加一個(gè)帳戶名為“LIU,密碼為“123456的SQL Server登錄帳戶。3、添加效勞器角色成員將“WANG這個(gè)Windows NT登錄帳戶添加到系統(tǒng)管理員效勞器角色中。4、添加一個(gè)登錄帳戶為某個(gè)數(shù)據(jù)庫(kù)
30、的用戶將“LIU 這個(gè)SQL Server登錄帳戶添加為CPXS數(shù)據(jù)庫(kù)中一個(gè)用戶,名稱也為“LIU。5、添加數(shù)據(jù)庫(kù)角色在CPXS數(shù)據(jù)庫(kù)中添加一個(gè)名為“ROLE的角色。6、添加數(shù)據(jù)庫(kù)角色成員將CPXS數(shù)據(jù)庫(kù)中名為“LIU這個(gè)用戶添加為“ROLE角色成員。7、用戶、角色的授權(quán) 授予“LIU用戶和“ROLE角色對(duì)CPXSB表的查詢權(quán)限和數(shù)量列的修改權(quán)限。8、收回用戶、角色的收回“LIU用戶的所有權(quán)限。并查看是否能翻開(kāi)CPXSB表。9、拒絕用戶、角色的權(quán)限 重新授予“LIU用戶對(duì)CPXSB表的查詢權(quán)限和數(shù)量列的修改權(quán)限。再拒絕該用戶的所有權(quán)限。并查看是否能翻開(kāi)CPXSB表,并通過(guò)此實(shí)例闡述收回權(quán)限與拒
31、絕權(quán)限的區(qū)別。實(shí)驗(yàn)3:create database CPXSon(name='CPXS_data', filename='D:dbfCPXS_data.mdf', size=5, maxsize=50, filegrowth=10%)log on(name='CPXS_log', filename='D:dbfCPXS_log.mdf', size=2, maxsize=10, filegrowth=2)alter database CPXSmodify file (name='CPXS_data',filegr
32、owth=5)create table CP( 產(chǎn)品編號(hào) char(6) primary key, 產(chǎn)品名稱 char(30) not null, 價(jià)格 float(8), 庫(kù)存量 int)create table XSS( 客戶編號(hào) char(6) primary key, 客戶名稱 char(30) not null, 地區(qū) char(10), 負(fù)責(zé)人 char(8), char(12) create table CPXSB( 產(chǎn)品編號(hào) char(6) foreign key references CP(產(chǎn)品編號(hào)), 客戶編號(hào) char(6) foreign key references
33、XSS(客戶編號(hào)), 銷售日期 datetime, 數(shù)量 int not null, 銷售額 float(4) not null, constraint PK_CPXSB primary key(產(chǎn)品編號(hào),客戶編號(hào),銷售日期)insert into CPvalues('200001','柜式空調(diào)',3000,200)insert into CPvalues('200002','微波爐',1000,100,NULL)insert into CPvalues('200003','抽油煙機(jī)',1200,5
34、0,NULL)alter table CPadd 產(chǎn)品簡(jiǎn)列 varchar(50)update CPdelete from CPwhere 價(jià)格*0.9<1500實(shí)驗(yàn)四:1.select 產(chǎn)品編號(hào),產(chǎn)品名稱,價(jià)格from CPselect 客戶編號(hào) as 'Customer id' ,客戶名稱 as 'Customer name'from XSSwhere 地區(qū)='南京' select 產(chǎn)品編號(hào),產(chǎn)品名稱,評(píng)價(jià)= case when 價(jià)格<1000 then '廉價(jià)產(chǎn)品' when 價(jià)格>=1000 and 價(jià)格
35、<2000 then '一般產(chǎn)品' when 價(jià)格>=2000 and 價(jià)格<3000 then '昂貴產(chǎn)品' else '很昂貴產(chǎn)品'endfrom CPselect 產(chǎn)品編號(hào),產(chǎn)品名稱,產(chǎn)品總值=價(jià)格*庫(kù)存量from CPselect 客戶編號(hào)from CPXSB group by 客戶編號(hào)having count(產(chǎn)品編號(hào))>=1 select *from CPwhere 價(jià)格>1000 and 價(jià)格<2000select *from CPwhere 產(chǎn)品名稱 like '冰箱_A'2.s
36、elect 總價(jià)格=sum(價(jià)格)from CPselect 產(chǎn)品編號(hào) ,sum(銷售額) 銷售額from CPXSBwhere 銷售日期='2004-3-18'group by 產(chǎn)品編號(hào)select 客戶編號(hào)from CPXSBgroup by 客戶編號(hào)having count(產(chǎn)品編號(hào))>=2實(shí)驗(yàn)五1.查詢?cè)?004年3月18日有銷售的產(chǎn)品名稱不允許重復(fù)。SQL標(biāo)準(zhǔn)語(yǔ)句:select distinct 產(chǎn)品名稱from CP,CPXSBwhere CP.產(chǎn)品編號(hào)=CPXSB.產(chǎn)品編號(hào) and 銷售日期='2004-3-18'T-SQL擴(kuò)展語(yǔ)句: sel
37、ect distinct 產(chǎn)品名稱from CP inner join CPXSBon CP.產(chǎn)品編號(hào)=CPXSB.產(chǎn)品編號(hào) and 銷售日期='2004-3-18'“家電市場(chǎng)的客戶在2004年3月18日購(gòu)置的產(chǎn)品名稱和數(shù)量。SQL標(biāo)準(zhǔn)語(yǔ)句:select 產(chǎn)品名稱,數(shù)量from CP,XSS,CPXSBand 銷售日期='2004-3-18' and 客戶名稱='家電市場(chǎng)'T-SQL擴(kuò)展語(yǔ)句:select 產(chǎn)品名稱,數(shù)量from CP inner join CPXSBon CP.產(chǎn)品編號(hào)=CPXSB.產(chǎn)品編號(hào) and 銷售日期='2004
38、-3-18'inner join XSSon XSS.客戶編號(hào)=CPXSB.客戶編號(hào) and 客戶名稱='家電市場(chǎng)'3.查找所有產(chǎn)品情況及銷售他們的銷售日期、購(gòu)置他們的客戶編號(hào)和數(shù)量,假設(shè)產(chǎn)品沒(méi)有銷售記錄,也要包括其情況。select CP.*,銷售日期, 客戶編號(hào),數(shù)量from CP left outer join CPXSB4.查找所有購(gòu)置情況,假設(shè)客戶沒(méi)有購(gòu)置產(chǎn)品,也要包括其情況。select XSS.*,產(chǎn)品編號(hào),銷售日期,數(shù)量,銷售額from CPXSB right join XSS實(shí)驗(yàn)六查詢?cè)?004年3月18日沒(méi)有銷售的產(chǎn)品名稱不允許重復(fù)。用IN子查詢:
39、select distinct 產(chǎn)品名稱 from CPwhere 產(chǎn)品編號(hào) not in(select 產(chǎn)品編號(hào) from CPXSBwhere 銷售日期='2004-3-18')用EXISTS子查詢:select distinct 產(chǎn)品名稱 from CPwhere not exists(select * from CPXSB)查詢名稱為“家電市場(chǎng)的客戶在2004年3月18日購(gòu)置的產(chǎn)品名稱和數(shù)量。用IN子查詢:select 產(chǎn)品名稱,數(shù)量from CP,CPXSBwhere 客戶編號(hào) in ( select 客戶編號(hào) from XSS where 客戶名稱='家電市
40、場(chǎng)' )用EXISTS子查詢:select 產(chǎn)品名稱,數(shù)量from CP,CPXSBwhere CP.產(chǎn)品編號(hào)=CPXSB.產(chǎn)品編號(hào) and 銷售日期='2004-3-18' and exists()查詢銷售量大于所有2004年3月18日銷售的各產(chǎn)品銷售數(shù)量的產(chǎn)品編號(hào)。用ALL謂詞:select 產(chǎn)品編號(hào) from CPXSBgroup by 產(chǎn)品編號(hào)having sum(數(shù)量)>all (select sum(數(shù)量) from CPXSB where 銷售日期='2004-3-18' group by 產(chǎn)品編號(hào) )查詢購(gòu)置了所有產(chǎn)品的客戶的名稱。
41、select 客戶名稱 from XSSwhere not exists( select * from CP where not exists ( select * from CPXSB ) )查詢購(gòu)置了客戶編號(hào)為“000001的客戶購(gòu)置的所有產(chǎn)品的客戶的名稱。select 客戶名稱 from XSSwhere not exists ( select * from CP where exists ( select * from CPXSB x where x.產(chǎn)品編號(hào)=CP.產(chǎn)品編號(hào) and x.客戶編號(hào)='000001' and not exists ( select * f
42、rom CPXSB y ) ) )and 客戶編號(hào) !='000001'實(shí)驗(yàn)七1啟動(dòng)企業(yè)管理器,在產(chǎn)品銷售數(shù)據(jù)庫(kù)CPXS中創(chuàng)立價(jià)格小于2000的產(chǎn)品視圖VIEW_CP_PRICE2000, 要求加密并保證對(duì)該視圖的更新都要符合價(jià)格小于2000這個(gè)條件, 寫出創(chuàng)立過(guò)程和對(duì)應(yīng)的T-SQL語(yǔ)句:create view VIEW_CP_PRICE2000with encryptionas select* from CPwhere 價(jià)格<2000with check option2翻開(kāi)查詢分析器,用T-SQL語(yǔ)句創(chuàng)立各客戶購(gòu)置產(chǎn)品的情況VIEW_GMQK視圖,包括客戶編號(hào)、 客戶名稱、產(chǎn)品編號(hào)、產(chǎn)品名稱、價(jià)格,購(gòu)置日期、購(gòu)置數(shù)量。create view VIEW_GMQKas select XSS.客戶編號(hào),客戶名稱,CP.產(chǎn)品編號(hào),產(chǎn)品名稱,價(jià)格,銷售日期 as '購(gòu)置日期',數(shù)量 as'購(gòu)置數(shù)量'from CP,XSS,CPXSB3創(chuàng)立分區(qū)視圖:在CPXS數(shù)據(jù)庫(kù)中創(chuàng)立CP1和CP2兩個(gè)表,CP1表中為編號(hào)小于等于100010 產(chǎn)品數(shù)據(jù),CP1表中為編號(hào)
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 深入解析文化產(chǎn)業(yè)管理考試試題及答案
- 設(shè)想公共衛(wèi)生執(zhí)業(yè)醫(yī)師考試試題及答案
- 設(shè)計(jì)思路2024西醫(yī)臨床試題及答案
- 重慶生物結(jié)業(yè)試題及答案
- 藥物研發(fā)的市場(chǎng)前景分析試題及答案
- 天然林保護(hù)修復(fù)新舉措
- 系統(tǒng)規(guī)劃與管理師考試知識(shí)點(diǎn)分解與整合試題及答案
- 計(jì)算機(jī)系統(tǒng)安全與維護(hù)試題及答案2025年計(jì)算機(jī)二級(jí)考試
- 高考 統(tǒng)一試題及答案
- 軟件工程常見(jiàn)問(wèn)題試題及答案
- 有機(jī)半導(dǎo)體完整版本
- 監(jiān)護(hù)人考試試題
- DL-T5153-2014火力發(fā)電廠廠用電設(shè)計(jì)技術(shù)規(guī)程
- 山東司法警官職業(yè)學(xué)院招聘筆試真題2021
- 2024年甘肅省蘭州市中考物理模擬試卷
- 2024年4月自考00155中級(jí)財(cái)務(wù)會(huì)計(jì)試題及答案
- JT-GQB-016-2000關(guān)于采用交通行業(yè)標(biāo)準(zhǔn)《公路橋涵標(biāo)準(zhǔn)圖》有關(guān)問(wèn)題的通知
- 家庭農(nóng)場(chǎng)經(jīng)營(yíng)與管理-家庭農(nóng)場(chǎng)產(chǎn)品營(yíng)銷
- 尋訪家鄉(xiāng)名人 主題課件 《綜合實(shí)踐活動(dòng)》七年級(jí)上冊(cè)
- 建筑結(jié)構(gòu)荷載規(guī)范DBJ-T 15-101-2022
- 普惠養(yǎng)老項(xiàng)目規(guī)劃方案
評(píng)論
0/150
提交評(píng)論