• 险!年近八旬老人就医晕倒 赞!医生不顾腰伤抱起抢救(图) 2019-04-18
  • 计划不是产生在交换基础上的计划。 2019-04-18
  • 【理上网来喜迎十九大】习近平指引中国特色大国外交 2019-04-12
  • 视频江西城管猛扇摆摊老人耳光 官方:已停职 2019-04-11
  • 法中委员会秘书长:法中两国将在创新合作中碰撞出火花 2019-04-11
  • “00后”登场、加分政策收紧 今年高考有这些新特征! 2019-04-10
  • “机车医生”李向前:让火车头动力更强 2019-04-10
  • 环保约谈濂溪区主要负责同志 谢一平要求立行立改真抓真改 2019-04-09
  • 5G标准出炉明年有望商用 2019-04-05
  • 鹰潭高新区打造非公党建示范带 2019-04-03
  • 城市环境研究︱西溪综保工程中文化保护的探索与实践 2019-04-01
  • 纪念张廷发同志诞辰100周年座谈会在京举行 2019-03-31
  • 人民日报人民时评:前进的时代需要英雄 2019-03-29
  • 一周人事:三省份省委常委履新京浙调整政府领导分工 2019-03-26
  • 日本卫生间竟然如此牛逼?!看完只能给满分了! 2019-03-26
  • 今日福彩3d好运彩字谜
    购买

    ¥20.0

    加入VIP
    • 专属下载券
    • 上传内容扩展
    • 资料优先审核
    • 免费资料无限下载

    上传资料

    关闭

    关闭

    关闭

    封号提示

    内容

    今日福彩3d好运彩字谜 032关系数据库标准语言SQL补充

    福彩3d试机号:032关系数据库标准语言SQL补充.ppt

    032关系数据库标准语言SQL补充

    ranfand
    2019-03-07 0人阅读 举报 0 0 0 暂无简介

    今日福彩3d好运彩字谜 www.qwbcf.com 简介:本文档为《032关系数据库标准语言SQL补充ppt》,可适用于市场营销领域

    视图:从一个或几个基本表(或视图)导出的表。建立视图的优点、简化用户的操作、灵活、提供一定程度的逻辑独立性、提供安全?;ざㄒ迨油?、建立视图CREATEVIEW视图名(列名,列名hellip)AS子查询WITHCHECKOPTION如果CREATEVIEW语句仅指定了视图名省略了组成视图的各个属性列名则隐含该视图由子查询中SELECT子句目标列中的诸字段组成。但在下列三种情况下必须明确指定组成视图的所有列名:其中某个目标列不是单纯的属性名而是集函数或列表达式  多表连接时选出了几个同名列作为视图的字段需要在视图中为某个列启用新的更合适的名需要说明的是组成视图的属性列名必须依照上面的原则或者全部省略或者全部指定没有第三种选择。例建立信息系学生的视图。CREATEVIEWISStudentASSELECTSno,Sname,SageFROMStudentWHERESdept=#IS#实际上DBMS执行CREATEVIEW语句的结果只是把对视图的定义存入数据字典并不执行其中的SELECT语句。只是在对视图查询时才按视图的定义从基本表中将数据查出。例建立信息系学生的视图并要求进行修改和插入操作时仍须保证该视图只有信息系的学生CREATEVIEWISStudentASSELECTSno,Sname,SageFROMStudentWHERESdept=#IS#WITHCHECKOPTION由于在定义ISStudent视图时加上了WITHCHECKOPTION子句以后对该视图进行插入、修改和删除操作时DBMS会自动加上Sdept=#IS#的条件。视图不仅可以建立在单个基本表上也可以建立在多个基本表上。例建立信息系选修了号课程的学生的视图CREATEVIEWISS(Sno,Sname,Grade)ASSELECTStudentSno,Sname,GradeFROMStudent,SCWHERESdept=#IS#ANDStudentSno=SCSnoANDSCCno=##视图不仅可以建立在一个或多个基本表上也可以建立在一个或多个已定义好的视图上或同时建立在基本表与视图上。例建立信息系选修了号课程且成绩在分以上的学生的视图CREATEVIEWISSASSELECTSno,Sname,GradeFROMISSWHEREGrade=定义基本表时为了减少数据库中的冗余数据表中只存放基本数据由基本数据经过各种计算派生出的数据一般是不存储的。但由于视图中的数据并不实际存储所以定义视图时可以根据应用的需要设置一些派生属性列。这些派生属性由于在基本表中并不实际存在所以有时也称他们为虚拟列。带虚拟列的视图我们称为带表达式的视图。例定义一个反映学生出生年份的视图CREATEVIEWBTS(Sno,Sname,Sbirth)ASSELECTSno,Sname,SageFROMStudent由于BTS视图中的出生年份值是通过一个表达式计算得到的不是单纯的属性名所以定义视图时必须明确定义该视图的各个属性列名。BTS视图是一个带表达式的视图?;箍梢杂么屑虶ROUPBY子句的查询来定义视图。这种视图称为分组视图。例将学生的学号及他的平均成绩定义为一个视图CREATVIEWSG(Sno,Gavg)ASSELECTSno,AVG(Grade)FROMSCGROUPBYSno例将Student表中所有女生记录定义为一个视图CREATEVIEWFStudent(stdnum,name,sex,age,dept)ASSELECT*FROMStudentWHERESsex=lsquo女rsquo这里视图FStudent是由子查询ldquoSELECT*建立的。由于该视图一旦建立后Student表就构成了视图定义的一部分如果以后修改了基本表Student的结构则Student表与FStudent视图的映像关系受到破坏因而该视图就不能正确工作了。为避免出现这类问题可以采用下列两种方法:建立视图时明确指明属性列名而不是简单地用SELECT*。即:CREATEVIEWFStudent(stdnum,name,sex,age,dept)ASSELECTSno,Sname,Ssex,Sage,SdeptFROMStudentWHERESsex=lsquo女rsquo在修改基本表之后删除原来的视图然后重建视图。这是最保险的方法。、删除视图语句的格式为:DROPVIEW视图名一个视图被删除后由此视图导出的其他视图也将失效用户应该使用DROPVIEW语句将他们一一删除。例删除视图ISSDROPVIEWISS执行此语句后ISS视图的定义将从数据字典中删除。由ISS视图导出的ISS视图的定义虽仍在数据字典中但该视图已无法使用了因此应该同时删除。查询视图DBMS执行对视图的查询时首先进行有效性检查检查查询涉及的表、视图等是否在数据库中存在如果存在则从数据字典中取出查询涉及的视图的定义把定义中的子查询和用户对视图的查询结合起来转换成对基本表的查询然后再执行这个经过修正的查询。将对视图的查询转换为对基本表的查询的过程称为视图的消解(ViewResolution)。例在信息系学生的视图中找出年龄小于岁的学生SELECTSno,SageFROMISStudentWHERESageDBMS执行此查询时将其与ISStudent视图定义中的子查询SELECTSno,Sname,Sage   FROMStudentWHERESdept=IS结合起来转换成对基本表Student的查询修正后的查询语句为SELECTSno,SageFROMStudentWHERESdept=ISANDSage视图是定义在基本上的虚表它可以和其他基本表一起使用实现连接查询或嵌套查询。这也就是说在关系数据库的三级模式结构中外模式不仅包括视图而且还可以包括一些基本表。例查询信息系选修了号课程的学生SELECTSno,SnameFROMISStudent,SCWHEREISStudentSno=SCSnoANDSCCno=##本查询涉及虚表ISStudent和基本表SC通过这两个表的连接来完成用户请求。更新视图更新视图包括插入(INSERT)、删除(DELETE)和修改(UPDATE)三类操作。由于视图是不实际存储数据的虚表因此对视图的更新最终要转换为对基本表的更新。为防止用户通过视图对数据进行增删改时无意或故意操作不属于视图范围内的基本表数据可在定义视图时加上WITHCHECKOPTION子句这样在视图上增删改数据时DBMS会进一步检查视图定义中的条件若不满足条件则拒绝执行该操作。例将信息系学生视图ISStudent中学号为的学生姓名改为ldquo刘辰rdquoUPDATEISStudentSETSname=#刘辰#WHERESno=##与查询视图类似DBMS执行此语句时首先进行有效性检查检查所涉及的表、视图等是否在数据库中存在如果存在则从数据字典中取出该语句涉及的视图的定义把定义中的子查询和用户对视图的更新操作结合起来转换成对基本表的更新然后再执行这个经过修正的更新操作。转换后的更新语句为:UPDATEStudentSETSname=#刘辰#WHERESno=##ANDSdept=#IS#例向信息系学生视图ISS中插入一个新的学生记录其中学号为姓名为赵新年龄为岁INSERTINTOISStudentVALUES(##,#赵新#,)DBMS将其转换为对基本表的更新:INSERTINTOStudent(Sno,Sname,Sage,Sdept)VALUES(##,#赵新#,,#IS#)这里系统自动将系名#IS#放入VALUES子句中。例删除计算机系学生视图CSS中学号为的记录DELETEFROMISStudentWHERESno=##DBMS将其转换为对基本表的更新:DELETEFROMStudentWHERESno=##ANDSdept=#IS#更新的限制在关系数据库中并不是所有的视图都是可更新的因为有些视图的更新不能唯一地有意义地转换成对相应基本表的更新。DB规定:若视图是由两个以上基本表导出的则此视图不允许更新。若视图的字段来自字段表达式或常数则不允许对此视图执行INSERT和UPDATE操作但允许执行DELETE操作。若视图的字段来自集函数则此视图不允许更新。若视图定义中含有GROUPBY子句则此视图不允许更新。若视图定义中含有DISTINCT短语则此视图不允许更新。若视图定义中有嵌套查询并且内层查询的FROM子句中涉及的表也是导出该视图的基本表则此视图不允许更新。例如将成绩在平均成绩之上的元组定义成一个视图GOODSC:CREATEVIEWGOODSCASSELECTSno,Cno,GradeFROMSCWHEREGrade(SELECTAVG(Grade)FROMSC)  导出视图GOODSC的基本表是SC内层查询中涉及的表也是SC所以视图GOODSC是不允许更新的。一个不允许更新的视图上定义的视图也不允许更新。视图的优点视图能够简化用户的操作视图使用户能以多种角度看待同一数据视图对重构数据库提供了一定程度的逻辑独立性视图能够对机密数据提供安全?;な菘刂埔?、授权GRANT权限,权限hellipON对象类型对象名TO用户,用户hellipWITHGRANTOPTION二、收回权限REVOKE权限,权限hellipON对象类型对象名FROM用户,用户hellip例把查询Student表权限授给用户UGRANTSELECTONTABLEStudentTOU例把对Student表和Course表的全部权限授予用户U和UGRANTALLPRIVILIGESONTABLEStudent,CourseTOU,U例把对表SC的查询权限授予所有用户GRANTSELECTONTABLESCTOPUBLIC例把查询Student表和修改学生学号的权限授给用户U这里实际上要授予U用户的是对基本表Student的SELECT权限和对属性列Sno的UPDATE权限。授予关于属性列的权限时必须明确指出相应属性列名。完成本授权操作的SQL语句为:GRANTUPDATE(Sno),SELECTONTABLEStudentTOU例把对表SC的INSERT权限授予U用户并允许他再将此权限授予其他用户GRANTINSERTONTABLESCTOUWITHGRANTOPTION执行此SQL语句后U不仅拥有了对表SC的INSERT权限还可以传播此权限即由U用户发上述GRANT命令给其他用户。例如U可以将此权限授予U:GRANTINSERTONTABLESCTOUWITHGRANTOPTION同样U还可以将此权限授予U:GRANTINSERTONTABLESCTOU因为U未给U传播的权限因此U不能再传播此权限例DBA把在数据库SC中建立表的权限授予用户UGRANTCREATETABONDATABASESCTOU由上面的例子可以看到GRANT语句可以一次向一个用户授权如例所示这是最简单的一种授权操作也可以一次向多个用户授权如例、例等所示还可以一次传播多个同类对象的权限如例所示甚至一次可以完成对基本表、视图和属性列这些不同对象的授权如例所示但授予关于DATABASE的权限必须与授予关于TABLE的权限分开因为它们使用不同的对象类型关键字。例把用户U修改学生学号的权限收回REVOKEUPDATE(Sno)ONTABLEStudentFROMU例收回所有用户对表SC的查询权限REVOKESELECTONTABLESCFROMPUBLIC例把用户U对SC表的INSERT权限收回REVOKEINSERTONTABLESCFROMU在例中U又将对SC表的INSERT权限授予了U而U又将其授予了U执行此REVOKE语句后DBMS在收回U对SC表的INSERT权限的同时还会自动收回U和U对SC表的INSERT权限即收回权限的操作会级联下去的。但如果U或U还从其他用户处获得对SC表的INSERT权限则他们仍具有此权限系统只收回直接或间接从U处获得的权限??杉鸖QL提供了非常灵活的授权机制。用户对自己建立的基本表和视图拥有全部的操作权限并且可以用GRANT语句把其中某些权限授予其他用户。被授权的用户如果有ldquo继续授权rdquo的许可还可以把获得的权限再授予其他用户。DBA拥有对数据库中所有对象的所有权限并可以根据应用的需要将不同的权限授予不同的用户。而所有授予出去的权力在必要时又都可以用REVOKE语句收回。嵌入式SQL一般形式:EXECSQLSQL语句利用如下关系模式完成要求的操作。S(SNOSNAMEAGESEXSDEPT)C(CNOCNAMECREDITTEACHER,PRECNO)SC(SNO,CNO,GRADE)查询与ldquo王英rdquo在同一个系学习的学生学号和姓名请使用自连接查询实现查询年龄大于岁的男同学的学号和姓名查询号学生选修课程的课程号、课程名和任课教师的姓名查询ldquo张小飞rdquo同学没有选修的课程的课程号和课程名找出最大年龄学生的姓名和年龄查询至少选修了门课程的学生的学号和姓名查询全部学生都选修了的课程号和课程名在学习表中删除没有成绩的选课纪录把ldquo高等数学rdquo的所有不及格成绩都改为分新建一个未选课的学生信息表StuNosel利用子查询的结果将所有记录批量插入到StuNosel中。

    用户评价(0)

    关闭

    新课改视野下建构高中语文教学实验成果报告(32KB)

    抱歉,积分不足下载失败,请稍后再试!

    提示

    试读已结束,如需要继续阅读或者下载,敬请购买!

    评分:

    /41

    ¥20.0

    立即购买

    VIP

    意见
    反馈

    今日福彩3d好运彩字谜
  • 险!年近八旬老人就医晕倒 赞!医生不顾腰伤抱起抢救(图) 2019-04-18
  • 计划不是产生在交换基础上的计划。 2019-04-18
  • 【理上网来喜迎十九大】习近平指引中国特色大国外交 2019-04-12
  • 视频江西城管猛扇摆摊老人耳光 官方:已停职 2019-04-11
  • 法中委员会秘书长:法中两国将在创新合作中碰撞出火花 2019-04-11
  • “00后”登场、加分政策收紧 今年高考有这些新特征! 2019-04-10
  • “机车医生”李向前:让火车头动力更强 2019-04-10
  • 环保约谈濂溪区主要负责同志 谢一平要求立行立改真抓真改 2019-04-09
  • 5G标准出炉明年有望商用 2019-04-05
  • 鹰潭高新区打造非公党建示范带 2019-04-03
  • 城市环境研究︱西溪综保工程中文化保护的探索与实践 2019-04-01
  • 纪念张廷发同志诞辰100周年座谈会在京举行 2019-03-31
  • 人民日报人民时评:前进的时代需要英雄 2019-03-29
  • 一周人事:三省份省委常委履新京浙调整政府领导分工 2019-03-26
  • 日本卫生间竟然如此牛逼?!看完只能给满分了! 2019-03-26