数据库系统(二)——数据更新和视图

一、实验目的:

  1. 熟练掌握增加、删除、修改数据的SQL语句,结合嵌套SQL子查询,分别设计几种不同形式的插入、修改和删除数据的语句,并调试成功;

  2. 理解视图实现数据库安全性控制;

  3. 理解视图消解,能够进行视图的创建和查询。

二、实验内容 :

  1. 使用学生选课数据库,实现单元组插入、批量数据插入、修改数据和删除数据等SQL语句;

  2. 根据应用需求,创建基本视图和带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转化为对相应基表的操作。

猜你喜欢

转载自blog.csdn.net/qq_43531669/article/details/111759111