《数据库原理及应用》实验报告Word文件下载.docx

上传人:b****4 文档编号:6502582 上传时间:2023-05-06 格式:DOCX 页数:27 大小:246.84KB
下载 相关 举报
《数据库原理及应用》实验报告Word文件下载.docx_第1页
第1页 / 共27页
《数据库原理及应用》实验报告Word文件下载.docx_第2页
第2页 / 共27页
《数据库原理及应用》实验报告Word文件下载.docx_第3页
第3页 / 共27页
《数据库原理及应用》实验报告Word文件下载.docx_第4页
第4页 / 共27页
《数据库原理及应用》实验报告Word文件下载.docx_第5页
第5页 / 共27页
《数据库原理及应用》实验报告Word文件下载.docx_第6页
第6页 / 共27页
《数据库原理及应用》实验报告Word文件下载.docx_第7页
第7页 / 共27页
《数据库原理及应用》实验报告Word文件下载.docx_第8页
第8页 / 共27页
《数据库原理及应用》实验报告Word文件下载.docx_第9页
第9页 / 共27页
《数据库原理及应用》实验报告Word文件下载.docx_第10页
第10页 / 共27页
《数据库原理及应用》实验报告Word文件下载.docx_第11页
第11页 / 共27页
《数据库原理及应用》实验报告Word文件下载.docx_第12页
第12页 / 共27页
《数据库原理及应用》实验报告Word文件下载.docx_第13页
第13页 / 共27页
《数据库原理及应用》实验报告Word文件下载.docx_第14页
第14页 / 共27页
《数据库原理及应用》实验报告Word文件下载.docx_第15页
第15页 / 共27页
《数据库原理及应用》实验报告Word文件下载.docx_第16页
第16页 / 共27页
《数据库原理及应用》实验报告Word文件下载.docx_第17页
第17页 / 共27页
《数据库原理及应用》实验报告Word文件下载.docx_第18页
第18页 / 共27页
《数据库原理及应用》实验报告Word文件下载.docx_第19页
第19页 / 共27页
《数据库原理及应用》实验报告Word文件下载.docx_第20页
第20页 / 共27页
亲,该文档总共27页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

《数据库原理及应用》实验报告Word文件下载.docx

《《数据库原理及应用》实验报告Word文件下载.docx》由会员分享,可在线阅读,更多相关《《数据库原理及应用》实验报告Word文件下载.docx(27页珍藏版)》请在冰点文库上搜索。

《数据库原理及应用》实验报告Word文件下载.docx

4.创建课程关系表SC:

成绩

grade

5.将以上创建表S、C、SC的SQL命令以.SQL文件的形式保存在磁盘上。

6、在表S上增加“出生日期”属性列。

7、删除表S的“年龄”属性列。

8、删除S姓名列的唯一值约束。

9、修改SC表成绩属性列为精确数字型。

10、在表S上,按“Sno”属性列的唯一值方式建立索引。

11、删除表SC,利用磁盘上保存的.SQL文件重新创建表SC。

12、创建教材P74页习题5中SPJ数据库中的四个关系:

S、P、J、SPJ。

三、实验结果:

createdatabaseStudend;

createtableS

SnoCHAR(9)PRIMARYKEY,

SnameCHAR(20)UNIQUE,

SsexCHAR

(2),

Sagesmallint,

Sdeptchar(20),

);

createtableC

Cnochar(4)primarykey,

CnameCHAR(40),

Cpnochar(4),

CcreditSMALLINT,

createtableSC

Snochar(9),

Cnochar(4),

Gradesmallint,

altertableSaddSbirthdaydatetime;

altertableSdropcolumnSage;

altertableSdropUQ__S__7D78A4E7;

altertableSCaltercolumnGradeint;

createuniqueindexStusnoonS(Sno);

droptableSC;

实验二数据更新实验

实验二成绩:

1、熟悉和掌握数据表中数据的插入、修改、删除操作和命令的使用

2、加深理解表的定义对数据更新的作用

(一)利用查询分析器在表中插入数据

打开在实验一中建立的“学生课程”数据库;

在“SCDB”数据库中的student、course、sc表中插入数据;

student表的内容:

SNOSNAMESSEXSAGESDEPT

95001李勇男20CS

95002刘晨女19IS

95003王敏女18MA

course表的内容

CNOCNAMECPNOCREDIT

1数据库54

2数学NULL2

3信息系统14

4操作系统NULL3

5数据处理NULL2

sc表的内容

SNOCNOGRADE

95001192

95001265

95001388

95002290

95002380

(二)修改表中的数据

在插入数据后的三张表S、C、SC中进行相关的更新操作:

1、将student表中‘李勇’的名字改为‘李明’;

2、将student表中‘王敏’的年龄改为20岁;

3、将所有学生的年龄增加1岁;

4、修改学生的学号‘95002’为‘95005’,注意表之间的关系,保持一致性;

5、把选修了“2”号课程,且成绩低于70分的成绩提高5%;

6、将“CS”系全体学生的成绩置零;

(三)删除表中的数据

1、把选修了“2”号课程,且成绩低于70分的学生的成绩删除掉;

2、删除学号为“95003”的相关信息;

3、删除"

IS"

系选修了"

2"

号课程的选课记录;

4、删除“CS”系的全体学生的选课记录;

5、删除整张表的数据,注意表之间的关系,保持一致性。

insert

intoS(Sno,Sname,Ssex,Sage,Sdept)

values('

95001'

'

李勇'

男'

20,'

CS'

95002'

刘晨'

女'

19,'

IS'

95003'

王敏'

select*

fromS;

intoC(Cno,Cname,Cpno,Ccredit)

1'

数据库'

5'

4);

2'

数学'

NULL,2);

3'

信息系统'

4'

操作系统'

NULL,3);

数据处理'

intoSC(Sno,Cno,Grade)

92);

65);

88);

90);

intoSC(Sno,Cno,Grade)

80);

updateS

setSname='

李明'

whereSno='

;

setSage=20

whereSname='

updateS

setSage=Sage+1;

setSno='

95005'

updateSC

setGrade=Grade*1.05

whereCno='

andGrade<

70;

6、

将“CS”系全体学生的成绩置零;

setGrade=0

where'

=(selectSdeptfromSwhereS.Sno=SC.Sno);

deletefromSC

deletefromS

andSnoin(selectSnofromSwhereSdept='

deletefromSC;

实验三数据查询实验

实验三成绩:

熟悉和掌握对数据表中数据的查询操作和SQL命令的使用,学会灵活熟练的使用SQL语句的各种形式;

加深理解关系运算的各种操作(尤其的关系的选择,投影,连接和除运算)

二、实验方法及步骤

1.在表student,course,sc上进行简单查询;

2.在表student,course,sc上进行连接查询;

3.在表student,course,sc上进行嵌套查询;

4.使用聚合函数的查询;

5.对数据的分组查询;

6.对数据的排序查询。

三、实验内容

在表student,course,sc上完成以下查询:

1、查询学生的基本信息;

2、查询“CS”系学生的基本信息;

3、查询“CS”系学生年龄不在19到21之间的学生的学号、姓名;

4、找出最大年龄;

5、找出“CS”系年龄最大的学生,显示其学号、姓名;

6、统计“CS”系学生的人数;

7、统计各系学生的人数,结果按升序排列;

8、按系统计各系学生的平均年龄,结果按降序排列;

9、查询每门课程的课程名;

10、统计无先修课的课程的学分总数;

11、查询选修了“1”或“2”号课程的学生学号和姓名;

12、查询选修了“1”和“2”号课程的学生学号和姓名;

13、查询选修了课程名为“数据库系统”且成绩在60分以下的学生的学号、姓名和成绩;

14、查询每位学生选修了课程的学生信息(显示:

学号,姓名,课程号,课程名,成绩);

15、查询没有选修课程的学生的基本信息;

16、查询选修了3门以上课程的学生学号;

17、查询选修课程成绩至少有一门在80分以上的学生学号;

18、查询选修课程平均成绩在80分以上的学生学号;

19、(选做)统计每位学生选修课程的门数、学分及其平均成绩;

20、(选做)找出平均成绩在85分以上的学生,结果按系分组,并按平均成绩的升序排列。

四、实验结果:

select*fromS;

fromS

whereSdept='

selectSno,Sname

wheresdept='

ANDSagenotbetween19and21;

selectmax(Sage)

whereSage=

(selectmax(Sage)

fromS

whereSdept='

7、统计“CS”系学生的人数;

SELECTSdept,count(*)

GROUPBYSdept;

8、统计各系学生的人数,结果按升序排列;

SELECTSdept,COUNT(*)

FROMS

groupbysdept;

9、按系统计各系学生的平均年龄,结果按降序排列;

selectSdept,avg(Sage)

groupbySdept

orderbyavg(Sage)desc;

10、

查询每门课程的课程名;

selectCname

fromC

groupbyCname;

selectsum(Ccredit)

whereCpnoisnull;

selectS.Sno,Sname

fromS,SC

WHERES.Sno=SC.SnoAND(Cno='

orCno='

fromSC,S

ANDS.Sno=SC.SnoandSC.SnoIN

(selectSno

fromSC

whereCno='

selectS.Sno,Sname,Grade

fromS,SC,C

whereSC.Sno=S.SnoandC.Cno=SC.CnoandCname='

60;

selectS.Sno,Sname,C.Cno,Cname,Grade

fromSC,C,S

WHERES.Sno=SC.SnoandC.Cno=SC.Cno;

WHEREnotexists

(select*

WHERES.Sno=Sno);

selectSno

fromSC

groupbySno

havingcount(*)>

3;

selectdistinctS.Sno

WHERES.Sno=SC.SnoandGrade>

80;

whereSC.Sno=S.SnoandSC.Snoin

GROUPBYSno

havingavg(Grade)>

80);

19、(选做)SC

实验四视图的定义、使用实验

实验四成绩:

熟悉和掌握对数据表中视图的定义操作和SQL命令的使用;

熟悉和掌握对数据表中视图的查询操作和SQL命令的使用;

熟悉和掌握对数据表中视图的更新操作和SQL命令的使用,并注意视图更新与基本表更新的区别与联系;

学习灵活熟练的进行视图的操作,认识视图的作用;

1.视图的定义

2.视图的查询

3.视图的修改

三、实验内容:

以students,courses,sc表为基础完成以下视图定义(使用SQL和企业管理器两种方法)及使用

1.定义“IS”系学生基本情况视图V_IS并查询结果;

2.将students,courses,sc表中学生的学号,姓名,课程号,课程名,成绩定义为视图V_S_C_G并查询结果;

3.将各系学生人数,平均年龄定义为视图V_NUM_AVG并查询结果;

4.定义一个反映学生出生年份的视图V_YEAR并查询结果;

5.将各位学生选修课程的门数及平均成绩定义为视图V_AVG_S_G并查询结果;

6.建立视图V_AVG平均成绩为90分以上的学生学号;

7.通过视图V_IS,分别将学号为“95001”和“95004”的学生姓名更改为“S0001”,”S0004”并查询结果;

8.通过视图V_IS,新增加一个学生记录(’S0012’,’YANXI’,19,’IS’),并查询结果;

9.通过视图V_IS,新增加一个学生记录(’S0013’,’YANXI’,19,’MA’),并查询结果;

10.通过视图V_IS,删除学号为“S0012”和“95003”的学生信息,并查询结果;

四、实验结果

createviewV_IS

as

fromS

createviewV_S_C_G

selectS.Sno,Sname,C.Cno,Cname,Grade

whereS.Sno=SC.SnoandSC.Cno=C.Cno;

createviewV_NUM_AVG(Sdept,Sdept_count,Sage_avg)

selectSdept,count(Sdept),avg(Sage)

groupbySdept;

createviewV_YEAR(Sname,Sbirthday)

selectSname,2013-Sage

createviewV_AVG_S_G(Sno,Cno_count,Grade_avg)

selectSno,count(Cno),avg(Grade)

groupbySno;

createviewV_AVG(Grade_over90_Sno)

selectS.Sno

(selectSno

fromSC

groupbySno

havingavg(Grade)>

90);

updateV_IS

王明'

王强'

intoV_IS(Sno,Sname,Sage,Sdept)

VALUES('

宋明'

19'

95006'

王芳'

MA'

delete

fromV_IS

orSno='

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 人文社科 > 法律资料

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2