数据库技术_习题2

2021/10/18 19:10:17

本文主要是介绍数据库技术_习题2,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

1.请创建一个教师表teacher 其中包括教师号tno char(3),教师名tname char(8),教师性别tsex char(2),教师系tdept char(20),教师职称tglass char(10),教师出生日期tcsrq date,要求,教师号为唯一。

create table 
teacher(tno char(3) unique,
tname char(8),
tsex char(2),
tdept char(20),
tglass char(10),
tcsrq date)

2. 用定义语句创建“宿舍表”sushe,要求宿舍号ssh 文本3 ,宿舍类别sslb文本2,床位数cws 数字整型,宿舍长ssz 文本10位, 宿舍号,宿舍号为主键,并且不为空。

create table 
shuse1(ssh char(3) primary key not null,
sslb char(2),
cws number,
ssz char(10));

3.在课程”表course中增加一列教师号tno 文本3 ,缺省值 000。

alter table 
course add 
tno char(3) default '000' not null;

4. 将教师”表teacher所属系(tdept)长度改为50,约束条件为不为空 ,缺省值为计算机系。

alter table 
teacher alter 
tdept char(50) not null default '计算机系';

5.创建一个名字为v_stu视图,将计算机系平均成绩大于等于80的同学的姓名及平均成绩放入该视图中。(注该视图只有名字和平均成绩两个字段,平均成绩要用pjgrade)表示。

create view 
v_stu as select sname,
avg(grade) as pjgrade 
from student,
sc where student.sno=sc.sno 
and sdept='计算机系' group by sname having avg(grade)>=80;

6.以SC表创建一个索引文件idx_sc1,要求按CNO降降序,GRADE升序。

create index idx_sc1 on sc(cno desc,grade asc);

7.请创建一个视图文件sss,要求其中包括计算机系所有成绩大于65分课程的学生姓名,课程名,成绩,系名,任课教师姓名。

create view 
sss as 
select student.sname,cname,sc.grade,sdept,tname 
from student,course,sc,teacher 
where student.sno=sc.sno 
and sc.cno=course.cno 
and course.tno=teacher.tno 
and sdept='计算机系' 
and sc.grade>65

8. 用视图sss再建另一视图sss1,要求其中包含每个人的姓名,平均成绩,最高成绩,最低成绩等字段,并用中文(姓名,平均成绩,最高成绩,最低成绩表示出来)。

create view 
sss1 as 
select sname as '姓名',
avg(grade) as '平均成绩',
max(grade) as '最高成绩',
min(grade) as '最低成绩'
from sss group by sname

9.请将course表中的tno列删除。

alter table course drop tno

10. 删除索引文件idx_sc1。

drop index idx_sc1 on sc


这篇关于数据库技术_习题2的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!


扫一扫关注最新编程教程