第8章视图电子课件 MySQL数据库管理与应用中职 高三 高教版
2022-11-26
|
47页
|
152人阅读
|
31人下载
普通
内容正文:
第8章 视图
主要内容
8.1 视图概述
8.2 创建视图
8.3 管理视图
8.4 使用视图操作数据
8.5 本章小结
8.1 视图概述
视图是从一个或多个表导出的虚拟表,为用户提供了一种查看数据库中数据的方式。
视图就像一个窗口,通过这个窗口可以看到系统专门提供的数据,用户可以不用看到整个数据表中的数据而只关心对自己有用的数据。
视图可以方便用户操作数据,还可以保证数据库系统的安全性。
8.1 视图概述
8.1.1 视图的概念
视图是一种数据库对象,视图在数据库中保存的是对一个或多个表(或其他视图)进行查询的SELECT语句,因此视图可以看作是从一个或多个表(或其他视图)导出的虚拟表,这些表称为视图的基表。
和真实的表一样,视图在显示时也包含一系列带有名称的列和多行数据,这些列和行由视图定义的SELECT语句决定。通过视图看到的数据可以来自于一个基表、两个或多个基表的连接查询、对基表中数据的统计汇总、其它视图定义的数据、基表和视图的混合等。
8.1 视图概述
视图与基表的对应关系
8.1 视图概述
8.1.1 视图的概念
需要注意的是,数据库中只保存了视图的定义,并没有保存视图的数据,这些数据保存在视图所引用的基表中。使用视图查询数据时,数据库管理系统会从基表中取出对应的数据,因此当基表中的数据发生改变时,显示在视图中的数据也会随之改变。通过视图修改数据时,系统会转化为对基表中的数据的修改。
8.1 视图概述
8.1.2 视图的作用
简化操作,屏蔽数据库的复杂性
增加数据的安全性
保证数据逻辑独立性
8.2 创建视图
8.2.1 使用CREATE VIEW语句创建视图
语法格式:
CREATE [OR REPLACE]
[ALGORITHM = {UNDEFINED | MERGE | TEMPTABLE}]
[DEFINER = user]
[SQL SECURITY { DEFINER | INVOKER }]
VIEW view_name [(column_list)]
AS select_statement
[WITH [CASCADED | LOCAL] CHECK OPTION]
8.2 创建视图
8.2.1 使用CREATE VIEW语句创建视图
REPLACE:如果视图不存在,则“CREATE OR REPLACE VIEW”与“CREATE VIEW”相同。如果视图存在,“CREATE VIEW”会出错而无法执行,“CREATE OR REPLACE VIEW”会执行并替换视图原来的定义。
ALGORITHM: MySQL处理视图的方式。MERGE会将引用视图的语句与视图定义合并起来,使得视图定义的某一部分取代语句的对应部分。TEMPTABLE将视图的结果置于临时表中,然后使用它执行语句。如果选用UNDEFINED,MySQL自己选择所要使用的算法。
8.2 创建视图
8.2.1 使用CREATE VIEW语句创建视图
DEFINER:视图的定义者,user可以是'user_name'@'host_name'、CURRENT_USER或CURRENT_USER( ),有关用户的介绍参见第14章。如果省略了DEFINER子句,则默认的DEFINER是执行CREATE VIEW语句的用户,这与显式指定DEFINER=CURRENT_USER相同。
SQL SECURITY:在执行引用视图的语句时,SQL SECURITY子句确定在检查视图的访问权限时要使用哪个MySQL帐户。DEFINER为默认值,表明所需的权限由定义视图的用户持有,INVOKER表明所需的权限由调用视图的用户持有。
8.2 创建视图
8.2.1 使用CREATE VIEW语句创建视图
view_name:要创建的视图的名称。默认情况下,将在当前数据库中创建新视图。要在给定数据库中显式创建视图,可以用db_name.view_name。在数据库中,基表和视图共享相同的命名空间,因此基表和视图不能具有相同的名称。
column_list:视图必须具有唯一的列名,不存在重复项,就像基表一样。默认情况下,视图列名为SELECT语句检索到的列的名称。可以在视图名后用(column_list)子句以逗号分隔的名称列表显式定义视图列的名称。列名表中的名称数量必须与SELECT语句检索到的列数相同。
8.2 创建视图
8.2.1 使用CREATE VIEW语句创建视图
select_statement:视图定义的SELECT语句。可以引用基表或其他视图,可以使用连接查询、UNION联合查询和子查询。SELECT语句检索的列可以是对表列的简单引用,也可以是使用函数、常量值、运算符的表达式。
WITH [CASCADED | LOCAL] CHECK OPT
由于学科网是一个信息分享及获取的平台,不确保部分用户上传资料的 来源及知识产权归属。如您发现相关资料侵犯您的合法权益,请联系学科网,我们核实后将及时进行处理。