随着业务的不断复杂化,SQL Server中的数据表也愈来愈多,每次查询数据的时候,要解决多个表之间的表联接、字段映照等问题。另外,由于数据表可能常常变更,可能造成查询的组装SQL也会随之变更,增加了开发和保护的本钱。
针对这些问题,MSSQL中提供了一种特殊的数据模型——视图,用于更高效的获得信息。视图是虚拟表,可以将SQL语句作为表新建,有以下优点:
– 视图可以过滤掉表中一些不需要的字段,以节省空间;
– 视图还可以将多张表的字段进行连接的一次操作,映照成一个表,可以简化操作;
– 视图中的字段可以对返回结果中的数值进行计算,履行一些函数,从而实现动态数据插入;
– 对复杂表字段,利用视图可以封装成一个成心义的名字,从而让开发者更容易理解;
比如一个着名的`定单`表和`用户`表,二者表之间存在了多对一的联接关系,可使用以下语句新建视图:
“`sql
CREATE VIEW CustomerOrder AS
SELECT user.name as username, order.price as totalprice
FROM user
LEFT JOIN order ON user.id=order.user_id
以上新建的视图会返回用户信息和定单价格,查询视图时不必进行表联接,可以大大简化查询操作,节省大量时间。
视图无疑给开发和保护带来许多好处,也能够灵活应用完成一些复杂的查询。 但是由于它只是看起来表现的查询的一个快照而不是真实的表,所以不能直接对视图进行字段的删除和更新。要修改视图,首先需要删除视图,然后重新新建。
总的来讲,视图的使用可让程序员不必关心复杂的多表联接和字段映照,使得程序员可以更加专注于项目逻辑的开发。
本文来源:https://www.yuntue.com/post/98623.html | 云服务器网,转载请注明出处!

微信扫一扫打赏
支付宝扫一扫打赏