第四章 MySQL数据库基础-视图

来源:互联网 发布:网络词lc是什么意思 编辑:程序博客网 时间:2024/05/29 16:52

      视图在数据库应用系统中,非常重要,单独把它作为一章来进行介绍。那么,什么是视图呢?《数据库原理》一书上是这么定义的:视图是从一个或者多个基本表或视图中导出的虚表。为什么称为虚表呢,是因为,视图与表一样,都有名称,有结构定义,但是表是实实在在存放了数据;而视图也名称,有结构定义,但是所对应的数据是来源于表或其它视图。说通俗点:如果我们把一张报纸比做是一个表,那现在给你一个木框,你拿着木框在这张报纸上随意移动时,你通过木框看到的东西都是不一样,不同的位置就对应了不同的视图。熟悉VC中的CView类开发人员应该最清楚我表达我所说的内容。说了那么多的费话,还不如具几个例子来的实在。

      老套路,启动数据库系统,登录需操作的数据库。下面我们就来先创建一个视图来看看:

      mysql> create view v_score(iExamID,vcName,iScore) as select t_score.score_no,t_userinfo.user_name,t_score.exam_score from t_score,t_userinfo

                  where t_score.user_id=t_userinfo.user_id;

       执行以上语句后,我们就在mydb数据库中成功的创建了一个名为v_score的视图了。这个视图的数据来源于t_score表和t_userinfo表,下面我们查看一下视图的结构。

      mysql> show create v_score;

      怎么用view呢,对了,就跟查询表操作一样。

      mysql> select * from v_score;

      结果如下:

         

视图部分最基础的操作大概就这么多。初学数据库或者对视图概念仍模糊的同学们会问了,那为什么要用视图?前辈,专家已经对视图的作用进行了完美总结,我在这里只想强调三个作用:

1、视图可以简化查询操作。(这一点上面例子可看出,分散在两个表的数据,通过这么一个视图就用一句select就完成查询)。

2、视图可以将同一个数据以不同的面貌展现给不同的用户。

3、视图可以对数据表提供完全的保护,使某些用户无法直接接触到表。

 

视图是一个优化数据库管理、提高应用开发效率的工具。用好视图,对你的应用程序开发会大大提高程序的开发效率,并且使你的程序安全性上有了更好的保证。当然,你说是不是一定要有视图,我告诉你的,你的数据库中可以不要任何视图,照样可以完成你的所有操作。但那不是一个在好的数据库或软件开发人员应该身上发生的。

 

原创粉丝点击