物理数据模型--视图.docx

上传人:博****1 文档编号:562713662 上传时间:2024-02-02 格式:DOCX 页数:5 大小:263.72KB
返回 下载 相关 举报
物理数据模型--视图.docx_第1页
第1页 / 共5页
物理数据模型--视图.docx_第2页
第2页 / 共5页
物理数据模型--视图.docx_第3页
第3页 / 共5页
物理数据模型--视图.docx_第4页
第4页 / 共5页
物理数据模型--视图.docx_第5页
第5页 / 共5页
亲,该文档总共5页,全部预览完了,如果喜欢就下载吧!
资源描述

《物理数据模型--视图.docx》由会员分享,可在线阅读,更多相关《物理数据模型--视图.docx(5页珍藏版)》请在金锄头文库上搜索。

1、1 物理数据模型的深入设置1.1 视图计算机数据库中的视图是一个虚拟表,其内容由查询定义。同真实的表一样,视图包含一系列带有名称的列和行数据。但是,视图并不在数据库中以存储的数据值集形式存在。行和列数据来自由定义视图的查询所引用的表,并且在引用视图时动态生成。在SQL Server中视图定义了一个SQL查询,一个查询中可以查询一个表也可以查询多个表,在PD中定义视图与在SQL Server中定义查询相似。例如:EStore中,我们可能经常需要在查看某个商品的信息的同时,需要看到该商品是属于哪个产品,哪个分类,库存还有多少。这个操作需要涉及4个表,每次查询的时候如果都使用标准的查询语句进行连接查

2、询无疑是很麻烦的,对系统的开销也比较大。因此,可以建立一个视图,该视图显示的信息就包括商品信息Item表和产品Product表中的产品名称,产品分类Category表中的分类名称,以及库存Inventory表中的库存信息。1.1.1 为图表中已选定对象创建视图(View)()在模型图表中选择要操作的表(Table)或视图(View),这个例子中为商品信息Item表、产品Product表中、产品分类Category表以及库存Inventory表(使用Shift连选)。()选择Tools-Create View,这时可以看到已经模型图表中会出现一个视图图符,其中显示出了所选定的表和视图中所有字段,

3、如右图:上半部分为其显示的字段信息,下半部分为涉及的表。()双击刚创建的视图图符以打开视图属性(View Properties)窗口。()输入相应的Name和Code,同时可以通过不同属性页对视图属性进行进一步详细设计,如在Columns修改自动生成的视图列的Code和Name为更加合适的名称(系统对重复的命名会自动更名,但一般你不会满意的)。中并可以通过Preview选显卡查看最终生成的SQL语句。()单击”确认”,完成视图创建过程。注意:Powerdesigner的视图编辑功能相对较弱,并不能直接选择特定的表的列组成你需要的视图,也不能增加一些特殊列,比如像添加一个商品差价列,但可以通过对

4、SQL脚本编辑来实现:在SQL Query选项卡中,你可以看到生成该视图的SQL语句,但注意此处和后面Preview不同,是可以编辑的。该SQL语句为:selectInventory.ItemId Inventory_ItemId,Inventory.Qty,Category.CategoryId Category_CategoryId,Category.Name Category_Name,Category.Descn Category_Descn,Item.ItemId Item_ItemId,Item.SuppId,Item.ProductId Item_ProductId,Item.L

5、istPrice,Item.UnitCost,Item.Status,Item.Image Item_Image,Item.Name Item_Name,Product.ProductId Product_ProductId,Product.CategoryId Product_CategoryId,Product.Name Product_Name,Product.Descn Product_Descn,Product.Image Product_ImagefromInventory,Category,Item,Product现在我们去掉不期望在该视图中显示出来的数据列:库存编号Invent

6、ory.ItemId,分类编号Category CategoryId和Product.CategoryId,供应商编号Item.SuppId,分类描述Category.Descn,产品编号Item.ProductId和Product.ProductId,产品描述Product.Descn,产品图片Product.Image。只保留我们需要的字段,并调整其上下显示顺序和显示别名。最后再增加一个数据列:差价:Item.ListPrice-Item.UnitCost Pricedifference最后的SQL语句修改为:selectItem.ItemId ItemId,Item.Name Item_

7、Name,Product.Name Product_Name,Category.Name Category_Name,Item.ListPrice,Item.UnitCost,Item.Status,Item.Image Image,Inventory.Qty,Item.ListPrice-Item.UnitCost PriceDifferencefromInventory,Category,Item,Product这时再切换回Columns选显卡,会发现显示的列已经更改掉了:1.1.2 先建立空白视图,再选择所需表和视图() 选择Tools-Create View,打开如下选择窗口:() 在

8、列表中选择你所要添加的表和视图,单击OK,确认添加即可完成创建,这时在模型视图中出现视图图符。其它操作略。1.1.3 为视图使用扩展依赖(Extended Dependencies)扩展依赖是物理图表对象之间的连接,这些连接有助于让模型对象之间的关系更加清晰,而不会被PowerDesigner解释或检查,主要是用于文档化而建立的。()选择Palette面板中Link/Extented Dependency工具()在模型图表中先单击目标视图,拖放鼠标至其有关联的表和视图上,即将视图和表之间建立了联系,如下图示:使用扩展依赖仅仅是为了文档化模型,使对象关系更为清晰而已。注意:视图中SQL语句一定要

9、编写正确,比如前面的SQL语句,目前来看似乎一切正常,powerdesigner没有报错,校验也没问题,但生成SQL数据库后,你查看此视图,就会发现显示的信息并非仅仅显示每条商品信息的详细记录,似乎重复了很多。这是因为上面那个SQL语句本质上是一个Cross Join的连接查询,其结果就是产生了大量无用的数据,而实际上我们需要的是Inner Join内连接查询:最后查询语句可以这样修改:SELECTdbo.Item.ItemId, dbo.Item.Name,dbo.Category.Name Category_Name,dbo.Product.Name Pruduct_name, dbo.I

10、tem.UnitCost, dbo.Item.ListPrice, dbo.Item.Status, dbo.Item.Image,dbo.Inventory.Qty,dbo.Item.ListPrice-dbo.Item.UnitCost PriceDifferenceFROMdbo.Item INNER JOIN dbo.Inventory ON dbo.Item.ItemId = dbo.Inventory.ItemId INNER JOIN dbo.Product ON dbo.Item.ProductId = dbo.Product.ProductId INNER JOIN dbo.Category ON dbo.Product.CategoryId = dbo.Category.CategoryId关于内连接、外连接、交叉查询的SQL语句的设计,就不在此教程中详细说明,如果基础不够的同学可以另外查找相关资料进行学习。阶段任务:EStore:参照上面流程,完成产品关联信息视图的建立,并修改SQL语句,完成字段的选择,包括差价。建立一个视图,用于后台管理时显示商品Item时能方便查看供应商信息。显示的字段包括商品ID,名称,进价,售价,图片,库存,供应商,供应商电话。EStore:参照EStore例子,建立一个提供相似功能的视图。

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 生活休闲 > 社会民生

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号