实验五 数据更新及视图操作
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
课程名称数据库原理实验
成绩
实验名称实验五数据更新及视图操作
学号姓名班级日期2014.4.4 实验目的:
1. 掌握Insert、Update、Delete语句的使用。
2. 理解视图的概念,掌握Create View、Drop View语句的使用。
3. 掌握通过视图来操作基表。
实验平台:
利用安装的SQL SERVER 2008及其交互查询工具-查询编辑器来操作SQL语言。
实验内容:
1. 插入操作(可将之前的记录先删除,然后使用T-SQL语句完成下列操作)
(1) 向Student表中插入下列数据:如图1所示:
1001,张天, 男, 20, 10
1002,李兰,女, 21, 10
1003,陈铭,男, 21, 10
1004,刘茜,女, 21, 20
1005,刘朝阳,男, 22, 20
图1
(2) 向Course表中插入下列数据:如图2所示:
1,数据结构, 101, 4
2,数据库, 102, 4
3,离散数学, 103, 4
4,C语言程序设计,101, 2
图2 (3) 向SC表中插入下列数据:如图3所示:
1001, 1, 80
1001, 2, 85
1001, 3, 78
1002, 1, 78
1002, 2, 82
1002, 3, 86
1003, 1, 92
1003, 3, 90
1004, 1, 87
1004, 4, 90
1005, 1, 85
1005, 4, 92
图3
(4) 向Teacher表中插入下列数据:如图4所示: 101,张星, 10
102,李珊, 10
103,赵天应,10
104,刘田, 20
图4
(5) 向Dept表中插入下列数据:如图5所示:
10,计算机科学与技术
20,信息
图5
2. 修改数据
将张星老师数据结构课程的学生成绩全部加2分。
SQL语言实现代码如下所示,查询的视图信息如图6所示。
update SC set grade=grade+2 where cno in (select cno from Teacher ,Course where Course .tno =Teacher.tno and tname='张星' and cname='数据结构')
图6
3. 删除数据
删除刘朝阳同学的所有选课记录。
SQL语言实现代码如下所示,查询的视图信息如图7所示。
delete from SC
where sno in (select sno from Student where sname='刘朝阳' )
图7
4. 建立视图
在插入数据的Student基本表上为计算机系学生的记录建立一个视图CS_STUDENT。
SQL语言实现代码如下所示,查询的视图信息如图8所示。
create view CS_STUDENT as
select Student.* from Student,Dept
where Student.deptno =Dept.deptno
and dname='计算机科学与技术'
图8
5.查询视图并通过视图插入一条记录、修改一条记录、删除一条记录,分别观察基表中数据的变化。
SQL语言实现代码如下所示,查询的视图信息如图9所示。
select * from CS_STUDENT
插入一条记录
insert into CS_STUDENT values(1006,'张三','男',10,23)
修改一条记录
update CS_STUDENT set sno=13053132 where sname='张三'
删除一条记录
delete from CS_STUDENT where sno=13053132
图9
6. 删除视图
在操作结束后,删除视图CS_STUDENT。
SQL语言实现代码如下所示,查询的视图信息如图10所示。
drop view CS_STUDENT
图10
1.SQL语句:
(1)create table Student
(
sno int,
sname char(8),
sex char(2),
deptno int,
sage int
)
insert into Student
(sno ,sname ,sex ,deptno ,sage)
values (1001, '张天', '男', 10, 20) ,( 1002, '李兰', '女', 10, 21), ( 1003, '陈铭', '男', 10, 21),(1004,'刘茜','女',20,21),
(1005,'刘朝阳','男',20,22)
(2)create table Course
(
cno int,
cname char(20),
tno int,
credit int
)
insert into Course
(cno,cname ,tno ,credit )
values (1,'数据结构',101,4),( 2, '数据库', 102, 4) ,
(3,'离散数学',103,4) ,(4,'C语言程序设计',101,2)
(3)insert into SC (sno ,cno,grade)
values (1001,1,80) ,(1001,2,85),(1001,3,78), (1002,1,78),
(1002,2,82),(1002,3,86),(1003,1,92),(1003,3,90),
(1004,1,87),(1004,4,90),(1005,1,85),(1005,4,92)
(4)create table Teacher
(
sno int,
tname char(8),
deptno int
)
insert into Teacher
(tno,tname,deptno )
values (101,'张星',10) ,(102,'李珊',10),
(103,'赵天应',10), (104,'刘田',20)
(5)create table Dept