09_SQL-视图与索引.pptVIP

  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文档。上传文档
查看更多
09_SQL-视图与索引

索引 聚簇索引 建立聚簇索引后,基表中数据也需要按指定的聚簇属性值的升序或降序存放。也即聚簇索引的索引项顺序与表中记录的物理顺序一致 例:在Student表的Sname(姓名)列上建立一个聚簇索引,而且Student表中的记录将按照Sname值的升序存放 CREATE CLUSTER INDEX Stusname ON Student(Sname); 索引 聚簇索引 在一个基本表上最多只能建立一个聚簇索引 聚簇索引的用途:对于某些类型的查询,可以提高查询效率 聚簇索引的适用范围 很少对基表进行增删操作 很少对其中的变长列进行修改操作 索引 删除索引 删除索引时,系统会从数据字典中删去有关该索引的描述。 例:删除Student表的Stusname索引。 DROP INDEX vupper_idx; DROP INDEX Stusname; 数据权限控制 授权与回收 某个用户对某类数据库对象具有何种操作权力是个政策问题而不是技术问题。数据库管理系统的功能是保证这些决定的执行。 常用实现方法: SQL的GRANT语句和REVOKE语句 数据权限控制 授权与回收 GRANT REVOKE GRANT {obj_priv_1[,obj_priv_2]...} ON {[schema.]object[(column1[,column2])],...} TO {user_1[,user_2]...} [WITH GRANT OPTION]; REVOKE {obj_priv_1[,obj_priv_2]...} ON {[schema.]object[(column1[,column2])]} FROM {user_1[,user_2]...} [CASCADE|RESTRICT]; 数据权限控制 授权与回收-授权表 授权用户名 被授权用户名 数据库对象名 允许的操作类型 能否转授权 DBA U2 Student ALL 不能 DBA U2 Course ALL 不能 DBA PUBLIC SC SELECT 不能 DBA U5 SC INSERT 能 U5 U6 SC INSERT 能 小结 视图 建立视图 行列子集视图 WITH CHECK OPTION的视图 基于多个基表的视图 基于视图的视图 带表达式的视图 分组视图 删除视图 查询视图 更新视图 更新视图的限制 不可更新视图和不允许更新视图 小结 视图 视图的作用 视图能够简化用户的操作 视图使用户能以多种角度看待同一数据 视图对重构数据库提供了一定程度的逻辑独立性 视图能够对机密数据提供安全保护 适当的利用视图可以更清晰的表达查询 索引 建立索引 唯一性索引 聚簇索引 删除索引 数据权限控制 定义权限 收回权限 视图 基本含义 视图是从一个或几个基本表(或视图)导出的表。 视图的特点 虚表,是从一个或几个基本表(或视图)导出的表 只存放视图的定义,不会出现数据冗余 基表中的数据发生变化,从视图中查询出的数据也随之改变 视图 创建视图 DBMS执行CREATE VIEW语句时只是把视图的定义存入数据字典,并不执行其中的SELECT语句。在对视图查询时,按视图的定义从基本表中将数据查出。 组成视图的属性列名可以全部省略或全部指定 省略: 由子查询中SELECT目标列中的诸字段组成 明确指定视图的所有列名: 某个目标列是集函数或列表达式 目标列为 * 多表连接时选出了几个同名列作为视图的字段 需要在视图中为某个列启用新的更合适的名字 CREATE VIEW view_name[column1[, column2]…] AS query [WITH CHECK OPTION] 视图 行列子集视图 例:建立信息系学生的视图。 从单个基本表导出,并且只是去掉了基本表的某些行和某些列,但保留了码。 CREATE VIEW IS_Student AS SELECT Sno,Sname,Sage FROM Student WHERE Sdept= IS; 视图 WITH CHECK OPTION 透过视图进行增删改操作时,不得破坏视图定义中的谓词条件(即子查询中的条件表达式) CREATE VIEW view_name[column1[, column2]…] AS query [WITH CHECK OPTION] 视图 例:建立信息系学生的视图,并要求透过该视图进行的更新操作只涉及信息系学生。 对IS_Student视图的更新操作 修改操作:DBMS自动加上Sdept= IS的条件 删除操作:DBMS自动加上Sdept= IS的条件 插入操作:DBMS自动检查Sdept属

文档评论(0)

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

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

1亿VIP精品文档

相关文档