原文:在PowerDesigner中设计物理模型3——视图、存储过程和函数

视图

在SQL Server中视图定义了一个SQL查询,一个查询中可以查询一个表也可以查询多个表,在PD中定义视图与在SQL Server中定义查询相似。例如要创几个所有学生的所有选课结果的视图,那么在工具栏中选择视图按钮,然后在设计面板中单击鼠标一次便可添加一个空白的 视图,切换到鼠标指针模式,双击该视图便可打开视图的属性窗口。在General选项卡中,可以设置视图的名字和其他属性。

Usage是表示视图是只读的视图还是可更新的视图,还有一个是check option选项,指定了 CHECK OPTION,也不能依据视图来验证任何直接对视图的基础表执行的更新。如果我们只创建一般的视图,那么就选择只查询选项。

Dimensional Type指定该视图表示的是维度还是事实,这个主要是在进行数据仓库多维数据建模时使用,一般情况下不需要指定。后面的两个复选框也不需要进行修改。Type使用默认的view选项。

切换到SQL Query选项卡,在文本框中可以设置视图定义的查询内容,建议直接先在SSMS中验证视图定义SQL语句的正确性,然后再将SQL语句复制粘贴到该文本 框中。在定义视图时最好不要使用*,而应该使用各个需要的列名,这样在视图属性的Columns中才能看到每个列。设计SQL Query如图所示。

当然,也可以在PD中使用自带的SQL编辑器编写SQL语句,单击右下角的“Edit with SQL Editor”按钮,即可弹出SQL Editor编辑器,编写SQL语句。

存储过程和函数

存储过程和用户自定义函数都是在同一个组件中设置的,在工具栏中单击Procedure按钮,然后在设计面板中单击一次便可添加一个Procedure。例如要创建一个存储过程根据学生的学号获得学生所选的课程,那么对于的操作如下:

在指针模式下双击添加的Procedure,打开Procedure属性窗口,在General选项卡中可以设置该存储过程的名字。

然后切换到Definition选项卡,该选项卡中定义了存储过程的定义,在下拉列表框中,选择<Default Procedure>选项,如果是要定义函数,那么就需要选择<Default Function>选项,系统会根据选择的类型创建SQL语句的模板。

在下面的SQL语句中,可以将create procedure [%QUALIFIER%]%PROC%保留,其他的删除,根据自己要创建的存储过程编写SQL语句。

create procedure [%QUALIFIER%]%PROC%
@StudentID int
as
begin
select CourseName
from vwStudentCourse
where StudentID=@StudentID
end

单击确定按钮,系统会根据编写的SQL语句,将所使用的表、视图与存储过程关联起来,如图所示:

创建函数的过程与之类似,只是使用的是create function而不是create Procedure而已。

至此,最常见的数据库对象:表(表的约束)、视图、存储过程、函数等在PD的创建已经介绍完了,接下来会介绍PD的设置。

在PowerDesigner中设计物理模型3——视图、存储过程和函数的更多相关文章

  1. 在PowerDesigner中设计物理模型1——表和主外键

    原文:在PowerDesigner中设计物理模型1--表和主外键 在PD中建立物理模型由以下几种办法: 直接新建物理模型. 设计好概念模型,然后由概念模型生成物理模型. 设计好逻辑模型,然后由逻辑模型 ...

  2. 在PowerDesigner中设计物理模型1——表和主外键(转)

    出处:http://www.cnblogs.com/studyzy/archive/2009/12/15/1624899.html 在PD中建立物理模型由以下几种办法: 直接新建物理模型. 设计好概念 ...

  3. 在PowerDesigner中设计物理模型2——约束

    唯一约束 唯一约束与创建唯一索引基本上是一回事,因为在创建唯一约束的时候,系统会创建对应的一个唯一索引,通过唯一索引来实现约束.不过唯一约束更直观的表达了对应列的唯一性,使得对应索引的目的更加清晰,所 ...

  4. 在PowerDesigner中设计概念模型

    原文:在PowerDesigner中设计概念模型 在概念模型中主要有以下几个操作和设置的对象:实体(Entity).实体属性 (Attribute).实体标识(Identifiers).关系(Rela ...

  5. MySQL 系列(三)你不知道的 视图、触发器、存储过程、函数、事务、索引、语句

    第一篇:MySQL 系列(一) 生产标准线上环境安装配置案例及棘手问题解决 第二篇:MySQL 系列(二) 你不知道的数据库操作 第三篇:MySQL 系列(三)你不知道的 视图.触发器.存储过程.函数 ...

  6. MySQL 第十天(视图、存储过程、函数、触发器)

    MySql高级-视图.函数.存储过程.触发器 目录 一.视图    1 1.视图的定义    1 2.视图的作用    1 (1)可以简化查询.    1 (2)可以进行权限控制,    3 3.查询 ...

  7. SqlServer更新视图存储过程函数脚本

    --视图.存储过程.函数名称 DECLARE @NAME NVARCHAR(255); --局部游标 DECLARE @CUR CURSOR --自动修改未上状态为旷课 SET @CUR=CURSOR ...

  8. Mysql 存储过程、函数、触发器和视图的权限检查

    当存储过程.函数.触发器和视图创建后,不单单创建者要执行,其它用户也可能需要执行,换句话说,执行者有可能不是创建者本身,那么在执行存储过程时,MySQL是如何做权限检查的? 在默认情况下,MySQL将 ...

  9. SQLServer2008/2012 删除所有表视图存储过程

    SQLServer2008/2012 删除所有表视图存储过程 -------------------删除所有的表-------------------use xuwenbin111--/第1步**** ...

随机推荐

  1. 从省市区多重级联想到的,react和jquery的差别

    在我们的前端项目里经常会用到级联的select,比如省市区这样.通常这种级联大多是动态的.比如先加载了省,点击省加载市,点击市加载区.然后数据通常ajax返回.如果没有数据则说明到了叶子节点.   针 ...

  2. PHP获取Cookie模拟登录CURL

    要提取google搜索的部分数据,发现google对于软件抓取它的数据屏蔽的厉害,以前伪造下 USER-AGENT 就可以抓数据,但是现在却不行了.利用抓包数据发现,Google 判断了 cookie ...

  3. Android Studio笔记(2)——快捷键

    在朋友推荐下,上个星期黄老师我用上了Google的新黑暗工具,基于Intellij idea的新Android开发集成开发环境 ——Android Studio,用下来感觉还算不错,但作为一个ADT ...

  4. UNIX环境高级编程-环境配置

    环境配置步骤如下. 1.  下载源文件:http://www.apuebook.com/src.tar.gz. 2.  复制src.tar.gz文件到/home/me/mydir/unixl/目录(自 ...

  5. 银行HR:寒门再难出贵子

    银行HR:寒门再难出贵子来源:金融行业网 2013 年 8 月 6 日 来源:天涯社区 作者:永乐大帝二世 本文是一位银行的HR写的,他工作了10年,接待了一群到银行实习的实习生,然后观察他们发生的好 ...

  6. MVC学习系列——HtmlHelper扩展

    微软自带很多HtmlHelper: ActionLink - 链接到操作方法.BeginForm  - 标记窗体的开头并链接到呈现该窗体的操作方法.CheckBox  - 呈现复选框.DropDown ...

  7. 微软职位内部推荐-Android Developer

    微软近期Open的职位: Position: SDE II or Senior SDE -- Mobile Products Android/WP Contact Person: Winnie Wei ...

  8. ADT 怎么删除logcat过滤规则

    刚才新增了一个过滤规则,但是没有找到在哪里删除,也看不到全部的log输出, 解决方案如下:

  9. input框中value与placeholder的区别

    value:是input中预先放置的文字,当鼠标点击之后依然存在,是值的一部分. placeholder:是input中输入位置的默认显示的文字,鼠标点击后仍旧显示,但不属于值,类似于背景.

  10. css块级元素、行内元素

    说说对html页面元素的排列认识: html中所有元素从上到下排列,所以需要css来对其中的元素进行排序.调节样式,并用js为其添加交互效果. css的排序.定位是相对块级元素而言的,margin/p ...