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

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、上機實驗一數(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)建學生表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表的表結構,設置IDCardNo值為唯一的。ALTER TABLE SInfoADD CONSTRAINT UQ_Card UNIQUE(IDCardNo)-修改表ScoreInfo的表結構,設置term值只

6、能為1或2,默認值為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(即入學日期),要求該輸入范圍在1900-1-1至2079-12-31。之間ALTER TABLE SInfoADD EntrDate SmallDateTime-修改表TInfo的表結構,要求刪除其中的Birthday字段。ALTER TABLE TInfoDROP C

7、OLUMN Birthday-修改表TInfo表的表結構,其中的字段homeTel只允許為數(shù)字,且第1位數(shù)不能為0。ALTER TABLE TInfoADD CONSTRAINT CK_ThomeTel CHECK(homeTel like 1-90-90-90-90-90-90-90-9)-修改表TInfo的表結構,增加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ù),當TID大于101000且小于101999時,其所在部門Dept為信息管理,當TID大于102000且小于102999時,其所在部門Dept為電子商務。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ù)庫原理與應用)-(五)嵌套查詢-查詢與“周志成”同學在同一個班同一個年級的學生姓名。SELECT SnameFROM StuInfowhere class=(SELECT class FROM StuInfoWHERE Sname = 周志成)AND grade=(SELECT grade FROM StuInfoWHERE Sname = 周志成)實驗五 視圖 -PPT中例題-1、建立物電學院選修了1101號課程的學生視圖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= 物電學院 AND StuInfo.SID = ScoreInfo.SID AND ScoreInfo.CID= 1101;-2、創(chuàng)建學生成績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、建立計算機學院學生的學號、姓名和專業(yè)的視圖student_1。CREATE VIEW Student_1(學號,姓名,專業(yè)) AS SELECT SID, Sname, Major FROM StuInfo WHERE Dept= 計算機學院-4、建立計物電學院的學號、姓名和專業(yè)的視圖Student_2,并要求通過該視圖進行的更新操作只涉及物電學院學生。CREA

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

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

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

15、為查看計算機學院學生的學號、姓名、性別和專業(yè)。ALTER VIEW Student_1 AS SELECT SID, sname, sex, Major FROM StuInfo WHERE Dept= 計算機學院;-13、將視圖student_1更名為“student_computer”。 Use teachingDataGoEXEC sp_rename student_1, student_computer-14、利用視圖StuCourse1為物電學院中每位學生的數(shù)據(jù)庫原理與應用成績減少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,要求在該視圖中顯示各門學科的CID和score_max(即學科的最高分)。CREATE VIEW score_top AS SELECT CID, MAX(Score) 最高分 FROM ScoreInfoGROUP BY CID-2、利用teachingData數(shù)據(jù)庫中的相關的數(shù)據(jù)表和視圖score_top新建一視圖top_stu,要求在該視圖中顯示各門學科的學科名cname,取得最高分的學生

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,要求該視圖中只包括物電學院學生的學號sid、姓名sname、年齡sage和班級class視圖。create view stu_compasselect sid,sname,year(getdate()-year(birthday) as sage,classfrom stuinfowhere dept=物電學院-4、試用T-SQL語句修改視圖stu_comp,要求該視圖中只包括2009級物電學院學生的學號sid、姓名sname、年齡sage、班級class。ALTER view stu_compasselect sid,sname,year(getdate()-year(birth

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論