【正文】
d having (sum(qty)30) select ,sum()* totalmoeny from sales,titles where between 39。1994/1/139。 and 39。1994/10/3139。 group by , having(=)。 select , from titles,publishers where = select , from titles a,stores b,sales c where = and =。 select distinct (), from titleauthor a,titleauthor b where =。 select title,sum(qty) qyt from sales,titles where = group by title。 select , from titles,sales where =。 select * from titles,sales where =。函數(shù)(1)’自定義函數(shù)create function sage_func (@vardate Datetime,@curdate Datetime)returns Tinyint as beginreturn datediff(yy,@vardate,@curdate)end。檢索信息select SNO as 學(xué)號(hào),SName AS 姓名,(Brithday,getdate()) as 年齡 from Student(2)定義一個(gè)函數(shù)create function grade_func (@Scorce INT) returns tinyint as begin return @Scorce/20 end 檢索信息select SName AS 姓名,(Scorce) as 五級(jí)分制from Grade,Student where =流程控制(1)if exists (select * from Student where SNO =39。1992010139。)begin select * from Student where SNO =39。1992010139。 END else begin insert into Student Values (39。1992010139。,39。王軍39。,39。男39。,39。CS0139。,39。下關(guān)39。,39。19761221 00:00:0039。,1,82,10)enddelete from Student where SNO=39。1992010139。(2)declare @sum int,@start intset @start=1 set @sum=0 begin while (@start101)begin set @sum=@sum+@start set @start=@start+1 endprint @sum end六、實(shí)驗(yàn)體會(huì)和收獲通過(guò)本子實(shí)驗(yàn),我學(xué)會(huì)了一些sql的查詢語(yǔ)句,首先我學(xué)習(xí)了一些的簡(jiǎn)單查詢語(yǔ)句,然后我學(xué)會(huì)了如何生成匯總數(shù)據(jù)和連接查詢,這些查詢的難度比之前略微加大,最后,我自學(xué)了子查詢和函數(shù)的定義,這對(duì)以后的學(xué)習(xí)幫助很大,畢竟增刪改查是數(shù)據(jù)庫(kù)最重要的部分,假如能熟練掌握這些查詢語(yǔ)句,在今后的畢業(yè)設(shè)計(jì)和工作中都能獲益匪淺。函數(shù)和流程控制也是數(shù)據(jù)庫(kù)非常關(guān)鍵的一部分,他對(duì)以后的畢業(yè)設(shè)計(jì)和其它的項(xiàng)目設(shè)計(jì)起到了中流砥柱的作用,學(xué)好了對(duì)以后的生活幫助很大。實(shí)驗(yàn)項(xiàng)目名稱: 存儲(chǔ)過(guò)程和觸發(fā)器 實(shí)驗(yàn)學(xué)時(shí): 2 同組學(xué)生姓名: 實(shí)驗(yàn)地點(diǎn): 實(shí)驗(yàn)日期: 實(shí)驗(yàn)成績(jī): 批改教師: 批改時(shí)間: 一、實(shí)驗(yàn)?zāi)康暮鸵笸ㄟ^(guò)對(duì)常用系統(tǒng)存儲(chǔ)過(guò)程的使用,了解存儲(chǔ)過(guò)程的類型;通過(guò)創(chuàng)建和執(zhí)行存儲(chǔ)過(guò)程,了解存儲(chǔ)過(guò)程的基本概念,掌握使用存儲(chǔ)過(guò)程的操作技巧和方法;通過(guò)對(duì)已創(chuàng)建的存儲(chǔ)過(guò)程的改變,掌握修改、刪除存儲(chǔ)過(guò)程的技巧;了解觸發(fā)器的基本概念,理解觸發(fā)器的功能;掌握創(chuàng)建、修改和刪除和使用觸發(fā)器的操作方法。二、實(shí)驗(yàn)設(shè)備、環(huán)境設(shè)備:奔騰Ⅳ或奔騰Ⅳ以上計(jì)算機(jī);環(huán)境:WINDOWS 2000 SERVER或WINDOWS 2003 SERVER、SQL Server 2005中文版。三、實(shí)驗(yàn)步驟根據(jù)題目要求熟悉SQL Server 2005的各種管理工具;分析題意,重點(diǎn)分析題目要求并給出解決方法;按題目要求完成實(shí)際操作任務(wù),并將相關(guān)文檔資料保存在以自己學(xué)號(hào)命名的文件夾中;提交完成的實(shí)驗(yàn)結(jié)果。四、實(shí)驗(yàn)內(nèi)容一、存儲(chǔ)過(guò)程的類型。使用sp_helptext查看byroyalty存儲(chǔ)過(guò)程的文本,該存儲(chǔ)過(guò)程在數(shù)據(jù)庫(kù)pubs中。二、創(chuàng)建與執(zhí)行存儲(chǔ)過(guò)程在MyDB中創(chuàng)建存儲(chǔ)過(guò)程proc_1,要求實(shí)現(xiàn)如下功能:產(chǎn)生學(xué)分為4的課程學(xué)生選課情況列表,其中包括課程號(hào)、課程名、學(xué)分、學(xué)號(hào)、姓名、專業(yè)、性別等。并調(diào)用此存儲(chǔ)過(guò)程,顯示執(zhí)行結(jié)果。在MyDB中創(chuàng)建存儲(chǔ)過(guò)程proc_2,要求實(shí)現(xiàn)如下功能:輸入專業(yè)名稱,產(chǎn)生該專業(yè)學(xué)生的選課情況列表,其中包括專業(yè)、學(xué)號(hào)、姓名、課程號(hào)、課程名、成績(jī)、學(xué)分等。并調(diào)用此存儲(chǔ)過(guò)程,顯示“計(jì)算機(jī)應(yīng)用”專業(yè)學(xué)生的選課情況列表。在MyDB中創(chuàng)建存儲(chǔ)過(guò)程proc_3,要求實(shí)現(xiàn)如下功能:輸入學(xué)生學(xué)號(hào),根據(jù)該學(xué)生所選課程的總學(xué)分顯示提示信息,如果總學(xué)分9,則顯示“此學(xué)生學(xué)分不足!”,否則顯示“此學(xué)生學(xué)分已足!”,并調(diào)用此存儲(chǔ)過(guò)程,顯示“19920102”學(xué)生的總學(xué)分情況。三、修改存儲(chǔ)過(guò)程對(duì)MyDB中已創(chuàng)建的存儲(chǔ)過(guò)程proc_1進(jìn)行修改,要求在顯示列表中增加班級(jí)字段,即產(chǎn)生學(xué)分為“4”的課程學(xué)生選課情況列表,其中包括課程號(hào)、課程名、學(xué)分、學(xué)號(hào)、姓名、專業(yè)、班級(jí)、性別等。在MyDB中創(chuàng)建的存儲(chǔ)過(guò)程proc_2進(jìn)行修改,要求實(shí)現(xiàn)如下功能:輸入專業(yè)名稱,產(chǎn)生該專業(yè)所有男生的選課情況列表,其中包括專業(yè)、學(xué)號(hào)、姓名、課程號(hào)、課程名、成績(jī)、學(xué)分等。并調(diào)用修改后的存儲(chǔ)過(guò)程,顯示“計(jì)算機(jī)應(yīng)用”專業(yè)男生的選課情況列表。對(duì)MyDB中已創(chuàng)建的存儲(chǔ)過(guò)程proc_3進(jìn)行修改,要求實(shí)現(xiàn)如下功能:輸入學(xué)生學(xué)號(hào),根據(jù)該學(xué)生所選課程的總學(xué)分顯示提示信息,如果總學(xué)分9,則顯示“此學(xué)生所選總學(xué)分為XXX,學(xué)分不足!”,否則顯示“此學(xué)生所選總學(xué)分為XXX,學(xué)分已足!”。并調(diào)用修改后的存儲(chǔ)過(guò)程,顯示“19920102”學(xué)生的總學(xué)分情況。四、刪除存儲(chǔ)過(guò)程:刪除MyDB中的存儲(chǔ)過(guò)程proc_1。五、創(chuàng)建觸發(fā)器創(chuàng)建觸發(fā)器trigger_1,實(shí)現(xiàn)當(dāng)修改學(xué)生表(Student)中的數(shù)據(jù)時(shí),顯示提示信息“學(xué)生情況表被修改了”。在MyDB中創(chuàng)建觸發(fā)器trigger_2,實(shí)現(xiàn)如下功能:當(dāng)在學(xué)生成績(jī)表(Grade)中刪除一條學(xué)生選課信息后,自動(dòng)實(shí)現(xiàn)更新該學(xué)生在學(xué)生情況表(Student)中的總學(xué)分信息。創(chuàng)建觸發(fā)器trigger_3,實(shí)現(xiàn)當(dāng)修改學(xué)生情況表(Student)中的某個(gè)學(xué)生的學(xué)號(hào)時(shí),對(duì)應(yīng)學(xué)生成績(jī)表(Grade)中的學(xué)號(hào)也作修改。六、修改觸發(fā)器對(duì)已創(chuàng)建的觸發(fā)器trigger_1進(jìn)行修改,實(shí)現(xiàn)當(dāng)修改學(xué)生情況表(Student)中的數(shù)據(jù)時(shí),顯示提示信息“學(xué)生情況表中XXX號(hào)學(xué)生記錄被修改了”。七、刪除觸發(fā)器刪除學(xué)生情況表上的觸發(fā)器trigger_1。五、問(wèn)題解答及實(shí)驗(yàn)結(jié)果 pubsexec sp_helptext byroyalty2. use MyDBcreate procedure proc_1 as select ,, from Course,Class Student,Grade where =39。439。 and = and =。exec proc_1。3. create procedure proc_2 @Specialty Varchar(16) as select ,, from Course ,Class,Student,Grade Where =@Specialty and = and = and =exec proc_2 @Specialty=39。計(jì)算機(jī)應(yīng)用39。六、實(shí)驗(yàn)體會(huì)和收獲實(shí)驗(yàn)項(xiàng)目名稱:數(shù)據(jù)庫(kù)備份、恢復(fù)、安全管理 實(shí)驗(yàn)學(xué)時(shí): 2 同組學(xué)生姓名: 實(shí)驗(yàn)地點(diǎn): 實(shí)驗(yàn)日期: 實(shí)驗(yàn)成績(jī): 批改教師: 批改時(shí)間: 一、實(shí)驗(yàn)?zāi)康暮鸵罅私釹QL Server2005的數(shù)據(jù)備份機(jī)制,理解數(shù)據(jù)庫(kù)備份的意義、數(shù)據(jù)庫(kù)邏輯備份與物理備份的區(qū)別;掌握磁盤備份設(shè)備的創(chuàng)建和管理,掌握各種備份數(shù)據(jù)庫(kù)的方法,了解怎樣制訂備份計(jì)劃;了解SQL Server 2005的數(shù)據(jù)恢復(fù)機(jī)制,掌握數(shù)據(jù)庫(kù)恢復(fù)的方法;了解SQL SERVER 2005的身份驗(yàn)證模式,并學(xué)會(huì)如何改變身份驗(yàn)證模式;理解數(shù)據(jù)庫(kù)用戶賬號(hào)的基本概念,掌握管理數(shù)據(jù)庫(kù)用戶賬號(hào)技術(shù);掌握刪除登錄賬號(hào)和用戶賬號(hào)技術(shù);理解角色的概念,掌握管理角色技術(shù)。二、實(shí)驗(yàn)設(shè)備、環(huán)境設(shè)備:奔騰Ⅳ或奔騰Ⅳ以上計(jì)算機(jī);環(huán)境:WINDOWS 2000 SERVER或WINDOWS 2003 SERVER、SQL Server 2005中文版。三、實(shí)驗(yàn)步驟根據(jù)題目要求熟悉SQL Server 2005的各種管理工具;分析題意,重點(diǎn)分析題目要求并給出解決方法;按題目要求完成實(shí)際操作任務(wù),并將相關(guān)文檔資料保存在以自己學(xué)號(hào)命名的文件夾中;提交完成的實(shí)驗(yàn)結(jié)果。四、實(shí)驗(yàn)內(nèi)容定義備份設(shè)備根據(jù)實(shí)際情況,創(chuàng)建一個(gè)備份設(shè)備,其邏輯設(shè)備名為:Student_back,物理設(shè)備名為:F:\\\DBbackup。(注:要事先在F盤上建立文件夾‘F:\\\’,即:‘F:\班級(jí)\學(xué)號(hào)\’)備份數(shù)據(jù)庫(kù)(1)為Stuscore數(shù)據(jù)庫(kù)創(chuàng)建完全數(shù)據(jù)庫(kù)備份;(2)在Stuscore數(shù)據(jù)庫(kù)中插入兩張表:newnew2,使Stuscore數(shù)據(jù)庫(kù)完全備份后發(fā)生了一些變化,然后分別在SQL Server Management Studio和查詢分析器窗口中先后進(jìn)行差異備份;(3)使用同樣的方法使數(shù)據(jù)庫(kù)有些變化,即在Stuscore數(shù)據(jù)庫(kù)中插入兩張表:newnew4,然后分別在SQL Server Management Studio和查詢分析器窗口中為該數(shù)據(jù)庫(kù)先后進(jìn)行兩次日志備份。恢復(fù)數(shù)據(jù)庫(kù) 在前面已經(jīng)為Stuscore數(shù)據(jù)庫(kù)建立了1次完全備份,2次差異備份和2次日志備份,現(xiàn)在要求刪除Stuscore數(shù)據(jù)庫(kù),然后再將其恢復(fù)。安全認(rèn)證模式(1)使用SQL Server2005直接創(chuàng)建一個(gè)SQL Server登錄帳號(hào)aa,賦予其系統(tǒng)管理員角色。(2)先在服務(wù)器上創(chuàng)建一個(gè)Windows用戶bb,,然后使用創(chuàng)建登錄向?qū)?,將該用戶賦予數(shù)據(jù)庫(kù)Pubs數(shù)據(jù)庫(kù)db_owener訪問(wèn)權(quán)限。(3)分別在Management Studio的安全性項(xiàng)的登錄帳號(hào)子項(xiàng)和Pubs數(shù)據(jù)庫(kù)的用戶子項(xiàng)中查看剛才所創(chuàng)建的登錄帳號(hào)aa和bb。管理數(shù)據(jù)庫(kù)用戶賬號(hào)(1)使用SQL Server Management Studio為登錄帳號(hào)loginT創(chuàng)建一個(gè)數(shù)據(jù)庫(kù)Norhwind用戶帳號(hào)userT,并賦予db_owner數(shù)據(jù)庫(kù)角色。(2)利用系統(tǒng)存儲(chǔ)過(guò)程,創(chuàng)建數(shù)據(jù)庫(kù)Norhwind的用戶帳號(hào)userC,其所對(duì)應(yīng)的登錄帳號(hào)為loginC。刪除登陸賬號(hào)和用戶賬號(hào)。(1)直接在Management Studio中刪除Northwind數(shù)據(jù)庫(kù)的userT用戶帳號(hào),然后刪除userT所對(duì)應(yīng)的登錄帳號(hào)loginT。(2)利用系統(tǒng)存儲(chǔ)過(guò)程sp_revokelogin刪除Northwind數(shù)據(jù)庫(kù)的userC用戶帳號(hào),使用腳本:Use NorthwindGoSp_revokedbaccess ‘userC’GO角色(1)利用系統(tǒng)存儲(chǔ)過(guò)程為數(shù)據(jù)庫(kù)Northwind創(chuàng)建一個(gè)數(shù)據(jù)庫(kù)角色myrole,并創(chuàng)建一個(gè)數(shù)據(jù)庫(kù)用戶myuser,使其屬于角色myrole。(2)分別利用系統(tǒng)存儲(chǔ)過(guò)程sp_helplogins,sp_helpuser,sp_helprole查看相關(guān)信息。(3)將數(shù)據(jù)庫(kù)用戶myuser添加為數(shù)據(jù)庫(kù)Northwind的db_owner角色。五、問(wèn)題解答及實(shí)驗(yàn)結(jié)果