机房收费中有的功能要查询判断好几个表,如果一个一个查询又觉得很麻烦。当遇到这种差不多复杂的业务的时候,就用到了我们以前学过的--视图。
【是什么】
视图,是由从数据库的基本表中选取出来的数据组成的逻辑窗口,是基本表部分行列数据的组合。在数据库中,只存储视图的定义,而不存储视图所包含的数据,这些数据扔存放在原来的基本表中。换句话说就是,视图是一个虚表。
【优点】
①视图数据始终与基本表数据保持一致。
②节省存储空间。
③方便数据的查询。视图可以从基本表中
查询
数据,也可从多个基本表中
查询
数据,也可以从 其他视图中
查询
数据。
④保持数据的安全性。通过视图,用户只能查询或者修改他们所看到的数据。
【怎么用】
(一)用SQL语句实现
Create View V_Online
AS
SELECT BasicData.LeastMoney, CardInfo.CID, CardInfo.SID, CardInfo.Type, CardInfo.Money,
CardInfo.IsUse, LineLog.Status, StudentInfo.Sex, StudentInfo.SName
FROM LineLog INNER JOIN
CardInfo ON LineLog.CID = CardInfo.CID INNER JOIN
StudentInfo ON CardInfo.SID = StudentInfo.SID CROSS JOIN
BasicData
(二)用SSMS实现
1、如图操作,最后执行并保存。
2、D层除了传递数据,在加一行代码,如下:
Select * from V_Online where CID=@CID
【小结】
当遇到复杂的业务逻辑的时候,或者需要多表查询的时候,我么不可避免的要用到中间表,也即是视图,来简化我们的查询判断逻辑,让我们的系统更安全和健壮。多多尝试,多多积累。