![數(shù)據(jù)庫系統(tǒng)概論實驗指導(dǎo)書_第1頁](http://file3.renrendoc.com/fileroot_temp3/2022-2/12/a801a89a-39bc-4c12-8be3-6ccab76d4bd5/a801a89a-39bc-4c12-8be3-6ccab76d4bd51.gif)
![數(shù)據(jù)庫系統(tǒng)概論實驗指導(dǎo)書_第2頁](http://file3.renrendoc.com/fileroot_temp3/2022-2/12/a801a89a-39bc-4c12-8be3-6ccab76d4bd5/a801a89a-39bc-4c12-8be3-6ccab76d4bd52.gif)
![數(shù)據(jù)庫系統(tǒng)概論實驗指導(dǎo)書_第3頁](http://file3.renrendoc.com/fileroot_temp3/2022-2/12/a801a89a-39bc-4c12-8be3-6ccab76d4bd5/a801a89a-39bc-4c12-8be3-6ccab76d4bd53.gif)
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、數(shù)據(jù)庫系統(tǒng)概論實驗指導(dǎo)書天津科技大學(xué)計算機科學(xué)與信息工程學(xué)院2014 年 09 月SQL Server 應(yīng)用技術(shù)實驗指導(dǎo) 3.實驗一 SQL SERVER 2008系統(tǒng)的安裝及配置 4.實驗二 熟悉 SQL SERVER 2008的開發(fā)環(huán)境及實現(xiàn)簡單的查詢 5實驗三 數(shù)據(jù)庫的定義 6.實驗四 數(shù)據(jù)完整性實驗 8.實驗五 數(shù)據(jù)更新實驗 1.0.實驗六 數(shù)據(jù)庫的連接和嵌套查詢實驗 1.12實驗七 數(shù)據(jù)安全性實驗 2.0. 4實驗八 視圖的建立和維護(hù) 2.46實驗九 T-SQL 編程 2.6. 7實驗十 T-SQL 語句的綜合應(yīng)用 2.78實驗十一 存儲過程 1.9.實驗十二 觸發(fā)器 2.0.實驗十
2、三 事務(wù)處理 2.1.實驗十四 檢測死鎖 2.3.實驗十五 實現(xiàn)數(shù)據(jù)轉(zhuǎn)換 2.4.實驗十六 數(shù)據(jù)庫備份和恢復(fù)實驗 2.6課程設(shè)計 2.7.SQL Server 應(yīng)用技術(shù)實驗指導(dǎo)(一)本課程的教學(xué)目的和要求:SQL語言是關(guān)系數(shù)據(jù)庫的標(biāo)準(zhǔn)語言,是本課程的一個重點。通過上機實驗, 可以使學(xué)生加深對課堂講授內(nèi)容的理解,循序漸進(jìn)地掌握SQL語言的使用;同時, 使學(xué)生了解和熟悉SQL SERVE開發(fā)的環(huán)境,逐步掌握編輯、調(diào)試、運行程序的 方法,初步積累編程經(jīng)驗。(二)實驗步驟: 1準(zhǔn)備好上機所需的程序。手編程序應(yīng)書寫整齊,并經(jīng)人工檢查無誤后才能上機,以提高上機效率。對程序中自己有疑問的地方,應(yīng)做出記號,以
3、便在上 機時給予注意。2上機輸入和調(diào)試自己所編的程序。一人一組,獨立上機,上機過程中出 現(xiàn)的問題,除了是系統(tǒng)的問題以外,一般應(yīng)自己獨立處理。3上機結(jié)束后,整理出實驗報告,實驗報告應(yīng)包括以下內(nèi)容:1)題目;2)程序清單(加注釋);3)運行結(jié)果;4)對運行情況所作的分析5)本次調(diào)試程序取得的經(jīng)驗。(三)教學(xué)重點與難點:1. 數(shù)據(jù)庫及表的建立與使用2. 簡單查詢3. 連接查詢4. 嵌套查詢5. 數(shù)據(jù)庫更新6. 視圖的定義和查詢7. 安全性控制8. 事務(wù)的建立和使用9. 存儲過程的使用10. 觸發(fā)器的使用11. 數(shù)據(jù)轉(zhuǎn)換實驗一 SQL Server 2008 系統(tǒng)的安裝及配置實驗?zāi)康暮鸵?:1. 熟
4、練掌握 SQL Server 2008 系統(tǒng)的安裝過程。2. 了解 SQL Server 2008 系統(tǒng)的相關(guān)服務(wù)及常用工具。 實驗類型:實際操作實驗內(nèi)容:1)安裝 SQL Server 2008 系統(tǒng)。2)啟動 MS SQL Server 服務(wù)。3)瀏覽 master 數(shù)據(jù)庫結(jié)構(gòu)。4)瀏覽tempdb數(shù)據(jù)庫結(jié)構(gòu)。5)練習(xí)使用 Microsoft SQL Server Manager Studio的使用。實驗報告:1. 實驗各項內(nèi)容實現(xiàn)的過程。2. 實驗結(jié)果分析。學(xué)時: 2 學(xué)時實驗二 熟悉 SQLSERVER2008 的開發(fā)環(huán)境及實現(xiàn)簡單的查詢實驗?zāi)康暮鸵螅?了解 SQL SERVER 2
5、008的 Microsoft SQL SERVER Management Studio , 熟悉各菜單的功能,掌握在該系統(tǒng)上編輯運行 SELECTS句的方法。2通過調(diào)試、運行簡單的查詢,初步了解 SQL查詢語言的特點。實驗類型: 驗證 實驗內(nèi)容:查看 SQLSERVER2008 的示例數(shù)據(jù)庫 master 中有哪些表,并用 select 語句 實現(xiàn)以下功能:1)從某個數(shù)據(jù)表中檢索所有數(shù)據(jù)2)從某個數(shù)據(jù)表中檢索特定列(如顯示 2 列、 3 列等部分列)的數(shù)據(jù)3)在 2 基礎(chǔ)上指定結(jié)果集必須滿足的條件(條件自己設(shè)定)4)在 3 基礎(chǔ)上指定結(jié)果集顯示的順序(先按照某屬性降序 , 再按照另一屬性 升序
6、排列)5)在 4 基礎(chǔ)上所生成的結(jié)果集中按照某屬性給數(shù)據(jù)分組(注意只能顯示分 組屬性和聚集函數(shù))實驗報告:1、實驗各項內(nèi)容實現(xiàn)的過程2、實驗結(jié)果分析。學(xué)時: 2學(xué)時實驗三 數(shù)據(jù)庫的定義實驗?zāi)康暮鸵螅赫莆帐褂?SQL語言及 Microsoft SQL SERVER Management Studio 中創(chuàng)建數(shù) 據(jù)庫、表、索引和修改表結(jié)構(gòu)。實驗內(nèi)容:1、創(chuàng)建數(shù)據(jù)庫和查看數(shù)據(jù)庫屬性。2、創(chuàng)建表、確定表的主碼和約束條件,為主碼創(chuàng)建索引。3、查看和修改表的結(jié)構(gòu)。實驗步驟1、用 Microsoft SQL SERVER Management Studio 創(chuàng)建一個指定多個數(shù)據(jù)文件和 日志文件的數(shù)據(jù)庫,該
7、數(shù)據(jù)庫名稱為 employees,要求:有1個10MB和1個20MB的數(shù)據(jù)文件和2個10MB的事務(wù)日志文件。數(shù)據(jù)文 件邏輯名稱為 employee1和employee2,物理文件名為employee1.mdf和employee2.mdf。主文件是employee1,由primary 指定,兩個數(shù)據(jù)文件的最大 尺寸分別為無限大和100MB增長速度分別為10唏口 1MB事務(wù)日志文件的邏輯 名為 employeelog1 和 employeelog2 ,物理文件名為 employeelog1.ldf 和 employeelog2.ldf ,最大尺寸均為50MB文件增長速度為1MB2、修改數(shù)據(jù)庫要求:
8、 添加一個包含兩 個數(shù)據(jù)文件的 文件組 和 一個事務(wù)日 志文件到 employees 數(shù)據(jù)庫中。3、創(chuàng)建表要求:創(chuàng)建一個雇員信息表,指定編號(number)為主碼,并且創(chuàng)建一個聚 簇索引。不完整SQL語句的程序清單如下:CREATE TABLE employee( number int NOT NULL ,name varchar(20) NOT NULL,sex char(2) NULL,birthday datetime NULL,hire_date datetime NOT NULL DEFAULT (getdate(),professional_title varchar(10) NU
9、LL,salary money NULL memo ntext NULL)提示:定義約束格式為constraint 約束名稱 約束類型 (列)如 constraint pk_id primary key clustered (id)4、查看表格:顯示當(dāng)前數(shù)據(jù)庫中所有對象的信息;5、刪除表:( 1)利用 Microsoft SQLSERVERManagementStudio 刪除表:在 Microsoft SQL SERVER Management Studio 中,展開指定的數(shù)據(jù)庫和表格項,用右鍵單擊要刪 除的表,從快捷菜單中選擇“除去表”選項, 則會出現(xiàn)除去對象對話框。 單擊“全 部刪除”按
10、鈕,即可刪除表。(2) 利用DROP TABLES句刪除表:DROP TABLES句可以刪除一個表和表中的 數(shù)據(jù)及其與表有關(guān)的所有索引、觸發(fā)器、約束、許可對象。DROP TABLE語句的語法形式如下:DROP TABLE table_name6、刪除數(shù)據(jù)庫 employees。實驗報告1、實驗各項內(nèi)容實現(xiàn)的過程2、實驗結(jié)果分析。學(xué)時: 2 學(xué)時實驗四 數(shù)據(jù)完整性實驗實驗?zāi)康暮鸵螅赫莆?SQL SERVER 200中8 實體、參照及用戶自定義完整性約束定義 實驗內(nèi)容:1. 創(chuàng)建、刪除約束(1) 在執(zhí)行創(chuàng)建產(chǎn)品信息表的操作時,指定產(chǎn)品編號為主鍵值,并且創(chuàng)建 一個聚簇索引。create table
11、 products ( id char (10) not null, name char ( 20) not null, price money default 0.01 , quantity smallint null, constraint pk_id primary key clustered ( id ) )(2) 創(chuàng)建一個學(xué)生信息表,其中輸入性別字段值時,只能接受“F”或者“ M,并且為phonenum字段創(chuàng)建檢查約束,限制只能輸入類似之類的數(shù)據(jù),而 不能隨意輸入其他數(shù)據(jù)。create table student ( id char (8), name char (8), sex c
12、har ( 2), phonenum int ,constraintchk_sex check ( sex in( F , M ),Constraintchk_phonenum check ( phonenum like(010)0-90-90-90-9 0-90-90-90-9 )(3) 刪除學(xué)生信息表中的約束 chk_phonenum。alter table studentdrop Constraint chk_phonenum2. 建立一個商店的數(shù)據(jù)庫store,記錄顧客及其購物情況,由下面三個表組 成:商品(商品號,商品名,單價,商品類別,供應(yīng)商) ; 顧客(顧客號,姓名,住址) ;購
13、買(顧客號,商品號,購買數(shù)量) ;試用 SQL 語言完成下列功能: 建表,在定義中要求聲明:(1) 每個表的主外碼;(2) 顧客的姓名和商品名不能為空值;(3) 單價必須大于 0;(4) 購買數(shù)量必須在 0到 20之間;第一步:新建數(shù)據(jù)庫 storeCREATE DATABASE storeON PRIMARY( NAME=store_data ,= e:store.mdf ,SIZE =55, MAXSIZE=120 , =10%)LOG ON( NAME=store_log ,=e:store.ldf ,SIZE =12,MAXSIZE =30 ,=3) 第二步,創(chuàng)建表 create ta
14、ble products ( pno char ( 10) primary key , pname char ( 20) not null, price decimal CHECK( price 0), type char (10), supplyname char ( 50) )create table customers ( cno char ( 10) primary key , cname char ( 20) not null, address char (100)create table buy (cno char ( 10),pno char ( 10),number small
15、int check ( number Between 0 and 20 ), primary key ( pno, cno ),( pno),( cno)foreignkey ( pno) referencesproductsforeignkey ( cno) referencescustomers)實驗報告:1、實驗各項內(nèi)容實現(xiàn)的過程。2、實驗結(jié)果分析。學(xué)時:2 學(xué)時實驗五 數(shù)據(jù)更新實驗實驗?zāi)康暮鸵螅赫莆沼肧QL語句實現(xiàn)數(shù)據(jù)的插入、修改和刪除。實驗內(nèi)容:在實驗四建立的商店數(shù)據(jù)庫store中用SQL語句實現(xiàn)下列操作:1.往表中插入數(shù)據(jù):商品(M01佳潔士,8.00,牙膏,寶潔;M02高露潔,
16、6.50,牙膏,高露潔;M03潔諾,5.00,牙膏,聯(lián)合利華;M04舒膚佳,3.00,香皂,寶潔;M05夏士蓮,5.00,香皂,聯(lián)合利華;M06雕牌,2.50,洗衣粉,納愛斯M07中華,3.50,牙膏,聯(lián)合利華;M08汰漬,M09碧浪,3.00,洗衣粉,4.00,洗衣粉,insertintoproductsvalues( M01insertintoproductsvalues( M02insertintoproductsvalues( M03insertintoproductsvalues( M04insertintoproductsvalues( M05insertintoproductsv
17、alues( M06insertintoproductsvalues( M07insertintoproductsvalues( M08insertintoproductsvalues( M09寶潔;寶潔;), 佳潔士 ,8.00 , 牙膏 , 寶潔 ), 高露潔 ,6.50 , 牙膏 , 高露潔 ), 潔諾 , 5.00 , 牙膏 , 聯(lián)合利華 ), 舒膚佳 ,3.00 , 香皂 , 寶潔 ), 夏士蓮 ,5.00 , 香皂 , 聯(lián)合利華 ) , 雕牌 , 2.50 , 洗衣粉 , 納愛斯 ) , 中華 , 3.50 , 牙膏 , 聯(lián)合利華 ) , 汰漬 , 3.00 , 洗衣粉 , 寶潔
18、), 碧浪 , 4.00 , 洗衣粉 , 寶潔 )顧客(C01, Dennis,海淀;C02, John,朝陽;C03, Tom 東城;C04, Jenny,東城;C05, Rick ,西城;)insertintocustomersvalues( C01, Dennis, 海淀 )insertintocustomersvalues( C02, John 朝陽 )insertintocustomersvalues( C03, Tom , 東城 )insertintocustomersvalues( C04, Jenny, 東城 )insertintocustomersvalues( C05, R
19、ick 西城 )購買 (C01 ,M01,3;C01,M05,2;C01,M08,2;C02,M02,5;C02,M06,4;C03,M05,1;C03,M08,1;C04,M04,3;C03,M01,1;C03,M06,3;C04,M03,7;C05,M06,2;C05,M07,8;)insertintoinsertintoinsertintoinsertintoinsertintoinsertintoinsertintoinsertintoinsertintoinsertintoinsertintoinsertintoinsertinto注:商品表數(shù)據(jù)( 9)buyvalues( C01,
20、 M01, 3)buyvalues( C01, M05, 2)buyvalues( C02, M02, 5)buyvalues( C03, M01, 1)buyvalues( C03, M06, 3)buyvalues( C04, M03, 7)buyvalues( C05, M06, 2)buyvalues( C01, M08, 2)buyvalues( C02, M06, 4)buyvalues( C03, M05, 1)buyvalues( C03, M08, 1)buyvalues( C04, M04, 3)buyvalues( C05, M07, 8), 顧客表數(shù)據(jù)( 5), 購買表
21、數(shù)據(jù)( 5)2. 完成下列查詢:(1)求購買了供應(yīng)商 寶潔 產(chǎn)品的所有顧客; use storeselectc. cno , amefromcustomersc, productsp, buy bwherep. pno =b.pno and o =b. cno and p. supplyname寶潔( 2)求購買的商品包括了顧客 Dennis 所購買商品的顧客(姓名) ; select distinct customers . cname from customers , buy , products where customers . cno =buy . cno and b
22、uy . pno =products .pno and products . pno in( select distinct products . pno from customers , buy , products where cname =Dennis and customers . cno =buy . cno and buy . pno =products . pno )(3) 求牙膏賣出數(shù)量最多的供應(yīng)商。select top 1 p. supplyname , SUM( b. number ) from buy b, products pwhere p. pno =b. pno a
23、nd p. type = 牙膏group by p. supplynameorder by SUM( b. number ) desc3. 將所有的牙膏商品單價增加 10%。牙膏update products set price =price *1.1 where type4. 刪除從未被購買的商品記錄。delete from productswhere pno not in( select pno from buy ) 實驗報告:1. 實驗各項內(nèi)容實現(xiàn)的過程。2. 實驗結(jié)果分析。學(xué)時:2 學(xué)時實驗六數(shù)據(jù)庫的連接和嵌套查詢實驗實驗?zāi)康暮鸵螅哼M(jìn)一步掌握SQL SERVE查詢分析器的使用方法,加
24、深 SQL語言的嵌套查詢 語句的理解。實驗內(nèi)容:1、在SQL SERVER 200任一示例數(shù)據(jù)庫中建立如下三個學(xué)生選課相關(guān)的表,并 輸入相應(yīng)的記錄行。學(xué)生表(s)snosn ameagesex98601李強20男98602劉麗21女98603張兵20男98604陳志堅22男98605李兵21女課程表(C)enoen ameteacherofficeC601高等數(shù)學(xué)周振興416C602數(shù)據(jù)結(jié)構(gòu)劉建平415C603操作系統(tǒng)劉建平415C604編譯原理王志偉415選課表(SC)snoenoscore98601C6019098601C6029098601C6038598601C60487986021C
25、6019098603C6017598603C6027098603C6045698604C6019098604C6048598605C6019598605C60380CREATE TABLE S(Sno CHAR; 6) PRIMARY KEY,Sname CHAR 20) UNIQUE, age SMALLINT,sexCHAR; 2);CREATE TABLE C(Cno CHAR; 4) PRIMARY KEY,Cname CHAR 40),teacherCHAR; 10),office char ( 10);CREATE TABLE SCscoreSMALLINT,PRIMARY KEY
26、(Sno, Cno),FOREIGN KEY(Sno)REFERENCES S( Sno),FOREIGN KEY(Cno)REFERENCES C( Cno);in sertintosvalues(98601,李強,20,男)in sertintosvalues(98602,劉麗,21 ,女)in sertintosvalues(98603,張兵,20,男)in sertintosvalues(98604,陳志堅,22,男)in sertintosvalues(98605,陳兵,21 ,女)in sertintoCvalues(C601,高等數(shù)學(xué),周振興,416in sertintocval
27、ues(C602,數(shù)據(jù)結(jié)構(gòu),劉建平,415in sertintocvalues(C603,操作系統(tǒng),劉建平,415in sertintocvalues(C604,編譯原理,王志偉,415in sertintosc;values(98601,C601, 90)in sertintosc;values(98601,C602, 90)in sertintosc;values(98601,C603, 85)in sertintosc;values(98601,C604, 87)(Sno CHAR 6),Cno CHAR; 4),)insertintoscvalues( 98602, C601, 90)
28、insertintoscvalues( 98603, C601, 75)insertintoscvalues( 98603, C602, 70)insertintoscvalues( 98603, C604, 56)insertintoscvalues( 98604, C601, 90)insertintoscvalues( 98604, C604, 85)insertintoscvalues( 98605, C601, 95)insertintoscvalues( 98605, C603, 80)2、用SQL完成下列查詢。(1) 檢索“周振興”老師所授課程的課程號 CNC和課程名 selec
29、t cno , cname from c where teacher = 周振興 (2) 檢索年齡大于21的男學(xué)生學(xué)號SNOW姓名SNAM。select sno, sname from s where age21 and sex( 3) 檢索至少選修“劉建平”老師所授全部課程的學(xué)生姓名/* 選修了劉建平老師所授課的學(xué)生姓名 sname*/select sname from swhere Sno in( select sc. sno from sc , cwhere o=o and C. teacher = 劉建平 )/* 選修了劉建平老師所有課程的學(xué)生姓名 sname*/SELECT snam
30、e FROMSWHERENOT EXISTS( SELECT * FROMCWHERE teacher = 劉建平 AND NOT EXISTS(SELECT * FROMSCWHERESC. sno =S. sno AND SC. cno =C.CNAMLE= 男SNAMJEcno)( 4) 檢索“劉麗”同學(xué)不學(xué)課程的課程號。select cnofrom Cwhere Cno not in(select cnofrom sc , swhere s.sno=sc.sno and s. sname = 劉麗 ) 或者SELECT cno FROMCWHERE NOT EXISTS( SELECT
31、 cno FROM SCWHERE cno =C. cno and sno in ( SELECT sno FROMSWHERE sname = 劉麗 )5) 檢索至少選修兩門課程的學(xué)生學(xué)號selectsno, count ( cno) from scgroupbysnohavingcount ( cno )= 2( 6)檢索全部學(xué)生都選修的課程的課程號和課程名selectcno, cnamefromcwherenotexists (select*from s where not exists ( select * from scwhere cno =c. cno and sno =s. sn
32、o )( 7) 檢索選修課程包含“王志偉”老師所授課程之一的學(xué)生學(xué)號。 select sno from s where not exists( select * from cwhere teacher = 王志偉 and not exists( select * from sc where sc. sno =s. sno and sc . cno=c. cno ) );或者SELECT sno FROMSWHEREsno IN( SELECT sno FROM SC WHEREcno IN( SELECT cno FROMCWHERE teacher = 王志偉 )(8)檢索選修課程號為C60
33、1和C603的學(xué)生學(xué)號。SELECT Sno FROM SCWHERECno=C601 INTERSECT SELECT SnoFROM SCWHERE Cno =C603 ;或者SELECT SC2. sno FROM SC SC1JOIN SC SC2 ON SC1. sno =SC2. snoWHERE SC1. cno =C601 and SC2. cno =C603( 9) 檢索選修全部課程的學(xué)生姓名SELECT Sname FROMSWHERE NOT EXISTS(SELECT * FROMCWHERENOT EXISTS( SELECT * FROM SC WHERE Sno
34、= S. Sno AND Cno=C. Cno)(10)檢索選修課程包含學(xué)號為 98603 的學(xué)生所修課程的學(xué)生學(xué)號 SELECT sno FROMSWHEREsno IN( SELECT sno FROM SCWHEREcno IN( SELECT cno FROM SCWHEREsno =98603 )AND sno!= 98603或者SELECT DISTINCT sno FROM SCWHEREcno IN( SELECT cno FROM SCWHEREsno =98603 )AND sno!= 98603(11)檢索選修課程名為“操作系統(tǒng)”的學(xué)生學(xué)號和姓名。selects. sno
35、 , s. snamefroms, c,scwhere( ame = 操作系統(tǒng) and sc. cno =c. cno and sc . sno =s. sno )或selectsno , sname from swheresnoin( select sno from scwhere cno =( select cno from c where cname = 操作系統(tǒng) ) 或者SELECT S. sno , sname FROMSJOIN SC ON S. sno =SC. snoJOIN C ON C. cno =SC. cnoWHERE cname = 操作系統(tǒng) 實驗報告:1.
36、實驗各項內(nèi)容實現(xiàn)的過程。2. 實驗結(jié)果分析。學(xué)時: 2 學(xué)時實驗七數(shù)據(jù)安全性實驗實驗?zāi)康暮鸵螅篠QL SERVE中有關(guān)用戶、角色及操作權(quán)限加深對數(shù)據(jù)安全性的理解,掌握 的管理方法。實驗內(nèi)容:1. 建立教學(xué)數(shù)據(jù)庫teaching2. 建立教學(xué)數(shù)據(jù)庫的三個基本表:S (S#, SNAME, AGE, SEX)SC (S#, C#, GRADE )C (C#, CNAME, TEACHER)學(xué)生(學(xué)號,姓名,年齡,性別) 選修(學(xué)號,課程號,成績) 課程(課程號,課程名,任課教師)CREATE TABLE S(S CHAR; 6) PRIMARY KEY,Sname CHAR 20) UNIQUE
37、,age SMALLINT,sex CHAR 2);CREATE TABLE C(C CHAR(4) PRIMARY KEY,Cname CHAR 40),teacherCHAR 10);CREATE TABLE SC(S CHAR 6),C CHAR(4),grade SMALLINT,PRIMARY KEY ( S, C),FOREIGN KEY ( S) REFERENCES S( S),FOREIGN KEY ( C) REFERENCES C( C);3輸入數(shù)據(jù)基本表S的數(shù)據(jù)51 WANG 20 M52 LIU 19 M53 CHEN 22 M54 WU 19 M55 LOU 21
38、FS8 DONG 18 F基本表C的數(shù)據(jù)C2 MATHS MAC4 PHYSICS SHIC3 CHEMISTRY ZHOUC1 DBLIC5 OSWEN基本表SC的數(shù)據(jù)(空格為未修課)芒# C# S1S2S3S4S5S6C1808590757090C270Null8560NullC38595Null8090C490Null70C57065Nullin sertintoSvalues(S1,WANG , 20, M)in sertintoSvalues(S2,LIU , 19, M)in sertintoSvalues(S3,CHEN , 22, M)in sertintoSvalues(S4
39、,WU , 19, M)in sertintoSvalues(S5,LOU , 21, F)in sertintoSvalues(S8,DONG , 18, F)in sertintoC values(C2,MATHS , MA)in sertintoC values(C4,PHYSICS , SHI)in sertintoC values(C3,CHEMISTRY , ZHOUin sertintoC values(C1,DB , LI)in sertintoC values(C5,OS , WEN)in sertintoSC values(s1,c1, 80)in sertintoSC v
40、alues(s1,c2, 70)in sertintoSC values(s1,c3, 85)in sertintoSC values(s1,c4, 90)in sertintoSC values(s1,c5, 70)in sertintoSC values(s2,c1, 85)in sertintoSC values(s2,c2 ,null)insertintoSC values( s2, c4,null)insertintoSCvalues( s3, c1, 90)insertintoSCvalues( s3, c2, 85)insertintoSCvalues( s3, c3, 95)i
41、nsertintoSCvalues( s4, c1, 75)insertintoSCvalues( s4, c3,null)insertintoSCvalues( s4, c4, 70)insertintoSCvalues( s5, c1, 70)insertintoSCvalues( s5, c2, 60)insertintoSCvalues( s5, c3, 80)insertintoSCvalues( s5, c5, 65)insertintoSCvalues( s6, c1, 90)insertintoSCvalues( s6, c2,null)insertintoSCvalues(
42、s6, c3, 90)insertintoSCvalues( s6, c5,null)4. 數(shù)據(jù)修改、刪除1) 把C2課程的非空成績提高10%。update sc set grade =grade *1.1 where C=c22) 在SC表中刪除課程名為PHYSICS勺成績的元組。delete sc where C=( select C from c where cname=PHYSICS )3) 在S和SC表中刪除學(xué)號為S8的所有數(shù)據(jù)。方法一: delect s where s=s8 cascade5. 計算每個學(xué)生有成績的課程門數(shù)、平均成績。select s,AVG ( grade ),
43、 COUNT(*) from sc where grade 0 group by sselect s, AVG( grade ), COUNT(*) from sc where not grade is null group by s6. 創(chuàng)建一個登錄用戶(1)打開 Microsoft SQL SERVER Management Studio 中的安全性文件夾,右 擊其中的登錄文件夾,在彈出的菜單中選擇“新建登錄”選項后,就會出現(xiàn) 一個登錄屬性對話框,在常規(guī)選項卡中輸入用戶名( login1 ),選擇該用戶 的安全認(rèn)證模式,選擇默認(rèn)數(shù)據(jù)庫和默認(rèn)語言。如使用SQL SERVE安全認(rèn)證模式, 可以
44、直接在名稱欄中輸入新登錄名, 并在下面的欄目中輸入登錄密 碼。( 2)選擇數(shù)據(jù)庫訪問選項卡,確定用戶能訪問的數(shù)據(jù)庫為教學(xué)數(shù)據(jù)庫 teaching ,操作完成后,單擊“確定”按鈕,完成創(chuàng)建登錄用戶的工作。7. 創(chuàng)建新的數(shù)據(jù)庫用戶在 Microsoft SQL SERVER Management Studio 中擴展 SQL服務(wù)器及數(shù)據(jù)庫文 件夾。右擊用戶文件夾,彈出的菜單中選擇“新建數(shù)據(jù)庫用戶”項,會出現(xiàn)新 建數(shù)據(jù)庫用戶屬性對話框。在對話框的登錄名欄中選擇一個SQL服務(wù)器登錄用 戶名(login1),并在它下面的用戶名欄中輸入數(shù)據(jù)庫用戶名 u2,單擊“確定” 按鈕完成。8. 使用GRAN語句,把
45、對基本表S SC C的使用權(quán)限授給用戶u2。并用REVOKE 語句回收權(quán)限。實驗報告1 、實驗各項內(nèi)容實現(xiàn)的過程。2 、實驗結(jié)果分析。學(xué)時: 2學(xué)時實驗八 視圖的建立和維護(hù)實驗?zāi)康暮鸵螅?創(chuàng)建表的視圖,修改和刪除表的視圖,并利用視圖完成表的查詢。實驗類型:設(shè)計 驗證 實驗內(nèi)容:在實驗七的教學(xué)數(shù)據(jù)庫中,對三個基表S、C、SC進(jìn)行如下操作:1) 建立男學(xué)生的視圖 schoolboy ,屬性包括學(xué)號、姓名和年齡。use teachinggocreate view schoolboyasselect S , SNAME, AGEfrom Swhere sex= M2) 在視圖 schoolboy 中
46、查詢年齡為 19 的學(xué)生學(xué)號與姓名。select S , SNAME from schoolboy where age 193) 將學(xué)號為S2的年齡改為21。update schoolboy set age=21 where s=s24) 向男學(xué)生視圖schoolboy中插入一個新的男生記錄,其中學(xué)號為S6,姓名 為MING年齡為20。insert into schoolboy ( S, SNAME, AGE) values ( S6 , MING , 20)/ 這時發(fā)現(xiàn) S 表中增加的 S6 學(xué)生性別為空 有些同學(xué)可能想建立視圖時加 with check option use teachin
47、ggocreate view schoolboyasselect S , SNAME, AGEfrom Swhere SEX =Mwith check option但是再執(zhí)行 insert into schoolboy ( S, SNAME, AGE) values ( S6 , MING , 20) 時報錯此時主要原因是對書中理解有誤,解決辦法是:use teachinggocreate view schoolboyasselect * from Swhere SEX =Mwith checkoption然后再執(zhí)行insert intoschoolboy ( S, SNAME, AGE)va
48、lues( S6 , MING, 20)時仍然報錯此時需加上insert intoschoolboy( S, SNAME, AGE,SEX ) values( S6, MING , 20,M)就OK了但是執(zhí)行insert intoschoolboy( S, SNAME, AGE,SEX ) values( S6, MING , 20,F)會報錯(原因是 with check option 檢查到性別不是 M)5)刪除視圖 schoolboy 中學(xué)號為 S3 的記錄。DELETE FROM schoolboy WHERE S= S3;6)建立女學(xué)生的視圖,屬性包括學(xué)號、姓名、選修課程名和成績cr
49、eateview stu1asselects. S, s. Sname, c. Cname, sc.gradefroms, C, SCwhereSC. C =C. C and SC. S =s. Sand s. sex =F7)在女學(xué)生視圖中查詢平均成績大于80分的學(xué)生學(xué)號與姓名。selects, sname from stu1groupby s, snamehavingAVG( grade ) 808)刪除女學(xué)生視圖。dropview stu1實驗報告1、實驗各項內(nèi)容實現(xiàn)的過程。2、實驗結(jié)果分析。學(xué)時: 2 學(xué)時實驗九 T-SQL 編程實驗?zāi)康暮鸵螅篒F、WHILE CASE邏輯控制語句掌握變量的定義及賦值、數(shù)據(jù)顯示及實驗類型:設(shè)計 驗證 實驗內(nèi)容:創(chuàng)建學(xué)員成績數(shù)據(jù)庫 stu 。1、學(xué)員信息表如下:試編寫SQL語句查找李文才的左右同桌2、學(xué) 員成績表如下:統(tǒng)計并顯示本班筆試平均分,如果平均分在 70 以上,顯示“成績優(yōu)秀“,并顯 示前三名學(xué)員的考試信息;如果在 70 以下,顯示“本班成績較差“,
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年度物資訂購策劃管理協(xié)議
- 2025年企業(yè)員工購物券福利采購合同范本
- 魚塘綜合利用承包經(jīng)營合同2025
- 2025年度企業(yè)職業(yè)素養(yǎng)提升策略協(xié)議
- 2025年寫字樓租賃權(quán)益協(xié)議
- 2025年企業(yè)郵箱租賃合同樣本
- 2025年中期企業(yè)合作口頭借款協(xié)議書
- 2025年股權(quán)投資與合作策劃協(xié)議樣本
- 2025年雙邊商業(yè)合作協(xié)議
- 2025年兄弟共有財產(chǎn)分配轉(zhuǎn)讓協(xié)議書
- 中國銀行(香港)有限公司招聘筆試真題2023
- 15萬噸水廠安裝工程施工組織設(shè)計方案
- 超級蘆竹種植項目可行性研究報告-具有高經(jīng)濟價值和廣泛應(yīng)用前景
- 自動體外除顫器項目創(chuàng)業(yè)計劃書
- 養(yǎng)老機構(gòu)績效考核及獎勵制度
- 2024年越南煤礦設(shè)備再制造行業(yè)現(xiàn)狀及前景分析2024-2030
- 長塘水庫工程環(huán)評報告書
- 病案管理質(zhì)量控制指標(biāo)檢查要點
- DL-T5001-2014火力發(fā)電廠工程測量技術(shù)規(guī)程
- 平行四邊形的判定(27張)-完整課件
- 居民住宅小區(qū)電力配置規(guī)范
評論
0/150
提交評論