网站大量收购闲置独家精品文档,联系QQ:2885784924

MySQL视图、索引及其应用.pptx

  1. 1、本文档共41页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
MySQL视图、索引及其应用

项目5 MySQL视图、索引及其应用;1、项目描述;2、任务解析;3、相关知识与实例; MySQL5.x实现了视图功能(包括可更新视图),且MySQL5.x及以上版本提供了二进制版的视图功能。MySQL视图(View允许用户像单个表那样访问一组关系(表),而且仅允许对它们的这类访问,也能限制对行的访问(特定表的子集)。对于列控制的访问,可使用MySQL服务器中的高级权限系统。 与直接从数据库表中提取数据相比,视图的特点如下: (1)使操作变得简单 (2)避免数据冗余 (3)增强数据安全性 (4)提高数据的逻辑独立性 ; 视图在以下两个方面使应用程序和数据逻辑独立: ?使用视图可以向应用程序屏蔽表结构,此时即使表结构发生变化(例如表的字段名发生变化),只需重新定义视图或者修改视图的定义,无需修改应用程序即可使应用程序正常运行。 ?使用视图可以向数据库表屏蔽应用程序,此时即使应用程序发生变化,只需重新定义视图或者修改视图的定义,无需修改数据库表结构可使应用程序正常运行。;在视图定义中允许使用ORDER BY,但是,如果从特定视图进行了选择,而该视图使用了具有自己ORDER BY的语句,则视图定义中的ORDER BY将被忽略。 ?对于SELECT语句中的其他选项或子句,若视图中也包含了这些选项,则效果未定义。例如,如果在视图定义中包含LIMIT子句,而SELECT语句使用了自己的LIMIT子句,MySQL对使用哪个LIMIT未做定义。;② 创建视图 创建视图需要有CREATE VIEW的权限,并且对于查询涉及的列有SELECT权限。 视图中包含了SELECT查询的结果,因此视图的创建基于SELECT语句和已存在的数据表,视图可以建立在一张表上,也可以建立在多张表上。 创建视图的语法格式: CREATE [OR REPLACE] [ALGORITHM = {UNDEFINED | MERGE | TEMPTABLE}] VIEW view_name [(column_list)] AS select_statement [WITH [CASCADED | LOCAL] CHECK OPTION];参数说明: view_name:视图名。 column_list:要想为视图的列定义明确的名称,可使用可选的column_list子句,列出由逗号隔开的列名。column_list中的名称数目必须等于SELECT语句检索的列数。若使用与源表或视图中相同的列名时可以省略column_list。 OR REPLACE:给定了OR REPLACE子句,语句能够替换已有的同名视图。 ALGORITHM子句:可选的ALGORITHM子句是对标准SQL的MySQL扩展,规定了MySQL的算法,算法会影响MySQL处理视图的方式。ALGORITHM可取3个值:MERGE、TEMPTABLE或UNDEFINED。;select_statement:用来创建视图的SELECT语句,可在SELECT语句中查询多个表或视图。 但对SELECT语句有以下的限制: ?定义视图的用户必须对所参照的表或视图有查询(即可执行SELECT语句)权限; ?不能包含FROM子句中的子查询; ?不能引用系统或用户变量; ?不能引用预处理语句参数; ?在定义中引用的表或视图必须存在; ?若引用不是当前数据库的表或视图时,要在表或视图前加上数据库的名称; ?; WITH CHECK OPTION:指出在可更新视图上所进行的修改都要符合select_statement所指定的限制条件,这样可以确保数据修改后,仍可通过视图看到修改的数据。 创建视图的指导原则: ?只能在当前数据库中创建视图 ?视图名称应与表名近似 ?视图名称应遵循标识符的命名规则 ?可以基于其他视图建立视图 ?不能将默认值、规则和触发器与视图相关联 ?;不能为视图建立索引 ?创建视图时不能使用临时表。 ?即使表被删除,视图定义仍将保留。 ?定义视图的查询不能包含以下语句:ORDER BY (加top)、COMPUTE 子句、COMPUTE BY 子句、INTO 关键字。 ; 【例5.1】 假设当前数据库是xsks,创建xsks数据库上的视图xsks_st1,包括计算机专业各学生的准考证号、姓名、考场号、考试时间。要保证对该视图的修改都要符合专业名为计算机这个条件。 CREATE OR REPLACE VIEW xsks.xsks_st1 AS SELECT student.zkzh,student.name,testid,testtime

文档评论(0)

shuwkb + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档