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

简介: 原文:在PowerDesigner中设计物理模型3——视图、存储过程和函数 视图 在SQL Server中视图定义了一个SQL查询,一个查询中可以查询一个表也可以查询多个表,在PD中定义视图与在SQL Server中定义查询相似。
原文: 在PowerDesigner中设计物理模型3——视图、存储过程和函数

视图

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

image

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

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

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

image

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

存储过程和函数

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

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

image

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

image

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

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

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

image

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

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

目录
相关文章
|
29天前
|
存储 SQL NoSQL
mysql存储过程和存储函数
mysql存储过程和存储函数
|
2天前
|
存储 SQL 关系型数据库
MySQL 进阶使用【函数、索引、视图、存储过程、存储函数、触发器】(2)
MySQL 进阶使用【函数、索引、视图、存储过程、存储函数、触发器】
|
2天前
|
存储 SQL 关系型数据库
MySQL 进阶使用【函数、索引、视图、存储过程、存储函数、触发器】(1)
MySQL 进阶使用【函数、索引、视图、存储过程、存储函数、触发器】
|
20小时前
|
存储 SQL 关系型数据库
MySQL存储过程和存储函数的使用
MySQL的存储过程和存储函数在功能和用法上有明显的区别。存储过程是一组为了完成特定功能的SQL语句集,经编译后存储在数据库中,通过指定名称和参数(如果有)来调用执行,可以返回多个值或结果集,但不直接返回值。而存储函数则是一个有返回值的特殊存储过程,它返回一个值或表对象,可以直接嵌入SQL语句中使用,如SELECT语句中。两者都是为了提高SQL代码的重用性和性能,但使用场景和方式有所不同。
|
2天前
|
存储 关系型数据库 MySQL
MySQL 进阶使用【函数、索引、视图、存储过程、存储函数、触发器】(4)
MySQL 进阶使用【函数、索引、视图、存储过程、存储函数、触发器】
|
2天前
|
存储 SQL 关系型数据库
MySQL 进阶使用【函数、索引、视图、存储过程、存储函数、触发器】(3)
MySQL 进阶使用【函数、索引、视图、存储过程、存储函数、触发器】
|
6天前
|
存储 关系型数据库 MySQL
MySql创建带事务操作的存储过程
MySql创建带事务操作的存储过程
|
19小时前
|
存储 关系型数据库 MySQL
MYSQL--存储过程操作
MYSQL--存储过程操作
|
7天前
|
存储 关系型数据库 MySQL
MySQL数据库——存储过程-条件处理程序(通过SQLSTATE指定具体的状态码,通过SQLSTATE的代码简写方式 NOT FOUND)
MySQL数据库——存储过程-条件处理程序(通过SQLSTATE指定具体的状态码,通过SQLSTATE的代码简写方式 NOT FOUND)
8 0
MySQL数据库——存储过程-条件处理程序(通过SQLSTATE指定具体的状态码,通过SQLSTATE的代码简写方式 NOT FOUND)
|
7天前
|
存储 关系型数据库 MySQL
MySQL数据库——存储过程-游标(介绍-声明游标、打开游标、获取游标记录、关闭游标,案例)
MySQL数据库——存储过程-游标(介绍-声明游标、打开游标、获取游标记录、关闭游标,案例)
11 0