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

本文介绍了在SQLServer中如何创建和使用视图及存储过程。详细讲述了创建视图的过程,包括设置视图属性、定义查询内容等,并提供了创建存储过程的方法,包括设置名称、定义SQL语句等。

视图

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

image

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

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

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

image

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

存储过程和函数

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

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

image

然后切换到Definition选项卡,该选项卡中定义了存储过程的定义,在下拉列表框中,选择<DefaultProcedure>选项,如果是要定义函数,那么就需要选择<DefaultFunction>选项,系统会根据选择的类型创建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的设置。

【出自 博客园深蓝居,转载请注明作者出处】

转载于:https://www.cnblogs.com/smallfa/archive/2010/02/04/1663638.html

帆船租赁系统设计 1、问题描述圣达帆船租赁公司(Sheng Da Sailboat Charters SDSC)是一家出租帆船的机构。 SDSC没有自己的船。相反,SDSC登记想要赚钱的船主信息,并在船不使用时把它租借给客户,从中赚取中介费用。 SDSC专营多日或按周的租借。最小的帆船长度为9米,最大的帆船长度为17米。 每艘帆船在租用时设备都配备齐全。大部分设备是由船主提供的,但有些是由SDSC提供。船主提供的设备包括船只本身附带的设备,例如收音机,指南针,深度指示器其他仪器,炉具,以及冰箱。所有者提供的其他设备,例如帆,绳索,锚,小艇,生活储物柜机舱中的设备(餐具,银器,炊具,床上用品依此类推),但未实际固定在船上。 SDSC提供消耗品,例如作为表,导航书,潮汐表当前表,肥皂,洗碗巾,卫生纸类似的物品。SDSC要记录这些消耗品的使用以便于统计。跟踪设备的使用情况是SDSC职责的重要组成部分。很多设备的价格昂贵,特别是那些没有固定到船上的物品容易损坏,丢失或被盗。 SDSC要求客户租约期间对船只的所有设备负责。SDSC保留客户租约的信息。要求客户在租船合同期间保留准确的日志记录。船只租赁期间的一些行程天气条件可能比其他时候更危险,那么这些日志中的数据可以为后来的客户提供更多的体验信息。 此信息可用于SDSC的营销目的,以及评估客户处理特定船只行程的能力。帆船需要维护。船东与SDSC签订的合同中要求SDSC保留所有维护的准确记录活动费用。2、数据设计要求 (1)需求分析,可以在上述信息的基础上适当删减或扩充一些基本信息需求。 (2)根据设计结果,采用crow-foot模型(乌鸦脚模型)画出系统的总体ER(要求用PowerDesigner画出Logical design model)。(3设计者应认真分析思考各个表之间的关系,合理设计实施数据完整性原则。 1)给每个表实施主键及外键约束。 2)设定缺省约束。如性别。 3)设置非空约束。如客户姓名。 4)实施CHECK约束。如帆船的长度不能大约17米。 5)实施规则。如编号及帆船型号的一些设置规定。 (4)数据库物理设计:为表创建适当索引 (5)创建一个导出脚本(.sql)来创建所有数据库结构的备份,包括创建表定义数据3、SQL Server数据库对象设计 为充分发挥数据库的效能,保证数据库的安全性,提高数据库管理系统的执行效率,可以考虑使用视图存储过程及触发器来实现某些功能。(1)请根据系统的功能,创建一个视图、一个存储过程、一个触发器。 做如下查询,写出相应的SQL:。 (2)查询2021年租赁次数最多的帆船信息。(3)统计每一舟帆船在2021年的租赁收入 。(4)查询2021年5月1日所有已经租赁出去的帆船信息 。(5)查询2021年间维修费用最高的帆船信息 。设计一个触发器,实现若航班产生延误,则发出信息通知客户。 注:要求查询结果必须包含5-10行,查询结果的数据应合乎逻辑。
最新发布
09-08
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值