第3章SQL语言及TSQL的应用(上海电力学院)1.pptVIP

第3章SQL语言及TSQL的应用(上海电力学院)1.ppt

  1. 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第三章SQL语言及T-SQL的应用 (3) 3.5.3 视图数据操作 1、查询视图 ※当视图被定义之后,就可以象对基本表一样对视图进行查询了。 [例8]查询S_birthday视图中年龄小于20岁的学生。 Select * from S_birthday where Sage20; 2、更新视图 ※由于视图是不实际存储数据的虚表,因此对视图的更新,最终是通过转换为对基本表的更新进行的。 [例9]将计算机系名叫李丽同学的出生年月改为1987-01-01; 。 UPDATE CS_student SET birthday = 1987-01-01 WHERE Sname = 李丽; 返回 实际操作为: UPDATE student SET birthday = 1987-01-01 WHERE Sname = 李丽 and sdept= ‘计算机系 运行结果:select * from CS_student SQL SERVER中修改视图中的数据会受哪些限制? 1)无论是视图的创建、修改、删除,还是视图数据的查询、插入、更新、删除,都必须由具有权限的用户进行。 2)对由多个表连接成的视图修改数据时,不能同时影响一个以上的基本表,也不允许删除视图中的数据。 3)对视图上的某些列不能进行修改。如是计算值、系统函数和集函数。 视图特点 4)对具有NOT NULL的列进行修改时可能会出错。在通过视图修改或插入数据时,必须保证未显示的具有NOT NULL属性的列有值,可以是缺省、IDENTITY等,否则不能向视图中插入数据行。 5)如果某些列因为规则或者约束的限制而不能接受从视图插入数据的时候,则插入数据可能会失败。 6)删除基本表并不删除视图。建议采用与表明显不同的名字命名视图。 3.6数据控制 在数据库系统中实现安全性除了通过物理方法对数据库进行加密等方法外,主要是通过授予和检验权限的手段。SQL有授权语句,通过该语句可以实现对数据库的使用控制。 3.6.1授权 ※SQL语句通过GRANT语句向用户授予操作权限,GRANT语句的格式为: GRANT 权限 [,权限]… [ON 对象类型对象名] TO 用户[,用户]… [WITH GRANT OPTION]; 语义:将某作用在指定操作对象上的操作权限,限授予指定的用户。(即数据库对象的访问权限的管理) ※不同类型的操作对象有不同的操作权限,常见的操作权限如表所示。 对象名 对象类型 操 作 权 限 属性列 TABLE SELECT,INSERT,UPDATE,DELETE,ALL PRIVILEGERS 视 图 TABLE SELECT,INSERT,UPDATE,DELETE,ALL PRIVILEGERS 基本表 TABLE SELECT,INSERT,UPDATE,DELETE,ALTER,INDEX, ALL PRIVILEGERS(所有权限) 数据库 DATABASE CREATETAB(建表权限) ※知识点补充 SQLserver中 关于基本表、视图、存储过程、触发器等数据库对象操作的权限有:SELECT、INSERT、UPDATE、DELETE、EXECUTE等。 关于数据库对象定义的权限有:BACKUP DATABASE、BACKUP LOG、CREATE DATABASE、CREATE DEFAULT、CREATE FUNCTION、CREATE PROCEDURE、CREATE RULE、CREATE TABLE、CREATE VIEW。 “红色”部分也可用于属性列上。 ※如果指定WITH GRANT OPTION子句,则获得某种权限的用户可以把这种权限在授予其他用户。如没有指定该子句,获得授权的用户将不能传播权限。(转授) ※授权的用户可以是一个或多个具体用户,也可以是PUBLIC即全体用户。 例1、在数据库student中将创建基本表的权限授予用户dZW。(设用户已存在) 标准SQL语句: GRANT CREATTAB ON DATABASE student TO dZW; T-SQL中为: USE student GRANT CREATE TABLE TO dZW; 用户的创建方法 思考1:创建数据库的权限,应该在哪个数据库下授权? 须用T-SQL语句: USE master GRANT CREATE DATABASE TO 用户名 思考2:在数据库student中将创建基本表、备份数据库的权限授予用户ZW。 T-SQL: USE

文档评论(0)

junjun37473 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档