數(shù)據(jù)庫實驗前幾個解答_第1頁
數(shù)據(jù)庫實驗前幾個解答_第2頁
數(shù)據(jù)庫實驗前幾個解答_第3頁
數(shù)據(jù)庫實驗前幾個解答_第4頁
數(shù)據(jù)庫實驗前幾個解答_第5頁
已閱讀5頁,還剩5頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、上機(jī)實驗一數(shù)據(jù)庫的管理-創(chuàng)建數(shù)據(jù)庫CREATE DATABASE teachingDataAON PRIMARY(name=teachingDataA,filename=e:teachingDataA.mdf)LOG ON(name=teachingDataA_log,filename=e:teachingDataA_log.ldf)-刪除數(shù)據(jù)庫-DROP DATABASE teachingDataA實驗二 數(shù)據(jù)表的管理(一) USE teachingDataA-自定義數(shù)據(jù)類型myIDCREATE TYPE myID FROM char(6) NOT NULL-自定義數(shù)據(jù)類型myName1CR

2、EATE TYPE myName1 FROM nvarchar(10) NOT NULL-自定義數(shù)據(jù)類型myName2CREATE TYPE myName2 FROM char(20) NOT NULL-自定義數(shù)據(jù)類型myDeptCREATE TYPE myDept FROM char(50)-創(chuàng)建數(shù)據(jù)表TInfoCREATE TABLE TInfo(TID myID PRIMARY KEY,TName myName1,Sex char(2) DEFAULT 男 CHECK(sex=男 or sex=女),Dept myDept,Birthday smalldatetime,Title var

3、char(10),homeTel nchar(8),MPhone nchar(11)-或/*CREATE TABLE TInfo(TID myID PRIMARY KEY,TName myName1,Sex char(2) DEFAULT 男,Dept myDept,Birthday smalldatetime,Title varchar(10),homeTel nchar(8),MPhone nchar(11),CONSTRAINT CK_SEX CHECK(sex=男 or sex=女)*/-創(chuàng)建學(xué)生表SInfoCREATE TABLE SInfo(SID myID PRIMARY KEY

4、,SName myName1,Sex char(2) DEFAULT 男 CHECK(sex=男 or sex=女),Birthday smalldatetime,Dept myDept,major varchar(30),Class nchar(18),IDCardNo char(18)-創(chuàng)建課程表CInfoCREATE TABLE CInfo(CID myID PRIMARY KEY,CName myName2,CCredit tinyint,CProperty varchar(10)-創(chuàng)建選修表ScoreInfoCREATE TABLE ScoreInfo(CID myID FOREIG

5、N KEY REFERENCES CInfo(CID),SID myID FOREIGN KEY REFERENCES SInfo(SID),TID myID,Score numeric(3,1),Schyear char(9),term char(1),FOREIGN KEY(TID) REFERENCES TInfo(TID),PRIMARY KEY(CID,SID)-修改表SInfo表的表結(jié)構(gòu),設(shè)置IDCardNo值為唯一的。ALTER TABLE SInfoADD CONSTRAINT UQ_Card UNIQUE(IDCardNo)-修改表ScoreInfo的表結(jié)構(gòu),設(shè)置term值只

6、能為1或2,默認(rèn)值為1。ALTER TABLE ScoreInfoADD CONSTRAINT CK_term CHECK(term=1 OR term=2)ALTER TABLE ScoreInfoADD CONSTRAINT DF_term DEFAULT(1) FOR term-在表SInfo中添加一字段EntrData(即入學(xué)日期),要求該輸入范圍在1900-1-1至2079-12-31。之間ALTER TABLE SInfoADD EntrDate SmallDateTime-修改表TInfo的表結(jié)構(gòu),要求刪除其中的Birthday字段。ALTER TABLE TInfoDROP C

7、OLUMN Birthday-修改表TInfo表的表結(jié)構(gòu),其中的字段homeTel只允許為數(shù)字,且第1位數(shù)不能為0。ALTER TABLE TInfoADD CONSTRAINT CK_ThomeTel CHECK(homeTel like 1-90-90-90-90-90-90-90-9)-修改表TInfo的表結(jié)構(gòu),增加Birthday字段。ALTER TABLE TInfoADD Birthday datetime-向教師表插入數(shù)據(jù)INSERT INTO TInfo(TID, TName, sex, Dept, Birthday, Title, homeTel)VALUES(101001,

8、施華,男,1962-5-1,教授,43562634)-利用T-SQL命令語句在表TInfo中輸入數(shù)據(jù),當(dāng)TID大于101000且小于101999時,其所在部門Dept為信息管理,當(dāng)TID大于102000且小于102999時,其所在部門Dept為電子商務(wù)。UPDATE TInfoSET Dept=信息管理 where TID=101001 and TID=102001 and TID=70-或SELECT Sname, scoreFROM StuInfo,ScoreInfowhere StuInfo.SID=ScoreInfo.SID ANDScore=70ANDCID = (SELECT CI

9、D FROM CourseInfoWHERE CName = 數(shù)據(jù)庫原理與應(yīng)用)-(五)嵌套查詢-查詢與“周志成”同學(xué)在同一個班同一個年級的學(xué)生姓名。SELECT SnameFROM StuInfowhere class=(SELECT class FROM StuInfoWHERE Sname = 周志成)AND grade=(SELECT grade FROM StuInfoWHERE Sname = 周志成)實驗五 視圖 -PPT中例題-1、建立物電學(xué)院選修了1101號課程的學(xué)生視圖S_1。CREATE VIEW S_1(SID, Sname, Score) AS SELECT StuI

10、nfo.SID, StuInfo.Sname, ScoreInfo.score FROM StuInfo,ScoreInfo WHERE StuInfo.Dept= 物電學(xué)院 AND StuInfo.SID = ScoreInfo.SID AND ScoreInfo.CID= 1101;-2、創(chuàng)建學(xué)生成績stu_scoreA視圖,要求其中包括字段Sid, Sname, Cname, score.CREATE VIEW S_2(SID, Sname, CName, Score) AS SELECT StuInfo.SID, StuInfo.Sname, CourseInfo.CName,Scor

11、eInfo.score FROM StuInfo,ScoreInfo,CourseInfo WHERE ScoreInfo.CID = CourseInfo.CID AND StuInfo.SID = ScoreInfo.SID;-3、建立計算機(jī)學(xué)院學(xué)生的學(xué)號、姓名和專業(yè)的視圖student_1。CREATE VIEW Student_1(學(xué)號,姓名,專業(yè)) AS SELECT SID, Sname, Major FROM StuInfo WHERE Dept= 計算機(jī)學(xué)院-4、建立計物電學(xué)院的學(xué)號、姓名和專業(yè)的視圖Student_2,并要求通過該視圖進(jìn)行的更新操作只涉及物電學(xué)院學(xué)生。CREA

12、TE VIEW Student_2 AS SELECT SID,Sname, Major FROM StuInfo WHERE Dept= 物電學(xué)院 WITH CHECK OPTION;-5、定義一個反映學(xué)生年齡的視圖StuAge。CREATE VIEW StuAge(SID, Sname, Sage) AS SELECT SID, Sname, year(getdate()-year(birthday) FROM StuInfo-6、將學(xué)生的學(xué)號及他的平均成績定義為一個視圖ScoreAvg 。CREATE VIEW ScoreAvg(學(xué)號,平均成績) AS SELECT SID, AVG(S

13、core) FROM ScoreInfo GROUP BY SID; -7、建立物電學(xué)院選修了1101號課程的學(xué)生成績視圖StuCourse1 。CREATE VIEW StuCourse1(學(xué)號, 姓名, 成績) AS SELECT StuInfo.SID, Sname, Score FROM StuInfo,ScoreInfo WHERE Dept= 物電學(xué)院 AND StuInfo.SID=ScoreInfo.SID AND ScoreInfo.CID= 1101;-8、建立物電學(xué)院選修了1101號課程且成績在60分以上的學(xué)生的視圖。 CREATE VIEW Stu_Pass1 AS S

14、ELECT 學(xué)號, 姓名, 成績 FROM StuCourse1 WHERE 成績=60-9、使用T-SQL語句來查看teachindData數(shù)據(jù)庫的student_1視圖的定義。USE teachingData;EXEC sp_helptext student_1;-10、從視圖Student_1查詢計算機(jī)學(xué)院學(xué)生的學(xué)號、姓名和專業(yè)的信息。Use teachingData;SELECT * FROM Student_1;-11、查詢視圖stu_scoreA,要求按課程名稱進(jìn)行排序。select *from stu_scoreBorder by Cname-12、修改視圖“Student_1”

15、為查看計算機(jī)學(xué)院學(xué)生的學(xué)號、姓名、性別和專業(yè)。ALTER VIEW Student_1 AS SELECT SID, sname, sex, Major FROM StuInfo WHERE Dept= 計算機(jī)學(xué)院;-13、將視圖student_1更名為“student_computer”。 Use teachingDataGoEXEC sp_rename student_1, student_computer-14、利用視圖StuCourse1為物電學(xué)院中每位學(xué)生的數(shù)據(jù)庫原理與應(yīng)用成績減少5分。Update StuCourse1Set 成績=成績-5-15、從teachingData數(shù)據(jù)庫中

16、刪除視圖student_2和sc_1。 USE teachingData GoDrop View student_2, sc_1-其他-1、在teachingData數(shù)據(jù)庫中建立視圖score_top,要求在該視圖中顯示各門學(xué)科的CID和score_max(即學(xué)科的最高分)。CREATE VIEW score_top AS SELECT CID, MAX(Score) 最高分 FROM ScoreInfoGROUP BY CID-2、利用teachingData數(shù)據(jù)庫中的相關(guān)的數(shù)據(jù)表和視圖score_top新建一視圖top_stu,要求在該視圖中顯示各門學(xué)科的學(xué)科名cname,取得最高分的學(xué)生

17、名sname和成績score。CREATE VIEW top_stu AS SELECT CName, SName, Score FROM ScoreInfo,StuInfo,CourseInfo,score_topWHERE ScoreInfo.CID = score_top.CID ANDScoreInfo.score = score_top.最高分 ANDScoreInfo.SID=StuInfo.SID ANDScoreInfo.CID=CourseInfo.CID;-3、要求用T-SQL語句新建一視圖stu_comp,要求該視圖中只包括物電學(xué)院學(xué)生的學(xué)號sid、姓名sname、年齡sage和班級class視圖。create view stu_compasselect sid,sname,year(getdate()-year(birthday) as sage,classfrom stuinfowhere dept=物電學(xué)院-4、試用T-SQL語句修改視圖stu_comp,要求該視圖中只包括2009級物電學(xué)院學(xué)生的學(xué)號sid、姓名sname、年齡sage、班級class。ALTER view stu_compasselect sid,sname,year(getdate()-year

溫馨提示

  • 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論