宁波网站建设icp备线上营销推广方式有哪些
数据库定义与操作语言
一、ScoreDB中各个表
二、实验目的
理解和掌握数据库SQL DDL语句的语法;
掌握SQL 程序设计基本规范,熟练运用SQL语言实现数据基本查询语句、嵌套查询等;
熟悉数据库的数据更新操作;
熟练SQL有关视图的操作。
三、实验内容
导入ScoreDB数据库,按照“实验2数据”,修改四张表内各个字段的类型以及宽度。完成后,实现以下操作:
2.3视图
1.创建视图vw1,该视图包含福建省的女学生信息。
create view vw1
as
select *
from Student
where native='福建'and sex='女'
2.创建视图vw2,该视图包含学生的学号、姓名、所选修的课程的课程号、课程名和成绩。
create view vw2(学号, 姓名,课程号,课程名,成绩)
as
select a. studentNo, studentName, c. courseNo, courseName, score
from Student a, score b, Course c
where a. studentNo =b. studentNo and b.courseNo= c. courseNo
3.创建视图vw3,该视图每门课程的课程号、课程名、选修人数和平均分。
create vw3(课程号,课程名,选修人数,平均分)
as
select Course.courseNo,courseName,Count(*),avg(score)
from Course,Score
where Course.courseNo=Score.courseNo
group by courseNo,courseName
4.建立一个新的视图vw4,该视图包含学生姓名和年龄字段。将vw4中的年龄增加1岁。观察其运行结果并分析原因。
create view vw4
as
select studentName, year(getdate ()-year (birthday) age
from Student无法成功更新
update vw4
set age age+1
原因:视图时不实际存储数据的虚表
因此对视图的更新最终要转换为对基本表的更新
像查询视图那样,对视图的更新操作也是通过视图消解
转换为对基本表的更新操作。
5.删除视图vw1中学号为 ‘0800007’ 的数据。
delete from vw1
where studentNo=' 0800007'