学习与管饭的我的笔记(4).ppt
《学习与管饭的我的笔记(4).ppt》由会员分享,可在线阅读,更多相关《学习与管饭的我的笔记(4).ppt(32页珍藏版)》请在三一文库上搜索。
1、系统中视图的应用,任务1:选择employee表中的雇员ID、姓名、性别、和出生日期四个字段,以及product表中的产品ID、产品名和类别ID三个字段创建名为v_employee的视图(要求用企业管理器) 任务2:利用employee表中的全部字段和记录创建名为view1_employee的视图(要求用SQL语句实现) 任务3:选择employee表中的雇员ID、姓名、性别、出生年月和雇佣日期字段,以及所有女职工的记录创建名view2_employee的视图(要求用SQL语句实现),知识点:,视图是一种数据库的对象,是从一个或多个数据表(基本表)或视图导出的虚表,是关系数据库系统提供给用户以
2、多种角度观察数据中数据的重要机制。 虚表是指视图只存储了它的定义(select语句),而没有储存视图对应的数据,这些数据仍存放在原来的数据表中,对视图的数据操作与对表的操作一样,可以对其进行改变,若基表的数据发生变化,这种变化也会自动反映到视图中。 视图可以是一个表的部分,也可以是多个表的联合。,定义视图 查询视图 更新视图 视图的作用,student,sco,定义视图,建立视图 删除视图,一、建立视图,语句格式 CREATE VIEW ( ,) AS WITH CHECK OPTION; 组成视图的属性列名:全部省略或全部指定 子查询不允许含有ORDER BY子句和DISTINCT短语,建立
3、视图(续),RDBMS执行CREATE VIEW语句时只是把视图定义存入数据字典,并不执行其中的SELECT语句。 在对视图查询时,按视图的定义从基本表中将数据查出。,建立视图(续),例1 建立信息系学生的视图。 CREATE VIEW IS_Student AS SELECT Sno,Sname,Sage FROM Student WHERE Sdept= IS;,建立视图(续),例2建立信息系学生的视图,并要求进行修改和插入操作时仍需保证该视图只有信息系的学生 。 CREATE VIEW IS_Student AS SELECT Sno,Sname,Sage FROM Student WH
4、ERE Sdept= IS WITH CHECK OPTION;,with check option可以这么解释:通过视图进行的修改,必须也能通过该视图看到修改后的结果。比如你insert,那么加的这条记录在刷新视图后必须可以看到;如果修改,修改完的结果也必须能通过该视图看到;如果删除,当然只能删除视图里有显示的记录。,我们来看下面的例子: create or replace view testview as select empno,ename from emp where ename like M% with check option; 这里我们创建了一个视图,并使用了with check
5、 option来限制了视图。 然后我们来看一下视图包含的结果: select * from testview得到: EMPNO ENAME - 7654 MARTIN 7934 MILLER 这两条记录 然后我们在试图将其中一条更新: update testview set ename = Mike where empno = 7654; OK,这条更新语句可以执行,并没有什么问题,但是当我们执行另一条更新时: update testview set ename = Robin where empno = 7654; 就会出现ORA-01402: 视图 WITH CHECK OPTIDN 违反
6、 where 子句的错误。,建立视图(续),对IS_Student视图的更新操作: 修改操作:自动加上Sdept= IS的条件 删除操作:自动加上Sdept= IS的条件 插入操作:自动检查Sdept属性值是否为IS 如果不是,则拒绝该插入操作 如果没有提供Sdept属性值,则自动定义Sdept为IS,建立视图(续),基于多个基表的视图 例3 建立信息系选修了1号课程的学生视图。 CREATE VIEW IS_S1(Sno,Sname,Grade) AS SELECT Student.Sno,Sname,Grade FROM Student,SC WHERE Sdept= IS AND Stu
7、dent.Sno=SC.Sno AND SC.Cno= 1;,建立视图(续),基于视图的视图 例4 建立信息系选修了1号课程且成绩在90分以上的学生的视图。 CREATE VIEW IS_S2 AS SELECT Sno,Sname,Grade FROM IS_S1 WHERE Grade=90;,建立视图(续),分组视图 例6 将学生的学号及他的平均成绩定义为一个视图 假设SC表中“成绩”列Grade为数字型 CREAT VIEW S_G(Sno,Gavg) AS SELECT Sno,AVG(Grade) FROM SC GROUP BY Sno;,建立视图(续),不指定属性列 例7将St
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 学习 管饭 笔记
链接地址:https://www.31doc.com/p-3406854.html