實(shí)驗(yàn)一SQLServer數(shù)據(jù)庫(kù)的安裝和創(chuàng)建數(shù)據(jù)庫(kù)_第1頁(yè)
實(shí)驗(yàn)一SQLServer數(shù)據(jù)庫(kù)的安裝和創(chuàng)建數(shù)據(jù)庫(kù)_第2頁(yè)
實(shí)驗(yàn)一SQLServer數(shù)據(jù)庫(kù)的安裝和創(chuàng)建數(shù)據(jù)庫(kù)_第3頁(yè)
實(shí)驗(yàn)一SQLServer數(shù)據(jù)庫(kù)的安裝和創(chuàng)建數(shù)據(jù)庫(kù)_第4頁(yè)
實(shí)驗(yàn)一SQLServer數(shù)據(jù)庫(kù)的安裝和創(chuàng)建數(shù)據(jù)庫(kù)_第5頁(yè)
已閱讀5頁(yè),還剩13頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、實(shí)驗(yàn)一 : SQL Server 數(shù)據(jù)庫(kù)的安裝和創(chuàng)建數(shù)據(jù)庫(kù)一、實(shí)驗(yàn)?zāi)康模菏煜QL Server 2000的安裝過(guò)程及運(yùn)行環(huán)境,掌握企業(yè)管理器的使用二、實(shí)驗(yàn)內(nèi)容:在服務(wù)器的操作系統(tǒng)下安裝SQL Server 2000版本的服務(wù)器端和客戶端軟件,在安裝成功后,登錄SQL Server服務(wù)器,運(yùn)行企業(yè)管理器和查詢分析器。三、實(shí)驗(yàn)步驟:實(shí)驗(yàn)二 :創(chuàng)建表及對(duì)表的基本操作一、實(shí)驗(yàn)?zāi)康模赫莆绽闷髽I(yè)管理器創(chuàng)建數(shù)據(jù)庫(kù)、創(chuàng)建表的方法,理解關(guān)系型數(shù)據(jù)庫(kù)中的表的屬性名、數(shù)據(jù)類型及表的主外鍵等二、實(shí)驗(yàn)內(nèi)容:創(chuàng)建一個(gè)名稱為factory的數(shù)據(jù)庫(kù)并建立相關(guān)表三、實(shí)驗(yàn)步驟:(1)將主數(shù)據(jù)庫(kù)文件factory-data.M

2、DF放置在E:DBF文件夾中,其文件大小自動(dòng)增長(zhǎng)為按5MB增長(zhǎng)。(2)將事務(wù)日志文件factory-data.MDF放置在E:DBF文件夾中,其文件大小自動(dòng)增長(zhǎng)為按1MB增長(zhǎng)。(3) 建立職工表worker,其結(jié)構(gòu):職工號(hào):int,姓名:char(8),性別:char(2),出生日期:datatime,黨員否:bit,參加工作:datatime,部門(mén)號(hào):int。其中“職工號(hào)”為主鍵。在worker表中輸入如下記錄:(4) 建立部門(mén)表depart,其結(jié)構(gòu)為:部門(mén)號(hào):int,部門(mén)名:char(10)。其中,“部門(mén)號(hào)”為主鍵。在depart表中輸入如下記錄:(5)建立職工工資表salary,其結(jié)構(gòu)為

3、:職工號(hào):int,姓名:char(8),出生日期:datatime,工資:dacimal(6,1)。其中“職工號(hào)”和“日期”為主鍵。在salary表中輸入如下記錄:(6)建立worker、depart和salary3個(gè)表之間的關(guān)系。實(shí)驗(yàn)三 :數(shù)據(jù)查詢一、實(shí)驗(yàn)?zāi)康模赫莆崭鞣N查詢語(yǔ)句的實(shí)現(xiàn),包括一定程度的復(fù)雜查詢,掌握利用SQL Server 2000的查詢分析器書(shū)寫(xiě)SQL語(yǔ)句進(jìn)行各種查詢、插入記錄值及刪除記錄值二、實(shí)驗(yàn)內(nèi)容:在factory數(shù)據(jù)庫(kù)中實(shí)現(xiàn)查詢、插入數(shù)據(jù)、刪除數(shù)據(jù)(1)顯示所有職工的年齡。 (2)求出各部門(mén)的黨員人數(shù)。 (3)顯示所有職工的姓名和2004年1月份的工資數(shù)。 (4)顯示

4、所有職工的職工號(hào)、姓名和平均工資。(5)顯示所有職工的職工號(hào)、姓名、部門(mén)名和2004年2月份工資,并按部門(mén)名順序排列。(6)顯示各部門(mén)和該部門(mén)的所有職工平均工資。(7)顯示所有平均工資高于1200的部門(mén)名和對(duì)應(yīng)的平均工資。(8)顯示所有職工的的職工號(hào)、姓名和部門(mén)類型,其中財(cái)務(wù)處和人事處屬管理部門(mén),市場(chǎng)部屬市場(chǎng)部門(mén)(9)若存在職工號(hào)為10的職工,則顯示其工作部門(mén)名稱,否則顯示相應(yīng)提示信息。(10)求出男女職工的平均工資,若男職工平均工資與女職工平均工資在1.50.8之間,則顯示“男職工和女職工的平均工資差不多”的信息:否則,顯示“女職工比男職工的工資高多了”的信息三、實(shí)驗(yàn)步驟:select o.

5、id,c.textfrom sysobjects o inner JOIN syscomments c on o.id=c.idwhere o.type= 'p' and = 'oakland_authors'goalter proc oakland_authorswith ENCRYPTIONas select au_fname,au_lname,address,city,zipfrom pubs.authorswhere state = 'ca'order by au_lname,au_fname goselect o.id ,c

6、.textfrom sysobjects o inner joIn syscomments c on o.id=c.idwhere o.type='p' and ='oakland_authors'goselect customer.customerfrom customer,loanwhere loan.bank= '農(nóng)業(yè)銀行'and loan.laccount= customer.account實(shí)驗(yàn)四 :索引的應(yīng)用一、實(shí)驗(yàn)?zāi)康模豪闷髽I(yè)管理器在數(shù)據(jù)庫(kù)的表上創(chuàng)建索引,理解創(chuàng)建索引的目的意義二、實(shí)驗(yàn)內(nèi)容:在factory數(shù)據(jù)庫(kù)的三章表

7、中建立索引三、實(shí)驗(yàn)步驟:實(shí)驗(yàn)五 :視圖的應(yīng)用一、實(shí)驗(yàn)?zāi)康模和ㄟ^(guò)企業(yè)管理器和查詢分析器建立視圖,掌握創(chuàng)建視圖的方法,理解利用視圖的便利之處二、實(shí)驗(yàn)內(nèi)容:(1)建立視圖view1,查詢所有職工的職工號(hào)、姓名、部門(mén)名和2004年2月份的工資,并按部門(mén)名順序排序(2)建立視圖view2,查詢所有職工的職工號(hào)、姓名和平均工資(3)建立視圖view3,查詢各部門(mén)和該部門(mén)的所有職工的平均工資(4)顯示視圖view3的定義三、實(shí)驗(yàn)步驟:select bankfrom depositegroup by bankhaving sum(account) >= all ( select sum(account

8、) as sumc from deposite where ddate like '2004%' group by bank )select sum(account ) from deposite group by bank where ddate >= '2004-01-01' and ddate <= '2004-12-31' use studentgocreate view 數(shù)據(jù)庫(kù)系統(tǒng)概論成績(jī) as select a.sid,a.sname,ame,c.score from t_stu as a inner join t_sco

9、re as c on a.sid=c.sid inner join t_course as b on b.cid=c.cid where ame='數(shù)據(jù)庫(kù)系統(tǒng)概論'goselect * from 數(shù)據(jù)庫(kù)系統(tǒng)概論成績(jī)order by score desc實(shí)驗(yàn)六:存儲(chǔ)過(guò)程與觸發(fā)器的應(yīng)用一、實(shí)驗(yàn)?zāi)康模赫莆胀ㄟ^(guò)企業(yè)管理器和查詢分析器創(chuàng)建存儲(chǔ)過(guò)程與觸發(fā)器的方法,理解存儲(chǔ)過(guò)程與觸發(fā)器的運(yùn)行機(jī)理二、實(shí)驗(yàn)內(nèi)容:(1)創(chuàng)建一個(gè)為worker表添加職工記錄的存儲(chǔ)過(guò)程addworker(2)創(chuàng)建一個(gè)存儲(chǔ)過(guò)程delworker刪除worker表中指定職工號(hào)的記錄(3顯示存儲(chǔ)過(guò)程delworker(4)

10、刪除存儲(chǔ)過(guò)程delworker和addworker(5)在表depart上創(chuàng)建一個(gè)觸發(fā)器depart_update,當(dāng)更改部門(mén)號(hào)時(shí)同步更改worker表中對(duì)應(yīng)的部門(mén)號(hào)(6)在表worker上創(chuàng)建一個(gè)觸發(fā)器worker_delete,當(dāng)刪除職工記錄時(shí)同步刪除slalry表中對(duì)應(yīng)職工的工資記錄(7)刪除觸發(fā)器depart_update和worker_delete三、實(shí)驗(yàn)步驟:if exists(select name from sysobjects where name= 'p1' and type = 'p')drop proc p1gocreate proc p

11、1 bankname varchar(50), count5y varchar(50) outputas select count5y = bankfrom depositewhere bank = bankname and dtype = '定期'go declare bankn varchar(50) exec p1 '交通銀行',bankn output gocreate proc dbo.dt_addtosourcecontrol vchSourceSafeINI varchar(255) = '', vchProjectName var

12、char(255) ='', vchComment varchar(255) ='', vchLoginName varchar(255) ='', vchPassword varchar(255) =''asset nocount ondeclare iReturn intdeclare iObjectId intselect iObjectId = 0declare iStreamObjectId intselect iStreamObjectId = 0declare VSSGUID varchar(100)select V

13、SSGUID = 'SQLVersionControl.VCS_SQL'declare vchDatabaseName varchar(255)select vchDatabaseName = db_name()declare iReturnValue intselect iReturnValue = 0declare iPropertyObjectId intdeclare vchParentId varchar(255)declare iObjectCount intselect iObjectCount = 0 exec iReturn = sp_OACreate VSS

14、GUID, iObjectId OUT if iReturn <> 0 GOTO E_OAError /* Create Project in SS */ exec iReturn = sp_OAMethod iObjectId, 'AddProjectToSourceSafe', NULL, vchSourceSafeINI, vchProjectName output, SERVERNAME, vchDatabaseName, vchLoginName, vchPassword, vchComment if iReturn <> 0 GOTO E_O

15、AError exec iReturn = sp_OAGetProperty iObjectId, 'GetStreamObject', iStreamObjectId OUT if iReturn <> 0 GOTO E_OAError /* Set Database Properties */ begin tran SetProperties /* add high level object */ exec iPropertyObjectId = dbo.dt_adduserobject_vcs 'VCSProjectID' select vch

16、ParentId = CONVERT(varchar(255),iPropertyObjectId) exec dbo.dt_setpropertybyid iPropertyObjectId, 'VCSProjectID', vchParentId , NULL exec dbo.dt_setpropertybyid iPropertyObjectId, 'VCSProject' , vchProjectName , NULL exec dbo.dt_setpropertybyid iPropertyObjectId, 'VCSSourceSafeIN

17、I' , vchSourceSafeINI , NULL exec dbo.dt_setpropertybyid iPropertyObjectId, 'VCSSQLServer', SERVERNAME, NULL exec dbo.dt_setpropertybyid iPropertyObjectId, 'VCSSQLDatabase', vchDatabaseName, NULL if error <> 0 GOTO E_General_Error commit tran SetProperties declare cursorPro

18、cNames cursor for select convert(varchar(255), name) from sysobjects where type = 'P' and name not like 'dt_%' open cursorProcNames while 1 = 1 begin declare vchProcName varchar(255) fetch next from cursorProcNames into vchProcName if fetch_status <> 0 break select colid, text

19、into #ProcLines from syscomments where id = object_id(vchProcName) order by colid declare iCurProcLine int declare iProcLines int select iCurProcLine = 1 select iProcLines = (select count(*) from #ProcLines) while iCurProcLine <= iProcLines begin declare pos int select pos = 1 declare iCurLineSiz

20、e int select iCurLineSize = len(select text from #ProcLines where colid = iCurProcLine) while pos <= iCurLineSize begin declare vchProcLinePiece varchar(255) select vchProcLinePiece = convert(varchar(255), substring(select text from #ProcLines where colid = iCurProcLine), pos, 255 ) exec iReturn

21、= sp_OAMethod iStreamObjectId, 'AddStream', iReturnValue OUT, vchProcLinePiece if iReturn <> 0 GOTO E_OAError select pos = pos + 255 end select iCurProcLine = iCurProcLine + 1 end drop table #ProcLines exec iReturn = sp_OAMethod iObjectId, 'CheckIn_StoredProcedure', NULL, sProj

22、ectName = vchProjectName, sSourceSafeINI = vchSourceSafeINI, sServerName = SERVERNAME, sDatabaseName = vchDatabaseName, sObjectName = vchProcName, sComment = vchComment, sLoginName = vchLoginName, sPassword = vchPassword, iVCSFlags = 0, iActionFlag = 0, sStream = '' if iReturn = 0 select iOb

23、jectCount = iObjectCount + 1 endCleanUp:close cursorProcNamesdeallocate cursorProcNames select vchProjectName select iObjectCount returnE_General_Error: /* this is an all or nothing. No specific error messages */ goto CleanUpE_OAError: exec dbo.dt_displayoaerror iObjectId, iReturn goto CleanUpGO實(shí)驗(yàn)七

24、: SQL語(yǔ)句查詢功能一、實(shí)驗(yàn)?zāi)康模赫莆绽貌樵兎治銎鳎褂肧QL語(yǔ)句實(shí)現(xiàn)上面的各種功能的方法二、實(shí)驗(yàn)內(nèi)容:(1)刪除factory數(shù)據(jù)庫(kù)上各個(gè)表之間建立的關(guān)系(2)顯示各職工的工資記錄和相應(yīng)的工資小計(jì)。(3)按性別和部門(mén)名的所有組合方式列出相應(yīng)的平均工資。(4)在worker表中使用以下語(yǔ)句插入一個(gè)職工記錄:insert into depart values (5,設(shè)備處)在對(duì)worker 和depart 表進(jìn)行完整外部連接顯示職工的職工號(hào)、姓名、和部門(mén)名,然后刪除這兩個(gè)插入的記錄(5) 顯示最高工資的職工的職工號(hào)、姓名、部門(mén)名、工資發(fā)放日期和工資(6)顯示最高工資的職工所在的的部門(mén)名(7)

25、顯示所有平均工資低于全部平均工資的職工的職工號(hào)、姓名(8)采用游標(biāo)方式實(shí)現(xiàn)(6)的功能(9)采用游標(biāo)方式實(shí)現(xiàn)(7)的功能(10)先顯示worker表中的職工人數(shù),開(kāi)始一個(gè)事務(wù),插入一個(gè)職工記錄,再顯示worker表中的職工人數(shù),回滾該事務(wù),最后顯示worker表中的職工人數(shù)(11)在worker表中的部門(mén)號(hào)列上建立一個(gè)非聚集索引,若該索引已存在,則刪除后重建(12)在salary表的職工號(hào)列和日期列上創(chuàng)建聚集索引,并且強(qiáng)制唯一性三、實(shí)驗(yàn)步驟:delete from employeeswhere year(birthdate) <2000select distinct customer.c

26、ustomerfrom customer,loanwhere customer.account= loan.laccount and loan.bank = '工商銀行' and customer.customerid in ( select customerid from customer,deposite where customer.account= deposite.daccount and deposite.bank = '工商銀行' )實(shí)驗(yàn)八 :SQL Server 的管理及數(shù)據(jù)庫(kù)的備份與還原一、實(shí)驗(yàn)?zāi)康模赫莆誗QL Server 的管理及數(shù)據(jù)庫(kù)的備

27、份與還原的方法,自動(dòng)實(shí)現(xiàn)數(shù)據(jù)庫(kù)的管理二、實(shí)驗(yàn)內(nèi)容:(1)創(chuàng)建一個(gè)登錄賬號(hào)ABC/123456(2)為factory數(shù)據(jù)庫(kù)中創(chuàng)建一個(gè)用戶帳號(hào),并將其關(guān)聯(lián)到ABC登錄賬號(hào)中(3)用企業(yè)管理器對(duì)factory數(shù)據(jù)庫(kù)執(zhí)行完全備份和還原操作三、實(shí)驗(yàn)步驟:實(shí)驗(yàn)九:數(shù)據(jù)庫(kù)與開(kāi)發(fā)工具的協(xié)同使用一、實(shí)驗(yàn)?zāi)康模喝嬲莆諗?shù)據(jù)庫(kù)的系統(tǒng)開(kāi)發(fā)過(guò)程,通過(guò)實(shí)際例子深入理解數(shù)據(jù)庫(kù)的管理、使用和維護(hù)技巧二、實(shí)驗(yàn)內(nèi)容:綜合前面所學(xué)習(xí)的數(shù)據(jù)庫(kù)知識(shí),結(jié)合VB開(kāi)發(fā)一個(gè)學(xué)生檔案系統(tǒng),完成班級(jí)內(nèi)的學(xué)生個(gè)人資料管理、學(xué)習(xí)成績(jī)管理、學(xué)生成績(jī)統(tǒng)計(jì)、學(xué)期排名等日常教學(xué)中比較常用的功能,主要功能如下:(1)學(xué)生個(gè)人資料管理(2)學(xué)生成績(jī)管理(3)學(xué)生成績(jī)統(tǒng)計(jì)、學(xué)期排名 三、實(shí)驗(yàn)步驟:部分代碼如下'將圖片保存到數(shù)據(jù)庫(kù)中Private Sub SaveToDB(ByRef PICField As ADODB.Field, DiskFile As String)Const BLOCKSIZE = 4096 '每次讀寫(xiě)數(shù)據(jù)塊的大小Dim byteData() As Byte &

溫馨提示

  • 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ì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論