数据库系统原理课件-关系数据库标准语言SQL.ppt
2.删除多个元组的值AnIntroductiontoDatabaseSystem[例9]删除所有的学生选课记录。DELETEFROMSC;3.带子查询的删除语句AnIntroductiontoDatabaseSystem[例10]删除计算机科学系所有学生的选课记录。DELETEFROMSCWHERECS=(SELETESdeptFROMStudentWHEREStudent.Sno=SC.Sno);第三章关系数据库标准语言SQLAnIntroductiontoDatabaseSystemSQL概述学生-课程数据库数据定义数据查询数据更新视图小结3.6视图视图的特点AnIntroductiontoDatabaseSystem虚表,是从一个或几个基本表(或视图)导出的表01010203只存放视图的定义,不存放视图对应的数据基表中的数据发生变化,从视图中查询出的数据也随之改变02033.6视图基于视图的操作AnIntroductiontoDatabaseSystem查询删除受限更新定义基于该视图的新视图3.6视图AnIntroductiontoDatabaseSystem01定义视图02查询视图03更新视图04视图的作用3.6.1定义视图AnIntroductiontoDatabaseSystem删除视图02建立视图01一、建立视图AnIntroductiontoDatabaseSystem语句格式CREATEVIEW视图名[(列名[,列名]…)]AS子查询[WITHCHECKOPTION];组成视图的属性列名:全部省略或全部指定子查询不允许含有ORDERBY子句和DISTINCT短语建立视图(续)AnIntroductiontoDatabaseSystemRDBMS执行CREATEVIEW语句时只是把视图定义存入数据字典,并不执行其中的SELECT语句。01在对视图查询时,按视图的定义从基本表中将数据查出。02建立视图(续)AnIntroductiontoDatabaseSystem[例1]建立信息系学生的视图。01CREATEVIEWIS_Student02AS03SELECTSno,Sname,Sage04FROMStudent05WHERESdept=IS;06建立视图(续)AnIntroductiontoDatabaseSystem[例2]建立信息系学生的视图,并要求进行修改和插入操作时仍需保证该视图只有信息系的学生。CREATEVIEWIS_StudentASSELECTSno,Sname,SageFROMStudentWHERESdept=ISWITHCHECKOPTION;建立视图(续)对IS_Student视图的更新操作:AnIntroductiontoDatabaseSystem修改操作:自动加上Sdept=IS的条件删除操作:自动加上Sdept=IS的条件插入操作:自动检查Sdept属性值是否为IS如果不是,则拒绝该插入操作如果没有提供Sdept属性值,则自动定义Sdept为IS建立视图(续)AnIntroductiontoDatabaseSystem基于多个基表的视图[例3]建立信息系选修了1号课程的学生视图。CREATEVIEWIS_S1(Sno,Sname,Grade)ASSELECTStudent.Sno,Sname,GradeFROMStudent,SCWHERESdept=ISANDStudent.Sno=SC.SnoANDSC.Cno=1;建立视图(续)基于视图的视图AnIntroductiontoDatabaseSystem[例4]建立信息系选修了1号课程且成绩在90分以上的学生的视图。CREATEVIEWIS_S2ASSELECTSno,Sname,GradeFROMIS_S1WHEREGrade=90;建立视图(续)AnIntroductiontoDatabaseSystem[例5]定义一个反映学生出生年份的视图。1AS3FROMStudent;5CREATEVIEWBT_S(Sno,Sname,Sbirth)2