一、视图概念
计算机数据库中的视图是一个虚拟表,其内容由查询定义,同真实的表一样,视图包含一系列带有名称的列和行数据。但是,视图并不在数据库中以存储的数据值集形式存在。
二、视图建立
1.数据库——自己数据库的名称——视图——新建视图
2.选择你需要连接起来的两个表:如在查询余额的时候,用到T_CardInfo和T_StudentInfo两个表
3.同时T_CardInfo表中的主键CardNo是T_StudentInfo的外键
4.如果需要连接起来的两个表不是一个表是另一个表外键的关系,如:在学生上机显示功能中可以通过CardNo把T_StudentInfo表和T_OnOffInfo表联系起来,但是CardNO不是一个表的主键和另一个表的外键,那么就需要增加一个第三方平台T_CardInfo表,如图:
5.刷新结果:
6.新建视图显示的虚拟表:可以看到把卡表和学生表需要的字段显示出来
三、视图使用
只需要在D层中SQL语句中将表改为视图的名称即可:
<span style="font-family:KaiTi_GB2312;font-size:24px;color:#000000;"><span style="font-family:KaiTi_GB2312;">Sql = "select * from view_QueryCash where CardNo=@CardNo"</span></span>
四、视图优缺点
优点:
1.数据安全性:对不同的用户定义不同的视图,使用户只能看到与自己有关的数据。
2.查询简单化:为复杂的查询建立一个视图,用户不必输入复杂的查询语句,只需针对此视图做简单的查询即可。
3.逻辑数据独立性:视图可以使应用程序和数据库表在一定程度上独立。如果没有视图,应用一定是建立在表上的。有了视图之后,程序可以建立在视图之上,从而程序与数据库表被视图分割开来。
缺点:
1.性能差:Sql Server必须把视图查询转化成对基本表的查询,如果这个视图是由一个复杂的多表查询所定义,那么,即使是视图的一个简单查询,Sql Server也要把它变成一个复杂的结合体,需要花费一定的时间。
2.修改限制:当用户试图修改试图的某些信息时,数据库必须把它转化为对基本表的某些信息的修改。