视图概述
在数据查询中,可以看到数据表设计过程中,考虑到数据的冗余度低、数据一致性等问题,通常对数据表的设计要满足范式的要求,因此也会造成一个实体的所有信息保存在多个表中。当检索数据时,往往在一个表中不能够得到想要的所有信息。 为了解决这种矛盾,在SQL Server中提供了视图。
视图的概念
视图是一种数据库对象,是从一个或者多个数据表或视图中导出的虚表,视图的结构和数据是对数据表进行查询的结果;
只存放视图的定义,不存放视图对应的数据;
基表中的数据发生变化,从视图中查询出的数据也随之改变。
视图的特点
1. 视图能够简化用户的操作,从而简化查询语句
2. 视图使用户能以多种角度看待同一数据,增加可读性
3. 视图对重构数据库提供了一定程度的逻辑独立性;
4. 视图能够对机密数据提供安全保护;
5. 适当的利用视图可以更清晰的表达查询。
使用视图的注意事项
只能在当前数据库中创建视图;
视图的命名必须遵循标识符命名规则,不可与表同名;
如果视图中某一列是函数、数学表达式、常量或者来自多个表的列名相同,则必须为列定义名称。
当视图引用基表或视图被删除,该视图也不能再被使用。
不能在视图上创建全文索引,不能在规则、默认的定义中引用视图。
一个视图最多可以引用1024个列。
视图最多可以嵌套32层。
创建视图
用户可以根据自己的需要创建视图。
创建视图与创建数据表一样,在SQL Server 2008中可以使用SQL Server Management Studio的对象资源管理器和T-SQL语句两种方法。
利用资源管理器创建视图
在SQL Server Management Studio中创建视图的方法主要在视图设计器中完成。
添加好各表后,单击关闭按钮关闭【添加表】对话框。以后需要用可以在关系图窗口的空白处右击。
在关系图窗口中,可以建立表与表之间的联系,只需要将相关联的字段拖动到要连接的字段上即可
在每个表列名前的复选框选择,可以设置视图需要输出的字段,在条件窗格里还可以设置要过滤的查询条件。
单击【执行SQL】按钮 ,运行select语句,查看运行结果。
测试正常后,单击【保存】,在弹出的对话框中输入视图名称,完成视图的创建