内容正文:
学生信息管理系统数据库中存储着大量的数据,随着数据库被不断使用,数据量会越来越庞大,在庞大的数据中查询用户需要的那部分数据需要逐条遍历所有记录,并进行比较,直到找到满足条件的记录为止,可想而知需要耗费一定的时间,降低了查询效率。而要解决这一问题,可以在表中创建索引。
同时由于不同的用户感兴趣的数据不同,为了简化用户的操作,缩小数据操作范围,可以通过在学生信息管理数据库系统中创建视图来实现。
本任务将以学生信息管理数据库gradem为例,重点讲解学生信息管理数据库索引和视图的建立与使用。通过本任务的学习将使学生理解索引的概念和作用、视图的概念和作用,并掌握视图和索引的创建与管理。
项目6
优化学生信息管理数据库
项目概述
视图是从一个或者几个基本表或者视图中导出的虚拟表,是从现有基本表中抽取若干子集组成用户的“专用表”,这种构造方式使用SQL语言中的SELECT语句来实现。视图与基本表不同,视图不对数据进行实际存储,数据库中只存储视图的定义。用户对视图的数据进行操作时,系统会根据视图的定义去操作相关联的基本表。对视图的操作与对基本表的操作相似,可以查询数据、录入数据、更新数据和删除数据。当对视图进行录入、更新和修改后,基本表的数据也会随之发生变化,同样基本表的数据发生变化,与之相关联的视图也随之变化。
项目6
优化学生信息管理数据库
知识点1 视图概述
知识积累
1.使用视图的优点
项目6
优化学生信息管理数据库
知识点1 视图概述
知识积累
(1)简化用户的操作,使操作变得更简单
(2)简化用户权限的管理
(3)提高数据的逻辑独立性
2.创建视图的原则
项目6
优化学生信息管理数据库
知识积累
知识点1 视图概述
(1)只能在当前数据库中创建视图
(2)视图名称须遵循标识符规则
(3)可基于其它视图创建视图
(4)不能基于临时表创建视图
1.创建视图
视图在数据库中是作为一个对象来存储的。用户在创建视图前要保证自己具有使用CREATE VIEW语句的权限,并且有权操作视图所涉及的表或其他视图,其语法格式如下:
CREATE[OR REPLACE] VIEW <视图名>[(<列名> [,<列名>]…)]
AS<SELECT 查询>
[WITH [CASCADED|LOCAL] CHECK OPTION]
参数说明:
(1)VIEW:创建视图的关键字。
(2)OR REPLACE:可选项,表示可以替换已有的同名视图。
(3)AS:引导创建视图的SQL查询语句。
(4)SELECT 查询:用来创建视图的SELECT语句。
(5)可以在视图的基础上再创建视图。
项目6
优化学生信息管理数据库
知识点2 视图的管理与维护
知识积累
(6)WITH CHECK OPTION:可选项,在视图基础上使用的插入、修改、删除语句,必须满足创建视图时SELECT查询中的WHERE子句的条件,这样可以确保数据修改后,仍可通过视图看到修改的数据。WITH CHECK OPTION给出CASCADED和LOCAL两个可选参数,它们决定了检查测试的范围。LOCAL表示只对定义的视图进行检查,CASCADED表示对所有视图进行检查,默认为CASCADED。
(7)视图名后的列可以省略,若省略了视图名后的列,则视图结果集中的列为表中的列;
若指定视图中的列,则视图中列的数目必须与SELECT查询中列的数目相等。
项目6
优化学生信息管理数据库
知识点2 视图的管理与维护
知识积累
2.查看视图
查看视图是查看数据库中已经存在的视图的定义。查看视图必须要有SHOW VIEW的权限。
(1)使用DESCRIBE语句查看视图的基本信息
语法格式如下:DESCRIBE 视图名
(2)使用SHOW TABLE STATUS语句查看视图的基本信息
语法格式如下:SHOW TABLE STATUS LIKE 视图名
(3)使用SHOW CREATE VIEW语句查看视图的基本信息
语法格式如下:SHOW CREATE VIEW '视图名'
(4)在VIEWS表中查看视图的详细信息
在MySQL中,information_schema数据库下的VIEWS表存储了所有视图的定义。通过对VIEWS表进行查询,可以查看数据库中所有视图的详细定义,语句格式如下:
SELECT * FROM information_schema.VIEWS
项目6
优化学生信息管理数据库
知识点2 视图的管理与维护
知识积累
3.修改视图
修改视图是修改视图的定义,MySQL通过CREATE OR REPLACE VIEW语句和ALTER VIEW语句修改视图。
(1)使用CREATE OR REPLACE VIEW修改视图
语法格式如下:
CREATE OR REPLACE