數(shù)據(jù)庫(kù)實(shí)驗(yàn)指導(dǎo)書(shū)2012_第1頁(yè)
數(shù)據(jù)庫(kù)實(shí)驗(yàn)指導(dǎo)書(shū)2012_第2頁(yè)
數(shù)據(jù)庫(kù)實(shí)驗(yàn)指導(dǎo)書(shū)2012_第3頁(yè)
數(shù)據(jù)庫(kù)實(shí)驗(yàn)指導(dǎo)書(shū)2012_第4頁(yè)
數(shù)據(jù)庫(kù)實(shí)驗(yàn)指導(dǎo)書(shū)2012_第5頁(yè)
已閱讀5頁(yè),還剩15頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

實(shí)驗(yàn)一數(shù)據(jù)庫(kù)管理實(shí)驗(yàn)名稱(chēng)數(shù)據(jù)庫(kù)管理實(shí)驗(yàn)日期使用設(shè)備硬件:電腦一臺(tái)軟件:Windows、SQLserver2000實(shí)驗(yàn)地點(diǎn)實(shí)驗(yàn)?zāi)康?、 主要使用SQL語(yǔ)言建立、修改與刪除數(shù)據(jù)庫(kù)。2、 會(huì)使用企業(yè)管理器對(duì)數(shù)據(jù)庫(kù)進(jìn)行建立、修改和刪除。準(zhǔn)備工作:每個(gè)學(xué)生首先在D盤(pán)建立一個(gè)以自己學(xué)號(hào)為名字的文件夾,今后所有操作均在自己的文件夾中進(jìn)行。1、使用CREATEDATABASE創(chuàng)建一個(gè)Student數(shù)據(jù)庫(kù),所有參數(shù)均取默認(rèn)值。createdatabasestudent實(shí)驗(yàn)內(nèi)容2、 創(chuàng)建一個(gè)Studentl數(shù)據(jù)庫(kù),該數(shù)據(jù)庫(kù)的主文件邏輯名稱(chēng)為student1_data,物理文件名為student1.mdf,初始大小為10MB,最大尺寸為無(wú)限大,增長(zhǎng)速度為10%;數(shù)據(jù)庫(kù)的日志文件邏輯名稱(chēng)為student1_log,物理文件名為student1.ldf,初始大小為1MB,最大尺寸為5MB,增長(zhǎng)速度為1MB實(shí)驗(yàn)內(nèi)容CREATEDATABASEstudent1ON(NAME=student1_data,FILENAME='C:\DATA\student1.mdf,SIZE=10MB,MAXSIZE=unlimited,FILEGROWTH=10%)LOGON(NAME=student1_log,FILENAME='D:\DATA\student1_log.LDF',SIZE=1MB,MAXSIZE=5MB,FILEGROWTH=1MB)3、 創(chuàng)建一個(gè)指定多個(gè)數(shù)據(jù)文件和日志文件的數(shù)據(jù)庫(kù)。該數(shù)據(jù)庫(kù)的名稱(chēng)為students,有1個(gè)10MB和20MB的數(shù)據(jù)和2個(gè)10MB的事務(wù)日志文件。數(shù)據(jù)文件邏輯名稱(chēng)為students1和students2,物理文件名為students1.mdf和students2.ndf,由primary指定,兩個(gè)數(shù)據(jù)文件的最大尺寸分別為無(wú)限大和100MB,增長(zhǎng)速度分別為10%和1MB。事務(wù)日志文件邏輯名稱(chēng)為studentslog1和studentslog2,物理文件名為studentslog1.ldf和studentslog2.ldf,最大尺寸為50MB,增長(zhǎng)速度為1MB。

CREATEDATABASEstudentson(NAME=students!,FILENAME='C:\DATA\students1.mdf,SIZE=10MB,MAXSIZE=UNLIMITED,FILEGROWTH=10%),(NAME=students2,FILENAME='D:\DATA\students2.ndf,SIZE=20MB,MAXSIZE=100MB,FILEGROWTH=1MB)LOGON(NAME=studentslog1,FILENAME='D:\DATA\studentslog1.LDF',SIZE=10MB,MAXSIZE=50MB,FILEGROWTH=1MB),(NAME=studentslog1,FILENAME='D:\DATA\studentslog2.LDF',SIZE=10MB,MAXSIZE=50MB,FILEGROWTH=1MB)4、利用企業(yè)管理器向數(shù)據(jù)庫(kù)student1可添加一個(gè)文件組,其中包括兩個(gè)數(shù)據(jù)文件:它們的邏輯名稱(chēng)為student1_data1和student1_data2,物理文件名為student1_1.ndf和student1_2.ndf,初始大小為5MB,最大尺寸為50MB,增長(zhǎng)速度為2MB。并將其設(shè)為默認(rèn)文件組。ALTERDATABASEstudent1addfilegroupstudent1filegroupg。ALTERDATABASEstudent1addfile(name=student1_data1,Filename='D:\DATA\student1_1.ndf,SIZE=5MB,MAXSIZE=50MB,FILEGROWTH=2MB)tofilegroupstudent1filegroupgoALTERDATABASEstudent1addfile(name=student1_data2,Filename='D:\DATA\student1_2.ndf,SIZE=5MB,MAXSIZE=50MB,FILEGROWTH=2MB)tofilegroupstudent1filegroupgoEXECUTEsphelpdbstudent15、利用SQL語(yǔ)言對(duì)students進(jìn)行修改。將事務(wù)日志文件的大小增加到15MB,將數(shù)據(jù)文件studentsl和students2分別增加到15MB和30MB。同時(shí)增加兩個(gè)文件組datal和data2,分別包含一個(gè)數(shù)據(jù)文件,邏輯文件名為students3和students4,物理文件名為students3.ndf和students4.ndf,它們的初始大小為20MB,最大尺寸無(wú)限大,增長(zhǎng)速度15%;增加一個(gè)10MB事務(wù)日志文件,最大尺寸無(wú)限制,增長(zhǎng)速度為10%。ALTERDATABASEstudentsMODIFYFILE(NAME='students2',SIZE=15MB)GOEXECUTEsp_helpdbstudentsALTERDATABASEstudentsMODIFYFILE(NAME='students2',SIZE=30MB)GOEXECUTEsp_helpdbstudentsALTERDATABASEstudents3addfilegroupdata1filegroupgoALTERDATABASEstudents3 --添加數(shù)據(jù)文件加入新文件組addfile(name=students3,Filename='D:\DATA\students3.ndf,SIZE=20MB,MAXSIZE=UNLIMITED,FILEGROWTH=15%)tofilegroupstudents3filegroupALTERDATABASEstudentsaddfilegroupdata2filegroupg。ALTERDATABASEstudentsaddfile(name=students4,Filename='D:\DATA\students4.ndf,SIZE=20MB,MAXSIZE^UNLIMITED,FILEGROWTH=15%)tofilegroupstudents4filegroupALTERDATABASEstudentsaddfilegroupstudentslog05filegroupgoALTERDATABASEstudentsaddfile(name=studentslog05,Filename='D:\DATA\studentslog05.ldf,SIZE=10MB,MAXSIZE^UNLIMITED,FILEGROWTH=10%)tofilegroupstudentslog05filegroup6、使用企業(yè)管理器查看student1的基本信息;件組和文件信息。使用SQL語(yǔ)言查看students中所有文EXECUTEsp_helpdbstudents!7、使用企業(yè)管理器刪除student;使用SQL語(yǔ)言同時(shí)刪除student1和students中所有文件組和文件信息。DROPDATABASEstudentlDROPDATABASEstudents實(shí)驗(yàn)二表的管理與使用實(shí)驗(yàn)名稱(chēng)表的管理與使用實(shí)驗(yàn)日期使用設(shè)備硬件:電腦一臺(tái)軟件:Windows、實(shí)驗(yàn)名稱(chēng)表的管理與使用實(shí)驗(yàn)日期使用設(shè)備硬件:電腦一臺(tái)軟件:Windows、SQLserver2000實(shí)驗(yàn)地點(diǎn)實(shí)驗(yàn)?zāi)康?、 主要使用SQL語(yǔ)言定義、刪除與修改基本表。2、 會(huì)使用企業(yè)管理器對(duì)基本表進(jìn)行建立、修改和刪除。在自己的文件夾建立student數(shù)據(jù)庫(kù),并在此數(shù)據(jù)庫(kù)中建立如下的表和插入數(shù)據(jù):關(guān)系StudentsSnoSnameSsexSageSdeptS01王建平男21自動(dòng)化S02劉華女19自動(dòng)化S03范林軍女18計(jì)算機(jī)S04李偉男19數(shù)學(xué)S05黃河男18數(shù)學(xué)S06長(zhǎng)江男20數(shù)學(xué)CnoCnamePre_CnoCreditsC01英語(yǔ)4C02數(shù)據(jù)結(jié)構(gòu)C052C03數(shù)據(jù)庫(kù)C022C04DB_設(shè)計(jì)C033C05C++3C06網(wǎng)絡(luò)原理C073C07操作系統(tǒng)C053關(guān)系CoursesSnoCnoGradeS01C0192S01C0384S02C0190S02C0294S02C0382S03C0172S03C0290S04C0375關(guān)系Reports1、建立學(xué)生表Students,每個(gè)屬性名的意義為Sno-學(xué)號(hào)、Sname-姓名、Ssex-性別、Sage-年齡、Sdept-所在系。并用insert語(yǔ)句插入6條數(shù)據(jù)。createdatabasestudentUsestudentCREATETABLEstudents(snochar(5)notnull,實(shí)驗(yàn)內(nèi)容snamevarchar(50)notnull,ssexChar(4)notnull,sagechar(50)notnull,sdeptvarchar(50)notnull,實(shí)驗(yàn)內(nèi)容)insertstudents(sno,sname,ssex,sage,sdept)VALUES('s01','王建平','男','21','自動(dòng)化')insertstudentsVALUES('s02',劉華','女','19','自動(dòng)化')insertstudentsVALUES('s03','范林軍','女','18','計(jì)算機(jī)')insertstudentsVALUES('s04','李偉','男','19','數(shù)學(xué)')insertstudentsVALUES('s05','黃河','男','18','數(shù)學(xué)')insertstudentsVALUES('s06','長(zhǎng)江','男','20','數(shù)學(xué)')2、 建立表3.4所示的課程表Courses,其屬性名意義分別為Cno-課程號(hào),Cname-課程名,PreCno-先修課程號(hào),Credits-學(xué)分。并用insert語(yǔ)句插入7條數(shù)據(jù)。UsestudentCREATETABLECourses(cnochar(5)notnull,cnamevarchar(50)notnull,pro_cnoChar(4)notnull,creditschar(50)notnull,)insertCoursescnocnamepro_cno,creditsVALUES('c01','英語(yǔ)','','4')insertCoursesVALUES('c02','數(shù)據(jù)結(jié)構(gòu)','c05','2')insertCoursesVALUES('c03','數(shù)據(jù)庫(kù)','c02','2')insertCoursesVALUES('c04','DB設(shè)計(jì),,'c03','3')insertCoursesVALUES('c05','C++','','3')insertCoursesVALUES('c06','網(wǎng)絡(luò)原理','c07','3')insertCoursesVALUES('c07','操作系統(tǒng)','c05','3')3、 建立成績(jī)表Reports。其中的屬性名意義分別為Sno-學(xué)號(hào),Cno-課程號(hào)和Grade-考試成績(jī)。并用insert語(yǔ)句插入8條數(shù)據(jù)。

UsestudentCREATETABLEReports(snochar10)notnull,cnochar(5)notnull,Gradeintnotnull,)insertReports(snocno,Grade)VALUES('s01','c01','92,)insertReportsVALUES('s01','c03','84,)insertReportsVALUES('s02','c01','90,)insertReportsVALUES('s02','c02','94,)insertReportsVALUES('s02','c03','82')insertReportsVALUES('s03','c01','72,)insertReportsVALUES('s03','c02','90')insertReportsVALUES('s04','c03','75')4、向基本表Students中增加“入學(xué)時(shí)間”屬性列,其屬性名為Sentrancedate,數(shù)據(jù)類(lèi)型為DATETIME型。USEstudentALTERTABLEstudentsaddSentrancedateDATETIME5、將Sage(年齡)的數(shù)據(jù)類(lèi)型改為SMALLINT型。USEstudentALTERTABLEstudentsaltercolumnsageSMALLINT6、刪除Students表。USEstudentdeletestudents7、將學(xué)習(xí)成績(jī)的兀組(‘S01’,’C01’)添加到基本表Reports中。USEstudentinsertReports(sno_學(xué)號(hào)cno_課程號(hào),Grade_考試成績(jī)VALUES('s01','c01','')

實(shí)驗(yàn)三數(shù)據(jù)簡(jiǎn)單查詢(xún)實(shí)驗(yàn)名稱(chēng)數(shù)據(jù)簡(jiǎn)單查詢(xún)實(shí)驗(yàn)日期使用設(shè)備硬件:電腦一臺(tái)軟件:Windows、SQLserver2000實(shí)驗(yàn)地點(diǎn)實(shí)驗(yàn)?zāi)康?、 掌握查詢(xún)語(yǔ)句的一般格式。2、 掌握無(wú)條件、有條件查詢(xún)及查詢(xún)結(jié)果排序與分組。實(shí)驗(yàn)內(nèi)容1、查詢(xún)?nèi)w學(xué)生的姓名(Sname)、學(xué)號(hào)(Sno)、所在系(Sdept)。SELECT snamesnosdeptFROMstudentdbostudents2、查詢(xún)?nèi)w學(xué)生的姓名(Sname)、出生年份及學(xué)號(hào)(Sno)。SELECT sname,出生年份=year(getdate())-sageFROMstudent.dbo.students3、查詢(xún)所有年齡在18~22歲(包括18歲和22歲)之間的學(xué)生姓名(Sname)及年齡(Sage)。SELECTsname,sagefromstudentdbo.studentswheresage>=18andsage<=224、查詢(xún)所有不姓劉的學(xué)生姓名(Sname)和年齡(Sage)。SELECTsname,sagefromstudentdbostudentswheresnamenotlike'劉%,5、查詢(xún)自動(dòng)化系、數(shù)學(xué)和計(jì)算機(jī)系學(xué)生的學(xué)號(hào)(Sno)、姓名(Sname)和性別(Ssex)。SELECTsnosnamessexfromstudentdbostudentswheresdept='自動(dòng)化'orsdept='數(shù)學(xué)'orsdept='計(jì)算機(jī)'6、查詢(xún)選修了C03號(hào)課程的學(xué)生的學(xué)號(hào)(Sno)和成績(jī)(Grade),并按成績(jī)降序排列。SELECTsnoGradefromstudentdboReportswherecno='c03'orderbyGradedesc7、查詢(xún)?nèi)w學(xué)生情況,查詢(xún)結(jié)果按所在系的系名(Sdpet)升序排列,同一系中的學(xué)生按年齡(Sage)降序排列。SELECT*fromstudentdbo.studentsorderbysdeptasc,sagedesc8、查詢(xún)選修了課程的學(xué)生人數(shù)SELECT選修課人數(shù)=count(cname)fromstudentdbo.Courses9、計(jì)算選修C01號(hào)課程的學(xué)生平均成績(jī),最高分?jǐn)?shù),最低分?jǐn)?shù)。SELECTavgGrade)as學(xué)生平均成績(jī),maxGrade)as最高分min(Grade)as最低分fromstudent.dbo.Reportswherecnolike'c01%'10、求各個(gè)課程號(hào)(Cno)及相應(yīng)的選課人數(shù)。SELECTcno選課人數(shù)=count(*)fromstudent.dboReportsgroupbycno11、查詢(xún)選修了3門(mén)或3門(mén)以上課程的學(xué)生學(xué)號(hào)(Sno)。SELECTsnofromstudent.dboReportsgroupbysnohavingcount(*)>=3

實(shí)驗(yàn)名稱(chēng)數(shù)據(jù)簡(jiǎn)單查詢(xún)實(shí)驗(yàn)日期使用設(shè)備硬件:電腦一臺(tái)軟件:Windows、SQLserver2000實(shí)驗(yàn)地點(diǎn)實(shí)驗(yàn)?zāi)康?、 掌握sql連接、嵌套和集合查詢(xún)語(yǔ)句的一般格式和各種使用方法。2、 掌握sql數(shù)據(jù)插入、修改和刪除語(yǔ)句的一般格式和使用方法。1、查詢(xún)每個(gè)學(xué)生及其選修課程的情況。實(shí)驗(yàn)四數(shù)據(jù)查詢(xún)與更新實(shí)驗(yàn)四數(shù)據(jù)查詢(xún)與更新SELECTstudents.sname,選修的課程=Camefromstudent.dbo.studentsjoinstudent.dbo.Reportsonstudents.sno=Reports.snojoinstudent.dbo.CoursesonCo=Ro2、查詢(xún)每個(gè)學(xué)生的學(xué)號(hào)(Sno)、姓名(Sname)、選修的課程名(Cname)及成績(jī)(Grade)。實(shí)SELECT學(xué)號(hào)=studentssno姓名students.sname,課程成績(jī)=ReportsGrade選修的課程Camefromstudent.dbostudentsjoinstudent.dbo.Reportsonstudents.sno=Reportssnojoinstudentdbo.CoursesonCo=Reportscno3、查詢(xún)選修了編號(hào)為“C02”的課程的學(xué)生姓名(Sname)和所在系(Sdept)。驗(yàn)selectsname,sdeptfromstudentdbo.studentsjoinstudentdbo.Reportsonstudents.snoReports.snowhereReportscno=內(nèi)4、查詢(xún)與“李偉”在同一個(gè)系學(xué)習(xí)的學(xué)生學(xué)號(hào)(Sno)、姓名(Sname)和系名(Sdept)。selectsname,sdept,snofromstudentdbostudentswheresdept=(selectsdeptfromstudentdbo.studentswheresname:'李偉')容5、查詢(xún)選修了課程名為“數(shù)據(jù)結(jié)構(gòu)”的學(xué)生學(xué)號(hào)(Sno)和姓名(Sname)。selectsname,studentssnofromstudentdbo.studentsjoinstudentdbo.Reportsonstudents.snoReports.snojoinstudent.dbo.CoursesonRoCowherecname='數(shù)據(jù)結(jié)構(gòu)'6、查詢(xún)所有選修了編號(hào)為“C01”課程的學(xué)生姓名(Sname)和所在系(Sdept)。

selectsname,sdeptfromstudentdbo.studentsjoinstudentdbo.Reportsonstudents.snoReports.snowhereReportscno='c01'7、查詢(xún)計(jì)算機(jī)科學(xué)系的學(xué)生或年齡不大于20歲的學(xué)生信息。select*fromstudentdbo.studentswheresdept='計(jì)算機(jī)科學(xué)系'orsage<=208、將學(xué)號(hào)為“S03”的學(xué)生年齡改為22歲。updatestudentssetsage22wheresno='s03'9、將所有學(xué)生的年齡增加1歲。updatestudentssetsagesage110、將數(shù)學(xué)系所有學(xué)生的成績(jī)置零。updateReportssetGrade0fromstudentdbostudentswhere Reportssno=students.snoandsdept='數(shù)學(xué)'11、刪除學(xué)號(hào)為“S04”的學(xué)生選修的課號(hào)為“C02”的記錄。usestudentdeleteReportswheresno='s04'andcno='c02'12、刪除所有學(xué)生的選課記錄。usestudentdeleteReports13、刪除數(shù)學(xué)系所有學(xué)生的選課記錄。usestudentdeleteReportsfromstudentdbo.Reportsjoinstudentdbo.studentsonsdept='數(shù)學(xué)'whereReports.snostudents.sno

實(shí)驗(yàn)五索引與視圖實(shí)驗(yàn)名稱(chēng)索引與視圖實(shí)驗(yàn)日期使用設(shè)備硬件:電腦一臺(tái)軟件:Windows、SQLserver2000實(shí)驗(yàn)地點(diǎn)實(shí)驗(yàn)?zāi)康?、 掌握sql建立索引的一種方法,即在基本表中建立和用命令方式建立;掌握刪除索引的方法。2、 掌握sql視圖建立、修改和刪除。實(shí)驗(yàn)內(nèi)容1、為student數(shù)據(jù)庫(kù)中的Students,Courses,Reports二個(gè)表建立索引。其中Students表按Sno(學(xué)號(hào))升序建立唯一索引,Courses表按Cno(課程號(hào))升序建立唯一索引,Reports表按Sno(學(xué)號(hào))升序和Cno(課程號(hào))號(hào)降序建立唯一索引。usestudentcreateuniqueclusteredindexpk_snoonstudentdbostudents(snoasc)usestudentcreateuniqueclusteredindexc_cnoonstudentdboCourses(cnoasc)usestudentcreateuniqueclusteredindexRep_SCnoonstudentdboReports(snocnodesc)2、在基本表Students的Sname(姓名)和Sno(學(xué)號(hào))列上建立一個(gè)聚簇索引,而且Students中的物理記錄將按照Sname值和Sno值的升序存放。usestudentcreateuniqueclusteredindexpk_studentsonstudentdbostudents(snoasc,snameasc)usestudent3、刪除基本表Reports上的Rep_SCno索引。usestudentdropindexReports.Rep_SCno4、建立數(shù)學(xué)系學(xué)生的視圖,并要求進(jìn)行修改和插入操作時(shí)仍需保證該視圖只有數(shù)學(xué)系的學(xué)生,視圖的屬性名為Sno,Sname,Sage,Sdept。usestudentgocreateviewc_studentasselectsno,sname,sage,sdeptfrom student,dbo.studentswheresdept='數(shù)學(xué)'withcheckoption5、建立學(xué)生的學(xué)號(hào)(Sno)、姓名(Sname)、選修課程名(Cname)及成績(jī)(Grade)的視圖。本視圖由三個(gè)基本表的連接操作導(dǎo)出。usestudentgocreateviewstudent_CRasselectstudents.sno,sname,cname,Gradefromstudent.dbo.students,student.dbo.Courses,student.dbo.Reportswherestudents.sno=Reports.snoandRo=Co6、 定義一個(gè)反映學(xué)生出生年份的視圖。usestudentgocreateviews_sage(sno,sname,sageasselectsno,sname,year(getdate())-sagefromstudent,dbo.students7、 刪除視圖StudentCR。usestudentdropviewstudent_CR8、 在數(shù)學(xué)系的學(xué)生視圖C_Student中找出年齡(Sage)小于20歲的學(xué)生姓名(Sname)和年齡(Sage)。usestudentselectsname,sagefromc_studentwheresage209、在Student_CR視圖中查詢(xún)成績(jī)?cè)?5分以上的學(xué)生學(xué)號(hào)(Sno)、姓名(Sname)和課程名稱(chēng)(Cname)。

usestudentselectsname,sno,cnamefromstudent_CRwhereGrade>8510、將數(shù)學(xué)系學(xué)生視圖C_Student中學(xué)號(hào)為S05的學(xué)生姓名改為“黃?!?。updatestudentdbo.c_studentsetsname='黃海'wheresno='s05'11、向數(shù)學(xué)系學(xué)生視圖C_Student中插入一個(gè)新的學(xué)生記錄,其中學(xué)號(hào)為“S09”,姓名為“王?!保挲g為20歲。insertstudentdbo.c_studentvalues('s03','王海','20','數(shù)學(xué)')12、刪除數(shù)學(xué)系學(xué)生視圖C_Student中學(xué)號(hào)為“S09”的記錄。deletestudentdbo.c_studentwheresno='s09'

實(shí)驗(yàn)六存儲(chǔ)過(guò)程和觸發(fā)器、安全管理實(shí)驗(yàn)名稱(chēng)存儲(chǔ)過(guò)程和觸發(fā)器、安全管理實(shí)驗(yàn)日期使用設(shè)備硬件:電腦一臺(tái)軟件:Windows、SQLserver2000實(shí)驗(yàn)地點(diǎn)實(shí)驗(yàn)?zāi)康?、 主要使用SQL語(yǔ)言對(duì)存儲(chǔ)過(guò)程和觸發(fā)器進(jìn)仃創(chuàng)建、顯示與刪除。2、 會(huì)使用企業(yè)管理器對(duì)存儲(chǔ)過(guò)程和觸發(fā)器進(jìn)行創(chuàng)建、顯示與刪除。3、 主要使用SQL語(yǔ)言對(duì)SQLserver中數(shù)據(jù)庫(kù)進(jìn)仃安全管理。實(shí)驗(yàn)內(nèi)容1、根據(jù)Sno創(chuàng)建一個(gè)存儲(chǔ)過(guò)程Sno_prog,用于顯示學(xué)生學(xué)號(hào)和姓名。并執(zhí)仃此過(guò)程。usestudentIFexists(SELECTnameFROMsysobjectsWHEREname='sno_prog'andtype='p')DROPproceduresno_progGOCREATEproceduresno_progASSELECTsnosnameFROMstudentdbostudentsGOEXECUTEsno_prog2、創(chuàng)建一個(gè)存儲(chǔ)過(guò)程add_prog,用于添加學(xué)生表Students的學(xué)生記錄。IFexists(SELECTnameFROMsysobjectsWHEREname='add_prog'andtype='p')DROPprocedureadd_progGOCREATEprocedureadd_progASinsertstudent.dbo.studentsvalues('','','','','')3、創(chuàng)建一個(gè)存儲(chǔ)過(guò)程dele_prog,刪除Courses中指定Cno的記錄。IFexists(SELECTnameFROMsysobjectsWHEREname='dele_prog'andtype='p')DROPproceduredele_progGOCREATEproceduredele_prog@學(xué)號(hào)char(5)ASdeleteFROMstudent.dbo.Courseswherecno=@學(xué)號(hào)4、顯示存儲(chǔ)過(guò)程add_prog。usestudentEXECUTEsp_helptextadd_prog5、 刪除存儲(chǔ)過(guò)程Snoprog。usestudentdropproceduresno_prog6、 在表Reports上創(chuàng)建一個(gè)觸發(fā)器Sno_update,當(dāng)Stuents表更改Sno時(shí)同步更改Reports中的Sno。usestudentIFexists(SELECTnameFROMsysobjectsWHEREname='sno_update'andtype='tr')DROPtriggersno_updateGOCREATETRIGGERsno_updateONstudentsafterupdateASDECLARE@xh1char(5),@xh2char(5)SELECT@xh1=snoFROMdeletedSELECT@xh2=snoFROMinsertedUPDATEReportsSETsno=@xh2WHEREsno=@xh1GO7、 在表Reports上創(chuàng)建一個(gè)觸發(fā)器Cno_update,當(dāng)Courses表更改Cno時(shí)同步更改Reports中的Cno。usestudentIFexists(SELECTnameFROMsysobjectsWHEREname='cno_update'andtype='tr')DROPtriggercno_updateGOCREATETRIGGERcno_updateONCoursesafterupdateASDECLARE@xh1char(5),@xh2char(5)SELECT@xh1=cnoFROMdeletedSELECT@xh2=cnoFROMinsertedUPDATEReportsSETcno=@xh2WHEREcno=@xh1GO8、在Reports表上創(chuàng)建一個(gè)觸發(fā)器“成績(jī)插入”、“成績(jī)刪除”、“成績(jī)更新”觸發(fā)器,當(dāng)用戶(hù)插入、刪除、更新記錄時(shí)觸發(fā)。usestudentIFexists(SELECTnameFROMsysobjectsWHEREname='成績(jī)插入'andtype='tr')DROPtrigger成績(jī)插入GOCREATEtrigger成績(jī)插入??赗eportsafterupdateASinsertstudent.dbo.Reportsvalues('','','')usestudentIFexists(SELECTnameFROMsysobjectsWHEREname='成績(jī)刪除'andtype='tr')DROPtrigger成績(jī)刪除GOCREATEtrigger成績(jī)刪除onReportsafterupdateASdelete student,dbo.Reportswheresno=''usestudentIFexists(SELECTnameFROMsysobjectsWHEREname='成績(jī)更新'andtype='tr')DROPtrigger成績(jī)更新GOCREATEtrigger成績(jī)更新onReportsafterupdateASDECLARE@xh1char(5),@xh2char(5)SELECT@xh1=snoFROMdeletedSELECT@xh2=snoFROMinsertedUPDATEReportsSETsno=@xh2WHEREsno=@xh1GO9、刪除觸發(fā)器“成績(jī)刪除”。

Droptrigger成績(jī)刪除10、創(chuàng)建一個(gè)名為“計(jì)算機(jī)”密碼為“1234”,默認(rèn)數(shù)據(jù)庫(kù)為“student”的登錄帳戶(hù)。sp_addlogin'計(jì)算機(jī)','1234','student','us_english'11、將登錄帳戶(hù)“計(jì)算機(jī)”的密碼由“1234”改為“OK”。默認(rèn)數(shù)據(jù)庫(kù)由“student”改為“Pubs”數(shù)據(jù)庫(kù)。executesp_password'1234','ok','計(jì)算機(jī)'executesp_defaultdb'計(jì)算機(jī)','pubs'12、刪除登錄帳戶(hù)“計(jì)算機(jī)”。executesp_droplogin'計(jì)算機(jī)'13、創(chuàng)建一個(gè)名字和密碼都為自己學(xué)號(hào),默認(rèn)數(shù)據(jù)庫(kù)為“student”登錄帳戶(hù)。而后將該登錄帳戶(hù)設(shè)置為加入到sysadmin角色中。executesp_addlogin'201002520119','201002520119','student','us_english'executesp_addsrvrolemember'201002520119','sysadmin'14、在“student”數(shù)據(jù)庫(kù)中建立新的角色yyc和managers0executesp_addrole'yyc'executesp_addrole'managers'15、給public角色授予SELECT權(quán)限,并將UPDATA、DELETE權(quán)限授予用戶(hù)yyc和managers,使這些用戶(hù)擁有對(duì)數(shù)據(jù)庫(kù)“student”下的“Students”、“Courses”、“Reports”表的相應(yīng)權(quán)限。grantSELECTtopublicgrantupdate,deletetoyycmanagers

實(shí)驗(yàn)七數(shù)據(jù)完整性實(shí)驗(yàn)名稱(chēng)數(shù)據(jù)完整性(4課時(shí))實(shí)驗(yàn)日期使用設(shè)備硬件:電腦一臺(tái)軟件:Windows、SQLserver2000實(shí)驗(yàn)地點(diǎn)實(shí)驗(yàn)?zāi)康?、 主要使用SQL語(yǔ)言對(duì)約束、規(guī)則和默認(rèn)值進(jìn)行定義、刪除與修改。2、 會(huì)使用企業(yè)管理器對(duì)約束、規(guī)則和默認(rèn)值進(jìn)行建立、修改和刪除。在實(shí)驗(yàn)—的基礎(chǔ)上對(duì)student數(shù)據(jù)庫(kù)的表Students、Course

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
  • 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ì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論