数据库技术_习题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
上一篇:Course_IdentityServer4


下一篇:SQL-Server练习题