数据库系统(二)——数据更新和视图
一、实验目的:
-
熟练掌握增加、删除、修改数据的SQL语句,结合嵌套SQL子查询,分别设计几种不同形式的插入、修改和删除数据的语句,并调试成功;
-
理解视图实现数据库安全性控制;
-
理解视图消解,能够进行视图的创建和查询。
二、实验内容 :
-
使用学生选课数据库,实现单元组插入、批量数据插入、修改数据和删除数据等SQL语句;
-
根据应用需求,创建基本视图和带WITH CHECK OPTION的视图,并验证视图WITH CHECK OPTION选项的有效性。
三、实验过程:
1、数据的增删改:
添加一个学生:
insert into Student(Sno,Sname,Ssex,Sdept,Sage) values('201215128','TheShy','男','IS',18);
将学生 201215121 的年龄改为 22 岁:
update student set Sage=22 where Sno='201215121';
将所有学生的年龄增加一岁:
update student set Sage = Sage+1;
删除学号为 201215128的学生记录:
delete from Student where Sno='201215128';
2、视图:
创建信息系学生的视图:
create view IS_Student as select Sno,Sname,Sage from Student where Sdept='IS';
建立信息系学生的视图,并要求进行修改和插入操作时仍需保留该视图只有信息系的学生:
create view IS_Student as select Sno,Sname,Sage from Student where Sdept='IS' with check option;
定义视图时加上 with check option 以后对该视图进行插入,删除,修改删除时,会自动加上条件 Sdept='IS'
的条件。
四、总结:
-
视图是一个虚表,只是为用户提供了一个观察底层数据的窗口,通过视图看到的数据会随关系表的变化而改变。
-
用户可像操作关系表一样操作视图,但操作能否成功,还要看对视图的操作能否由DBMS转化为对相应基表的操作。