【机房重构】——视图

一、视图概念


计算机数据库中的视图是一个虚拟表,其内容由查询定义,同真实的表一样,视图包含一系列带有名称的列和行数据。但是,视图并不在数据库中以存储的数据值集形式存在。


二、视图建立


1.数据库——自己数据库的名称——视图——新建视图


  【机房重构】——视图_第1张图片


2.选择你需要连接起来的两个表:如在查询余额的时候,用到T_CardInfoT_StudentInfo两个表


   【机房重构】——视图_第2张图片

 

3.同时T_CardInfo表中的主键CardNoT_StudentInfo的外键


  【机房重构】——视图_第3张图片


4.如果需要连接起来的两个表不是一个表是另一个表外键的关系,如:在学生上机显示功能中可以通过CardNoT_StudentInfo表和T_OnOffInfo表联系起来,但是CardNO不是一个表的主键和另一个表的外键,那么就需要增加一个第三方平台T_CardInfo表,如图:


   【机房重构】——视图_第4张图片


5.刷新结果:


   【机房重构】——视图_第5张图片


6.新建视图显示的虚拟表:可以看到把卡表和学生表需要的字段显示出来



三、视图使用


只需要在D层中SQL语句中将表改为视图的名称即可:


Sql = "select * from view_QueryCash where CardNo=@CardNo"


四、视图优缺点


优点:

1.数据安全性:对不同的用户定义不同的视图,使用户只能看到与自己有关的数据。

2.查询简单化:为复杂的查询建立一个视图,用户不必输入复杂的查询语句,只需针对此视图做简单的查询即可。

3.逻辑数据独立性:视图可以使应用程序和数据库表在一定程度上独立。如果没有视图,应用一定是建立在表上的。有了视图之后,程序可以建立在视图之上,从而程序与数据库表被视图分割开来。


缺点:

1.性能差:Sql Server必须把视图查询转化成对基本表的查询,如果这个视图是由一个复杂的多表查询所定义,那么,即使是视图的一个简单查询,Sql Server也要把它变成一个复杂的结合体,需要花费一定的时间。 

2.修改限制:当用户试图修改试图的某些信息时,数据库必须把它转化为对基本表的某些信息的修改。




你可能感兴趣的:(●,编程语言,………….NET,.Net—机房收费)