数据库实验六数据定义(视图)

实验四和实验五稍后码出来,哎,这个五一小长假算是废了。打起精神,为了那些远大的梦想,加油!!

实验SQL 的数据定义(视图)

一、实验目的

1.掌握使用SQL语言进行各类视图的建立和删除

2.对各类视图进行查询、插入、删除、更新等操作,验证可更新视图和不

可更新视图

 

二、实验准备及任务

1.复习教材上SQL语言中视图一节的内容。

2使用教师已经录入相关数据的附录二的xsglsjk”数据库,完成以下内容,预先写好相应的命令。

1建立一个包含00311班学生记录的视图S00311,并要求该视图插删改操作时只能对该班的学生进行

2建立一个包含所有学生SnoSnameClnoCnameGrade字段的视图Grades

3建立00311班选修了2号课程学生的成绩视图Cj2_00311

4)在视图S00311建立能反映出生日期的00311班女学生视图S00311_1

5建立一个反映各门课程平均成绩的视图C_avg

3.对上述视图进行查询操作,并分析视图的消解预先写好相应的命令,并记录其能否正确消解。

    6)使用select * from 视图名 对上述各视图进行简单查询。

(7)S00311视图中查询00311年龄不大于20的女生人数。

(8)Grades视图中查询‘数据库’考90分以上的学生姓名和班级。

(9)C_avg视图中查询平均成绩不及格的课程。

4上述视图进行插删等操作,验证可更新视图和不可更新视图,预先写好相应的命令,并记录其可更新性。

10)在00311班学生视图S00311

插入新学生记录(2000108,刘辉,男,003112000109张强东,男,00312)。

  ②将学号为:2001108”的学生班级从‘00311’改为‘00312’

S00311学号为2000104”的记录删除。

(11)通过Cj2_00311视图00311班选修了2号课程学生每人加

5分。

(12)C_avg视图中将2号课程平均成绩减5分。

4、(13删除C_avg视图

14)删除S00311视图后,并再次对视图Cj2_00311S00311_1

行查询

mycode :

create view S00311
as select sno,sname,ssex,clno,sage
from student
where clno = '00311'


create view Grades(sno,sage,ssex,sname,clno,cno,grade)
as
select student.sno,sage,ssex,sname,clno,cno,grade
from student,cj
where student.sno = cj.sno

create view cj2_00311(sno,grade)
as 
select student.sno,grade
from student,cj
where student.sno = cj.sno and cno = '2' and clno = '00311'

create view S00311_1(sno,sname,sbirth)
as
select sno,sname,2018 - sage
from S00311 

create view C_avg(sno,Gavg)
as 
select sno,avg(grade)
from cj
group by sno

select *
from S00311;

select sno,sage
from S00311
where sage < 20;

select sno,clno
from Grades
where cno = 1 and grade >= 90

select sno
from C_avg
where gavg < 60;

insert 
into S00311
values('2000108', '刘辉', '男', '00311',20)

insert 
into S00311
values('2000109', '张强东', '男', '00312',20)

update S00311 
set clno = '00312'
where sno = '2001108';

delete 
from S00311
where sno = '2000104';

update cj2_00311
set grade = grade + 5

update C_avg
set gavg = gavg - 10

DELETE C_AVG



这要不是一个应化的学弟提前叮嘱我要实验结果我也不会把实验上传,哎。改掉惰性


你可能感兴趣的:(数据库,数据库实验,数据库)