视图
[b]定义[/b]:[color=red]虚拟表[/color],与表不同,视图不会要求分配存储空间,视图中也不会包含实际的数据,因此一个视图只需要[color=red]占用数据字典中保存其定义的空间[/color],而[color=red]无需额外的存储空间[/color],视图只是定义了一个查询,视图中的数据是从基表中获取,这些数据在视图被引用时动态的生成。
[b]作用:[/b]
1.安全性:通过视图可以设定允许用户访问的列和数据行,从而为表提供了额外的安全控制
2.隐藏数据复杂性
视图中可以使用连接(join),用多个表中相关的列构成一个新的数据集。此视图就对用户隐藏了数据来源于多个表的事实。
3.简化sql语句
用户使用视图就可从多个表中查询信息,而无需了解这些表是如何连接的
4.提高效率
如果这个查询要被执行多次而不止一次,可以把所有未付款的客户找出来放在一个视图中,视图中的行要比主表中的行少,减少了磁盘I/O,所以查询工作量可以得到大幅减少。
CREATE VIEW titleview
AS
SELECT title, au_ord, au_lname, price, ytd_sales, pub_id
[b]定义[/b]:[color=red]虚拟表[/color],与表不同,视图不会要求分配存储空间,视图中也不会包含实际的数据,因此一个视图只需要[color=red]占用数据字典中保存其定义的空间[/color],而[color=red]无需额外的存储空间[/color],视图只是定义了一个查询,视图中的数据是从基表中获取,这些数据在视图被引用时动态的生成。
[b]作用:[/b]
1.安全性:通过视图可以设定允许用户访问的列和数据行,从而为表提供了额外的安全控制
2.隐藏数据复杂性
视图中可以使用连接(join),用多个表中相关的列构成一个新的数据集。此视图就对用户隐藏了数据来源于多个表的事实。
3.简化sql语句
用户使用视图就可从多个表中查询信息,而无需了解这些表是如何连接的
4.提高效率
如果这个查询要被执行多次而不止一次,可以把所有未付款的客户找出来放在一个视图中,视图中的行要比主表中的行少,减少了磁盘I/O,所以查询工作量可以得到大幅减少。
CREATE VIEW titleview
AS
SELECT title, au_ord, au_lname, price, ytd_sales, pub_id