首页 百科知识 设计用户视图

设计用户视图

时间:2022-10-17 百科知识 版权反馈
【摘要】:如果未指定 column,则视图列将获得与 SELECT 语句中的列相同的名称。若要从创建视图的SELECT子句所引用的对象中选择,必须具有适当的权限。在select_statement中可以使用函数。表示强制视图上执行的所有数据修改语句都必须符合由 select_statement 设置的准则,即保证只能修改满足定义视图条件的数据记录。供应商有效供货商品视图包含的列为:供应商编号、供应商简称、商品编号、商品名称、颜色、尺码、单位、单价和最小订购数量。

8.2.1 设计用户视图

创建视图用CREATE VIEW语句,在SQL Server 中,CREATE VIEW的语法格式是:

img125

其中,< view_attribute > ::={ ENCRYPTION | SCHEMABINDING | VIEW_METADATA }

参数说明:

■ database_name

表示数据库名称,我们可定义ERM系统的数据库名称为“ERM”。

■ owner

表示所有者名称,通常为“dbo”。

■ view_name

表示视图的名称。通常以“vw”为前缀。

■ column

表示视图中的列名。只有在下列情况下,才必须命名 CREATE VIEW 中的列:①当列是从算术表达式、函数或常量派生的;②两个或更多的列可能会具有相同的名称(通常是因为联接);③ 视图中的某列被赋予了不同于派生来源列的名称。如果未指定 column,则视图列将获得与 SELECT 语句中的列相同的名称。

■ n

表示可以指定多列的占位符。

■ AS

表示视图要执行的操作。

■ select_statement

这是定义视图的 SELECT 语句。该语句可以使用多个表或其他视图。若要从创建视图的SELECT子句所引用的对象中选择,必须具有适当的权限。

在select_statement中可以使用函数。select_statement 可使用多个由 UNION 或UNION ALL 分隔的 SELECT 语句。

■ WITH CHECK OPTION

表示强制视图上执行的所有数据修改语句都必须符合由 select_statement 设置的准则,即保证只能修改满足定义视图条件的数据记录。

■ WITH ENCRYPTION

表示SQL Server 加密包含 CREATE VIEW 语句文本的系统表列。使用 W ITH

ENCRYPTION可防止将视图作为 SQL Server 复制的一部分发布。

下面我们给出在PowerDesinger中创建的ERM系统的两个视图:

(1)供应商有效供货商品

供应商有效供货商品视图包含的列为:供应商编号、供应商简称、商品编号、商品名称、颜色、尺码、单位、单价和最小订购数量。其中,“供应商编号、供应商简称”来自“供应商(tbSupplier)”表,“商品名称、颜色、尺码、单位”来自“商品(tbCommodity)”表,“商品编号、单价、最低订购数量”来自“供应商商品(tbSupplierCommodity)”表。3个表之间是通过“商品编号、供应商编号”建立关联的。

创建该视图的命令如下:

img126

视图中的条件“(b.CommodityNo NOT EXISTS SELECT d.CommodityNo FROM tbStopSupply d)”是用于提取正在供货的商品,它涉及“供应商停止供货商品(tbStopSupply)”表,这个条件的效率实际上很低,我们可以在“供应商商品(tbSupplierCommodity)”表中添加“有效性(CommodityValid)”列来提高效率。如果CommodityValid为1表示该商品未停止供货,那么,条件“(b.CommodityNo NOT EXISTS SELECT d.CommodityNo FROM tbStopSupply d)”可简化为“b.CommodityValid = '1'”。这样,创建供应商有效供货商品视图的命令可改进如下:

img127

img128

(2)分店仓库存货数量

分店仓库存货数量视图包含的列为:仓库编号、仓库名称、仓位编号、仓位名称、商品编号、商品名称、颜色、尺码、单位和当前库存量。其中,“仓库名称”来自“仓库(tbWarehouse)”表,“仓库编号、仓位名称”来自“仓位(tbApartment)”表,“商品名称、颜色、尺码、单位”来自“商品(tbCommodity)”表,“仓位编号、商品编号、当前库存量”来自“仓库存货(tbGoods)”表。4个表之间是通过“商品编号、仓位编号、仓库编号”建立关联的。

创建该视图的命令如下:

img129

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈