文档详情

数据库系统概论课件第三章.ppt

发布:2025-04-05约7.92千字共10页下载文档
文本预览下载声明

删除数据(续)AnIntroductiontoDatabaseSystemDBMS在执行插入语句时会检查所插元组是否破坏表上已定义的完整性规则参照完整性不允许删除级联删除010302更新数据与数据一致性AnIntroductiontoDatabaseSystemDBMS在执行插入、删除、更新语句时必须保证数据库一致性必须有事务的概念和原子性完整性检查和保证0102第三章关系数据库标准语言SQLAnIntroductiontoDatabaseSystem01SQL概述02数据定义03查询04数据更新05视图06数据控制07嵌入式SQL08小结视图的特点3.5视图AnIntroductiontoDatabaseSystem231虚表,是从一个或几个基本表(或视图)导出的表只存放视图的定义,不会出现数据冗余基表中的数据发生变化,从视图中查询出的数据也随之改变基于视图的操作3.5视图AnIntroductiontoDatabaseSystem01查询02删除03受限更新04定义基于该视图的新视图3.5视图AnIntroductiontoDatabaseSystem1定义视图2查询视图3更新视图4视图的作用1.建立视图AnIntroductiontoDatabaseSystemCREATEVIEW1视图名[(列名[,列名]…)]2AS子查询3[WITHCHECKOPTION];4语句格式建立视图(续)AnIntroductiontoDatabaseSystemDBMS执行CREATEVIEW语句时只是把01视图的定义存入数据字典,并不执行其中02的SELECT语句。在对视图查询时,按视图的定义从基本表中将数据查出。03全部省略或全部指定组成视图的属性列名AnIntroductiontoDatabaseSystem省略:由子查询中SELECT目标列中的诸字段组成明确指定视图的所有列名:某个目标列是集函数或列表达式多表连接时选出了几个同名列作为视图的字段需要在视图中为某个列启用新的更合适的名字行列子集视图AnIntroductiontoDatabaseSystem01[例1]建立信息系学生的视图。02CREATEVIEWIS_Student03AS04SELECTSno,Sname,Sage05FROMStudent06WHERESdept=IS;07从单个基本表导出,只是去掉了基本表的某些行和某些列,保留了码建立视图(续)AnIntroductiontoDatabaseSystemWITHCHECKOPTION透过视图进行增删改操作时,不得破坏视图定义中的谓词条件(即子查询中的条件表达式)WITHCHECKOPTION的视图[例2]建立信息系学生的视图,并要求透过该视图进行的更新操作只涉及信息系学生。CREATEVIEWIS_StudentASSELECTSno,Sname,SageFROMStudentWHERESdept=ISWITHCHECKOPTION;对IS_Student视图的更新操作AnIntroductiontoDatabaseSystem修改操作:DBMS自动加上Sdept=IS的条件删除操作:DBMS自动加上Sdept=IS的条件插入操作:DBMS自动检查Sdept属性值是否为IS如果不是,则拒绝该插入操作如果没有提供Sdept属性值,则自动定义Sdept为IS基于多个基表的视图AnIntroductiontoDatabaseSystem[例4]建立信息系选修了1号课程的学生视图。1CREATEVIEWIS_S1(Sno,Sname,Grade)2AS3SELECTStudent.Sno,Sname,Grade4FROMStudent,SC5WHERESdept=ISAND6Student.Sno=SC.SnoAND7SC.Cno=1;8基于视图的视图AnIntroductiontoDatabaseSystem[例5]建立信息系选修了1号课程且成绩在90分以上的学生的视图。01CREATEVIEWIS_S202AS03SELECTSn

显示全部
相似文档