永发信息网

数据库原理的问题

答案:1  悬赏:30  手机版
解决时间 2021-12-29 10:13
实验一 数据库管理系统MS SQL Server2000企业管理器的使用
某学校的学生管理系统有下面三张表,Student 是学生信息表,保存的是学生的基本信息。Course是课程信息表保存的是课程的基本信息。Sc保存的是学生选课的信息。相应的列的定义和约束如下所示:
列名 说明 数据类型 约束
sno 学号 字符串,长度为7 主码
sname 姓名 字符串,长度为10 非空
ssex 性别 字符串,长度为2 取‘男’或‘女’
sage 年龄 整数 取值15~45
sdept 所在系 字符串,长度为20 默认为‘计算机系

列名 说明 数据类型 约束
cno 课程号 字符串,长度为10 主码
cname 课程名 字符串,长度为20 非空
ccredit 学分 整数 取值大于0
semster 学期 整数 取值大于0
period 学时 整数

列名 说明 数据类型 约束
sno 学号 字符串,长度为7 主码,引用Student的外码
cno 课程号 字符串,长度为10 主码,引用Course的外码
grade 成绩 整数 取值0~100

完成下列操作,要求写明过程和结果:
1.在你的数据库下建立上述三个表(满足所有表中的要求),应用企业管理器和查询分析器均可。如应用企业管理器写建表的过程,应用查询分析器写创建表的语句。
2.将excel中的数据通过SQL server2000导入导出工具导入到三张空表中。

实验二 数据库管理系统MS SQL Server2000 SQL的应用

根据实验一所建立的三张表,完成下列操作,要求写明语句和执行结果:
3.查询全体学生的信息,查询结果按所在系的系名升序排列,同一系的学生按年龄降序排列。
4.查询选修课门数等于或大于3门的学生的平均成绩和选课门数。
5.查询计算机系修数据结构课程的学生的修课成绩,要求列出学生姓名、课程名和成绩。
6.查询学生的选课状况,包括选了课程的学生和没有选课的学生。
7.查询选修了“C06”课程,且成绩高于此课程平均成绩的学生学号和成绩。
8.删除计算机系所有不及格学生的选课记录。
9.创建计算机系学生的选课视图view001,包括学生号、姓名、性别、年龄、系、课 程号、课程名及选课成绩。
10.在学生表的年龄列上建立一索引,索引名字为ix_age。

要操作过程
最佳答案
看看我以前作过的:
student(sno,sname,sex,age)
course(cno,cname,credit,teachno)
stu_cors(id,stuno,corsno,score)
teacher(tno,tname)
--一检索学习jsp这门课程的学生,列出学生的名字
select student.sname
from student
where sno in(select stuno from stu_cors where corsno =(select cno from course where cname='jsp'))
go

select student.sno
from student inner join stu_cors on student.sno=stu_cors.stuno
inner join course on corsno=course.cno
where course.cname='jsp'

select sname
from student
where sno in(select stu_cors.stuno
from stu_cors inner join course on stu_cors.corsno=course.cno where course.cname='jsp')

--二检索java课程有多少学生学习.
select COUNT(stuno) as 'JAVA学习人数'
from stu_cors
where corsno =(select cno from course where cname='java')

--三检索各科课程各有多少学生学习,
select course.cname,COUNT(stu_cors.stuno) as '学习人数'
from stu_cors inner join course on stu_cors.corsno=course.cno
group by course.cname

--四检索学习了jsp和servlet两门课程的学生有多少
select COUNT(sno) as 'jsp和servlet课程的学生人数'
from student
where sno in(select stu_cors.stuno
from stu_cors inner join course on stu_cors.corsno=course.cno
where course.cname='jsp') and
sno in(select stu_cors.stuno
from stu_cors inner join course on stu_cors.corsno=course.cno
where course.cname='jsp')

--五检索学习了超过两门课程的学生有多少
select corsno,COUNT(stuno) as '学习超过两门课程的学生人数'
from stu_cors
group by corsno having COUNT(stuno)>2 order by corsno

--六检索重来没有学生学习过的课程,课程的名字
select cname
from course
where cno not in(select corsno from stu_cors )
--七检索老师A有多少学生
select COUNT(stuno) as '张老师的学生人数'
from stu_cors
where corsno in(select course.cno
from course inner join teacher on course.teachno=teacher.tno
where teacher.tname='张华' )

--九检索一共有多少老师,每一个老师所授课程是什么
select teacher.tno,course.cname
from course join teacher on course.teachno=teacher.tno
group by teacher.tno,course.cname

--十检索每个老师有多少个学生
select teacher.tno,teacher.tname ,COUNT(stu_cors.stuno) as '学生人数'
from teacher inner join course on teacher.tno=course.cno
inner join stu_cors on course.cno=stu_cors.corsno
group by teacher.tno,teacher.tname order by teacher.tno

--十一检索授课超过两门的老师
select teacher.tno,COUNT(course.cno) as '授课超过两门的老师'
from teacher inner join course on teacher.tno=course.teachno
group by teacher.tno having(COUNT(course.cno)>2) order by teacher.tno

--十三检索A老师所授课程被学生全部学习的学生的名字.
select sname
from student
where sno (select stuno from stu_cors inner join )

--查询选修人数超过350人的课程的名字,以及每门课的选课总人数,并将结果按照人数的升序排序
select teacher.tno,COUNT(stu_cors.stuno) as '选课总人数'
from teacher inner join course on teacher.tno=course.teachno
inner join stu_cors on course.cno=stu_cors.corsno
group by teacher.tno having(COUNT(stu_cors.stuno)>350) order by count(stu_cors.stuno) asc

--查询没有选课的学生的学号和姓名
select sno,sname
from student
where sno not in(select sno from stu_cors)
go
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
单选题________theplayersenteredtheautumn
请问,开一个美术培训班,需要办些或者申请什
音美尔古筝型号有哪些
vivoNEX手机如何阻止来电
老炮儿什么意思
看电视能不能用家庭影院
我想找回银行卡绑定的手机号码怎么找啊
下列能决定元素种类的是A.电子数B.中子数C.质
电梯安装为啥都承包给个人了?而不是公司自己
—English has a large vocabulary, _______?
精品应用怎么删除
---Ittookusquitealongtimetogettotheamuseme
吉利金刚的变速箱怎么拆下来?
A、B两个质点的运动情况如图所示,下列叙述中
鞋子上有汗渍怎么办
推荐资讯
微信没有声音是怎么回事 微信没有声音怎么办
别人问你是谁怎么回答
无锡到宁波快递要多久
腰围三尺五是多少厘米
电脑花样机梭壳切线太长是什么原因
工行渭南富平支行地址在哪?我要去那里办事
女生会和什么人说自己来例假了
读京沪线火车客运时刻表,回答下列问题:1461
盘点明星都养的什么狗,竟然没有人养哈士奇
印度属于哪个洲
青春因 成长而精彩 作文
湖南涉外经济学院-三教学楼地址有知道的么?
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?