《数据库上机实验五.doc》由会员分享,可在线阅读,更多相关《数据库上机实验五.doc(29页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、Four short words sum up what has lifted most successful individuals above the crowd: a little bit more.-author-date数据库上机实验五实验五 SQL语言综合实验实验五 SQL语言综合实验一、实验目的利用SQL语言的9个动词以及相关语法解决综合问题;体会SQL语言在数据库系统设计、实现过程中的作用。二、实验内容及步骤特别说明:实验过程中所有的SQL语句的都需要保存到一个word文件或文本文档中,实验结束前需将SQL语句粘贴到网络课程中提交;数据库文件需分离后压缩提交FTP。以下操作均在
2、查询分析器中实现:1、建立以dbszh+“学号”命名的数据库,如dbszh101 /设1班01号学生。2、在第一步建立的数据库中建立S,C,SC基本表v S(sno,sname,sex,bdate,height) 030920311 王义平 男 1984-08-20 1.71v C(cno,lhour,credit,semester) cs-201 80 4 秋v Sc(sno,cno,grade) 030920311 cs-201 80.0各字段数据类型请参考示例元组设定,定义S表的主码为sno,定义C表的主码为cno,定义SC表的主码为(sno,cno),定义sno为SC表的外码,定义cn
3、o为SC表的外码。3、 修改基本表(1) 在C表中增加一个新的属性“cname”,char(8)型,允许为空值。(2) 将C表中的cname属性类型改为char(20)型。(3) 删除C表中的cname属性。4、建立索引(1)在SC表的多个字段建立索引,以“INDEX+自己的学号”命名索引名(如:index101),先按学号升序索引,然后按成绩降序索引。(2)删除刚才建立的索引。5、更新数据(1)利用INSERT语句插入元组:S表中: 030920311 王义平 男 1984-08-20 1.71 050620312 张三男1984-04-20 1.9“你的学号” “你的姓名” “你的性别”
4、“你的出生日期” “你的身高” C表中:(课程号cno值的前两位表示开课系) cs-201 80 4 秋 cs-202 60 4 春 dj-101 30 2 秋Sc表中: 030920311 cs-201 75 “你的学号” cs-202 68 “你的学号” dj-101 (2)利用UPDATE修改元组 将SC表中你自己的成绩都改为90分。6、查询(1) 查询选修计算机系秋季所开课程的男生姓名、课程号、学分数、成绩(2) 查询至少选修一门电机系课程的女生的姓名(3) 查询每位学生已选课程的门数和总平均成绩(4) 查询缺成绩的学生的姓名、缺成绩的课程号及其学分数7、视图(1)创建视图,以“V+你
5、的学号”命名(如:V101),提供计算机系秋季所开课程的课程号和学分数。(2)利用第1步创建的视图和给定的3个基本表,查询出选修计算机系秋季所开课程的男生的姓名、课程号、学分数、成绩。8、删除(1)删除你自己的所有选课记录。(2)删除SC表。-实验五-1create database dbszh113 -2-s表create table s(sno char(10) primary key, sname char(20), sex char(2)check(sex in (男,女), bdate datetime, height float);-c表create table c(cno cha
6、r(10)primary key, lhour int, credit int, semester char(4);-sc表create table sc(sno char(10), cno char(10), grade float, primary key(sno,cno), foreign key (sno)references s(sno), foreign key (cno)references c(cno);-3-1alter table cadd cname char(8);-2alter table calter column cname char(20);-3alter ta
7、ble cdrop column cname;-4-1create unique index index113 on sc(sno asc,cno desc);-2drop index index113 on sc ;-5-1.1insert into svalues(030920311,王平义,男,1984-08-20,1.71);insert into svalues(050620312,张三,男,1984-04-20,1.9);insert into svalues(110303113,叶惠,女,1992-02-01,1.69);-1.2insert into cvalues(cs-20
8、1,80,4,秋);insert into cvalues(cs-202,60,4,春);insert into cvalues(dj-101,30,2,秋);-1.3insert into scvalues(030920311,cs-201,75);insert into scvalues(110303113,cs-202,68);insert into scvalues(110303113,dj-101,null);-3update scset grade=90where sno=110303113;-6-1select sname,o,credit,gradefrom s,c,scwhe
9、re s.sno=sc.sno and o=oand o likecs% and semester=秋 and sex=男;-2select snamefrom s,scwhere sc.sno=s.sno and o likedj% and sex=女;-3select sno,count(cno),avg(grade)from scgroup by sno;-4select sname,o,creditfrom s,c,scwhere s.sno=sc.sno and o=oand grade is null;-7-1create view v113asselect cno,creditfrom cwhere cno likecs% and semester=秋;-2select sname,o,v113.credit,gradefrom s,sc,v113where s.sno=sc.sno and o=o and sex=男;-8-1delete from scwhere sno=110303113;-2drop table sc;-