【正文】
yDB數(shù)據(jù)庫收縮到有10%的可用空間。如果任何數(shù)據(jù)文件的路徑和創(chuàng)建時或上次附加數(shù)據(jù)庫時的路徑不同,則必須指定文件的當(dāng)前路徑。, FILENAME =‘c:\program files\microsoft sql server\mssql\data\39。,size=3MB,fileGrowth=1mb)log on(name=MyDB_log,Filename=39。,39。,39。,39。,size=3MB,Maxsize=10MB,FileGrowth=10%)dbcc SHRINKDATABASE (MyDB,10)drop database MyDB先分離數(shù)據(jù)庫,并且給data權(quán)限create database MyDB on(name=39。)log on(name=39。)for ATTACH。二、實(shí)驗(yàn)設(shè)備、環(huán)境設(shè)備:奔騰Ⅳ或奔騰Ⅳ以上計(jì)算機(jī);環(huán)境:WINDOWS 2000 SERVER或WINDOWS 2003 SERVER、SQL Server2005中文版。表的類型在SQL Server2005中,可以把表分為4種類型,即普通表、分區(qū)表、臨時表和系統(tǒng)表。其優(yōu)點(diǎn)在于可以方便地管理大型表,提高對這些表中數(shù)據(jù)的使用效率。(4)系統(tǒng)表:系統(tǒng)表與普通表的區(qū)別在于,系統(tǒng)表存儲了有關(guān)SQL Server 2005服務(wù)器的配置、數(shù)據(jù)庫設(shè)置、用戶和表對象的描述等信息。如整數(shù)數(shù)據(jù)類型:binint、int、smalling、tinyint;位數(shù)據(jù)類型bit。(3)字符數(shù)據(jù)類型它是用來存儲各種字母、數(shù)字符號和特殊符號。它為每一種語言中的每個字符設(shè)定了統(tǒng)一并且唯一的二進(jìn)制編碼,以滿足跨語言、跨平臺進(jìn)行文本轉(zhuǎn)換、處理的要求。(6)日期和時間數(shù)據(jù)類型在SQL Server2005中,日期和時間類型主要包括:datetime 和smalldatetime兩種。(2)默認(rèn)值當(dāng)某個屬性的值大部分的取值都是相同時,可以使用默認(rèn)值來減少插入數(shù)據(jù)時的時間。Student表的結(jié)構(gòu)為:字段名類型中文名備注SNOChar(8)學(xué)號主鍵SNameVarchar(10)姓名SexChar(2)性別男、女ClsNOChar(6)班級班級的編號,參照表ClassStuAddrVarchar(20)住址描述性說明BirthdaySmallDate出生年月HeightNumeric(4,2)身高以米為單位表示學(xué)生的身高。(2)使用SQL Server Management Studio工具刪除剛剛增加的Department。 檢查插入數(shù)據(jù)的正確性(4)向表(Grade )中插入數(shù)據(jù)SNOCNOScoreCredit199201010001906199201010007864199201020001876199201020003763199203060001876199203060003933199401060007854插入數(shù)據(jù)之后使用命令:Select * from Grade。*注意在刪除之前,請將數(shù)據(jù)文件拷貝一個副本,已備以后實(shí)驗(yàn)使用。計(jì)算機(jī)一班39。計(jì)算機(jī)應(yīng)用39。數(shù)學(xué)四班39。數(shù)學(xué)39。物理八班39。物理39。王軍39。CS0139。39。李杰39。CS0139。39。王彤39。MT0439。39。吳杪39。PH0839。39。數(shù)學(xué)39。000339。39。物理39。1992010139。1992010139。1992010239。1992010239。1992030639。1992030639。1994010639。char(8)39。char(4)39。delete from grade where SNO=39。這次的學(xué)習(xí)內(nèi)容是關(guān)鍵,這塊東西學(xué)好了,之后的才能用的得心應(yīng)手。四、實(shí)驗(yàn)內(nèi)容創(chuàng)建關(guān)系圖根據(jù)實(shí)際情況,為MyDB數(shù)據(jù)庫創(chuàng)建關(guān)系圖。(2)創(chuàng)建一個名為V_grade的視圖,以顯示選修“0001”號課程的學(xué)生成績信息,如學(xué)號、姓名、課程名稱、成績和學(xué)分等。索引的創(chuàng)建、查看和刪除。(4)刪除索引idex_total_xh。五、問題解答及實(shí)驗(yàn)結(jié)果,course表,Grade表,Class表關(guān)聯(lián) create view V_student as select SNO as 39。,Sex as 39。 from studentcreate view V_Grade as select as 39。,CName as 39。, as 39。 and = and = select * from V_studentgoselect *from V_Grade,學(xué)分按降序排列create INDEX idex_total_xhon student(TotalCredit Desc,SNO) with(fillfactor=80)6. 學(xué)生表創(chuàng)建一個基于班級和姓名的索引idex_clas_name,其中按班號按升序、學(xué)生姓名按降序排列,填充因子為70%。drop index idex_total_xh ON studentdrop index idex_class_name ON student六、實(shí)驗(yàn)體會和收獲不知不覺,一個禮拜過去了,隨著時間的推移,實(shí)驗(yàn)的難度也越來了,現(xiàn)在,我學(xué)習(xí) 如何 索引,視圖以及關(guān)系表的連接,雖然遇到了一點(diǎn)小小的問題,但還是解決了。二、實(shí)驗(yàn)設(shè)備、環(huán)境設(shè)備:奔騰Ⅳ或奔騰Ⅳ以上計(jì)算機(jī);環(huán)境:WINDOWS 2000 SERVER或WINDOWS 2003 SERVER、SQL Server 2005中文版。1992010139。男39。下關(guān)39。修改SNO的值,將其值修改為‘19000001’,其他的值保持不變,再插入一次,觀察其結(jié)果。(5)刪除約束:alter table student drop constraint check_sex。(2)利用系統(tǒng)存儲過程sp_bindefault將default_birthday綁定到student表的Birthday列上。實(shí)現(xiàn)過程要求使用SQL語句完成。(2)在新建查詢中輸入插入一個學(xué)生信息的命令:insert into student(SNO,Sname,Sex,ClsNo,StuAddr,Brithday,Height,TotalCredit)values(39。,39。,39。,10)出現(xiàn)報(bào)錯:違反了PRIMARY KEY 約束39。 中插入重復(fù)鍵。,39。,39。,39。男39。alter table Class ADD constraint pk_clsno primary key(ClsNo)。(7)創(chuàng)建默認(rèn)對象:default_birthday,默認(rèn)值為‘198211’,并利用系統(tǒng)存儲過程sp_bindefault將default_birthday綁定到student表的Birthday列上。default_brithday39。exec sp_unbindefault 39。create default default_Value as 4exec sp_bindefault 39。Insert into Course(CNO,CName,PCNO)Values(39。,39。DROP Default Default_value(11)利用企業(yè)管理器創(chuàng)建規(guī)則:規(guī)則名為:rule_credit_range,文本為:range=1 and range=8;create rule rule_credit_range as range between 1 and 8(12綁定規(guī)則:將rule_credit_range 綁定到Course表的Credit列上;)exec sp_bindrule 39。(13)解除(2)中設(shè)置的規(guī)則綁定,刪除規(guī)則rule_ credit _rangeexec sp_unbindrule 39。,39。,39。,39。,39。,39。六、實(shí)驗(yàn)體會和收獲這次學(xué)習(xí)主要學(xué)的是創(chuàng)建約束,默認(rèn)應(yīng)用和規(guī)則應(yīng)用,對以后建立更完善,更可靠的數(shù)據(jù)庫有很大的幫助,可以讓今后的實(shí)驗(yàn)變得更加輕松,大型數(shù)據(jù)庫更容易進(jìn)行更改,結(jié)構(gòu)更可靠,實(shí)驗(yàn)遇到一點(diǎn)點(diǎn)小問題,自己都解決了。四、實(shí)驗(yàn)內(nèi)容一、SQL查詢(*使用SQL Server樣例數(shù)據(jù)庫pubs完成)簡單查詢(1)查詢所有作者的姓名和作者號信息,并在每個作者的作者號前面顯示字符串“身份證號:”表明顯示信息是身份證信息;(authors表)(2)改變顯示列名。子查詢(1)查詢有銷售記錄的所有書信息,包括書的編號、書名、類型和價(jià)格;(2)求已銷售的書的信息;二、函數(shù)自定義一個名為Sage_func函數(shù),按出生年月計(jì)算年齡。三、流程控制Student表中若存在學(xué)號為“19920101”的學(xué)生,則顯示已存在的信息,否則插入該學(xué)生的記錄。身份證號:39。,au_lname 39。 from authors。 select au_lname,au_fname,phone from authors where zip9000。12/31/199139。trad_cook39。,39。%Book%39。087739。 select title_id,sum(qty) qty from sales group by title_id。1994/10/3139。 select title,sum(qty) qyt from sales,titles where = group by title。檢索信息select SNO as 學(xué)號,SName AS 姓名,(Brithday,getdate()) as 年齡 from Student(2)定義一個函數(shù)create function grade_func (Scorce INT) returns tinyint as begin return Scorce/20 end 檢索信息select SName AS 姓名,(Scorce) as 五級分制from Grade,Student where =流程控制(1)if exists (select * from Student where SNO =39。 END else begin insert into Student Values (39。,39。,39。,1,82,10)enddelete from Student where SNO=39。實(shí)驗(yàn)項(xiàng)目名稱: 存儲過程和觸發(fā)器 實(shí)驗(yàn)學(xué)時: 2 同組學(xué)生姓名: 實(shí)驗(yàn)地點(diǎn): 實(shí)驗(yàn)日期: 實(shí)驗(yàn)成績: 批改教師: 批改時間: 一、實(shí)驗(yàn)?zāi)康暮鸵笸ㄟ^對常用系統(tǒng)存儲過程的使用,了解存儲過程的類型;通過創(chuàng)建和執(zhí)行存儲過程,了解存儲過程的基本概念,掌握使用存儲過程的操作技巧和方法;通過對已創(chuàng)建的存儲過程的改變,掌握修改、刪除存儲過程的技巧;了解觸發(fā)器的基本概念,理解觸發(fā)器的功能;掌握創(chuàng)建、修改和刪除和使用觸發(fā)器的操作方法。使用sp_helptext查看byroyalty存儲過程的文本,該存儲過程在數(shù)據(jù)庫pubs中。并調(diào)用此存儲過程,顯示“計(jì)算機(jī)應(yīng)用”專業(yè)學(xué)生的選課情況列表。并調(diào)用修改后的存儲過程,顯示“計(jì)算機(jī)應(yīng)用”專業(yè)男生的選課情況列表。五、創(chuàng)建觸發(fā)器創(chuàng)建觸發(fā)器trigger_1,實(shí)現(xiàn)當(dāng)修改學(xué)生表(Student)中的數(shù)據(jù)時,顯示提示信息“學(xué)生情況表被修改了”。七、刪除觸發(fā)器刪除學(xué)生情況表上的觸發(fā)器trigger_1。exec proc_1。二、實(shí)驗(yàn)設(shè)備、環(huán)境設(shè)備:奔騰Ⅳ或奔騰Ⅳ以上計(jì)算機(jī);環(huán)境:WINDOWS 2000 SERVER或WINDOWS 2003 SERVER、SQL Server 2005中文版?;謴?fù)數(shù)據(jù)庫 在前面已經(jīng)為Stuscore數(shù)據(jù)庫建立了1次完全備份,2次差異備份和2次日志備份,現(xiàn)在要求刪除Stuscore數(shù)據(jù)庫,然后再將其恢復(fù)。管理數(shù)據(jù)庫用戶賬號(1)使用SQL Server Management Studio為登錄帳號loginT創(chuàng)建一個數(shù)據(jù)庫Norhwind用戶帳號userT,并賦予db_owner數(shù)據(jù)庫角色。(2)利用系統(tǒng)存儲過程sp_revokelogin刪除Northwind數(shù)據(jù)庫的userC用戶帳號,使用腳本:Use NorthwindGoSp_revokedbaccess ‘userC’GO角色(1)利用系統(tǒng)存儲過程為數(shù)據(jù)庫Northwind創(chuàng)建一個數(shù)據(jù)庫角色myrole,并創(chuàng)建一個數(shù)據(jù)庫用戶myuser,使其屬于角色myr