powerDesign实验

上传人:简****9 文档编号:112806067 上传时间:2019-11-07 格式:PPT 页数:54 大小:1.63MB
返回 下载 相关 举报
powerDesign实验_第1页
第1页 / 共54页
powerDesign实验_第2页
第2页 / 共54页
powerDesign实验_第3页
第3页 / 共54页
powerDesign实验_第4页
第4页 / 共54页
powerDesign实验_第5页
第5页 / 共54页
点击查看更多>>
资源描述

《powerDesign实验》由会员分享,可在线阅读,更多相关《powerDesign实验(54页珍藏版)》请在金锄头文库上搜索。

1、软件工程实验,PowerDesigner实验,2,Sybase PowerDesigner(简称PD)是最强大的数据库建模工具,市场占有率第一,功能也确实十分强大,现在最新版本是15.1,已经支持最新的SQL Server 2008等数据库,另外在PD15中还增加了好几种模型,界面也得到了进一步的美化,做出来的图更漂亮了。,PowerDesigner简介,3,2019年11月7日,3,PowerDesigner是一个集所有现代建模技术于一身的完整工具,它集成了强有力的业务建模技术、传统的数据库分析和实际,以及UML对象建模。通过了元数据的管理、冲突分析和真正的企业知识库等功能。 提供了一个完整

2、的企业建模环境 包括了数据库模型设计的全过程。利用可以制作数据流程图、概念数据模型、物理数据模型,4,可以生成多种客户端开发工具的应用程序 还可为数据仓库制作结构模型, 能对团队设计模型进行控制。 可与许多流行的数据库设计软件以及开发软件,例如:Visual Studio,Java,Power Builder等相配合使用来缩短开发时间和使系统设计更优化。,5,PowerDesigner解决方案,2019年11月7日,5,6,2019年11月7日,6,PowerDesigner与其他工具的比较,7,可见,PD本身除了进行数据库建模以外,还可以建业务模型、UML模型等,当然这些建模其他很多工具也有

3、相同的功能,PD在这些模型的建立上并没有看出有什么明显的优势,所以使用PD的目的只有一个就是进行数据库建模,这才是他的强项。,8,一般来说在进行数据库建模时最常用的就是概念模型和物理模型。PD中的数据流图、数据迁移模型和UML类图就暂时不研究了。 在进行数据库建模时,最先是要建立概念模型,概念模型是一个抽象的宏观层次的业务模型,最常用的是“实体-关系”图。所以在概念模型中最重要的对象是实体和关系。,9,根据概念模型可以生成逻辑模型,逻辑模型是概念模型的延伸,表示概念之间的逻辑次序,是一个属于方法层次的模型。 具体来说,逻辑模型中一方面显示了实体、实体的属性和实体之间的关系,另一方面又将继承、实

4、体关系中的引用等在实体的属性中进行展示。,10,数据库模型设计过程与方法,在数据库设计中,设计的目标就是要建立E-R图(实体-关系图),在PowerDesigner中就是要建立概念模型或者逻辑模型。 既然是实体-关系图,所以整个建模的核心就是围绕建立“实体”对象和找到实体之间的“关系”。 实体分为两部分:标识(主键)和属性。标识是实体的一个或多个属性的组合,用于唯一的表标识出实体中的每一个数据。 在确认一个实体的过程中,首先就是要确认实体的主键,只要找到了实体的主键,那么剩下的就是实体的属性。,11,1.确认核心实体,在建模过程中,首先需要对业务进行分析,从而确定模型的核心实体,找到了核心实体

5、和其主键,那么剩下的工作就是以核心实体为中心进行实体关联的扩展和实体属性的抽象。 设计一个学生选课系统的数据库模型,那么首先就是要分析,这个系统是做什么的,记录什么的?,12,“学生选课”!虽然只有4个字,但是已经完整的表达整个系统,从这样一个主谓宾的句子中,我们可以得出,整个模型的核心是“学生”(主语)和“课程安排”(宾语),谓词“选”表名了两个实体之间的核心关系。 确定了核心的实体“学生”和“课程安排”,那么接下来就是要确定实体的主键和属性。“学生”实体的主键很容易确定,只要找到能够唯一标识每个学生的一个字段即可,所以我们可以使用“学号”来作为学生实体的主键。,13,“课程安排”这个实体的

6、主键并没有那么明显的属性能够表示,对于无法找到明显的实体属性作为主键的情况下,我们需要创建一个专门的标识列(ID)用来标识实体中的每个实例。在数据库中最常见的ID就是自增列。这里我们可以设计“课程安排ID”作为课程实体的主键,每在数据库中增加一门课程,系统会自动为该课程分配一个自增的唯一整数来标识。,14,15,2.确认相关实体,在找到了核心实体后,接下来就是以核心实体为中心,找到相关的实体。相关实体一般来说就是和核心实体存在直接联系的实体,当然也有些相关实体是要经过另一个相关实体与核心实体关联。相关实体一般情况下都是名词。,16,以选课系统为例,与学生相关的实体是什么?班级、专业方向、院系等

7、,与课程安排相关的实体是什么?课程、课程的详细安排、安排的教师等,所以我们可以将这些要关联到的实体都建立。,17,18,一个实体可以没有属性,但是却不能没有主键,所以需要给所有相关实体添加主键,我们可以以简短的可以唯一标识实体的属性来作为主键,也可以使用自增的ID作为主键,在数据库中出于性能、快捷等方面的考虑,大部分实体都是以ID作为主键。,19,3.确认关联和关系,关联(Association)也是一种实体间的连接,实体和实体之间存在着关系(多对多),但是这种关系还存在其他的属性,这些属性如果如果作为一个明确的实体的实体来表示又不是很合适,所以就使用了Association来表达,这种关系之

8、间一般是一个“事件”虚实体,也就是说是一个动词对应的实体。,20,以选课系统为例,“选课”这个动词就是需要用关联来表示,一个学生可以选择多个课程安排,一个课程安排会有多个学生来选,所以学生和课程安排之间是多对多的关系,但是学生选课时还需要记录学生的时间、选课是否成功等信息,所以需要使用关联来表示选课这个动作。,21,两个实体之间存在4种关系:一对一、一对多、多对一和多对多。根据核心实体和相关实体之间的关系建立实体之间的关系,于是我们的选课系统数据库模型如图所示:,22,23,4.确认属性,前面几步工作时最重要最核心的工作,接下来的工作就是要完善模型。首先需要的就是要将实体的属性补齐,实体的属性

9、可以根据日常生活常识、用户提交的表单、用户需求调研等来确定。比如学生表,根据常识我们知道,学生会具有姓名、性别、生日等属性;课程会具有课程名、学分等属性;课程的详细安排会安排具体的时间、上课的地点等属性在实际的企业应用中,大部分实体的属性时不可能通过常识来得到的,必须进行需求的调研,结合业务上的需求和实际中的表单、数据流等找到实体的属性。,24,5.范式化,设计选课系统的数据模型时,对于选课的详细信息实体,会存在上课的时间、上课的地点等属性,但是仔细一考虑,这些属性如果直接放在该实体中,必然会形成数据重复,导致数据维护困难,不符合3范式的设计原则,所以应该将这些属性提出,作为单独的实体,于是,

10、我们的选课系统的数据库模型就变为如图所示:,25,26,6.细节调整,现在整个模型已经基本上完成了,但是仍然有几个地方需要进一步的确认和调整:属性的数据类型和实体之间的关系。现在数据库模型中,所有的属性的数据类型都是Undefined,需要根据系统要求、业务需求和调研来确定每个属性的数据类型。,27,数据类型的规则,自增ID用Integer型,如果数据量会特别特别大的话,可以使用长整型。 涉及到金额的用Money类型。 涉及字符串的确定该属性中是否有可能出现中文,如果有中文出现的,用variable multibyte,没有中文出现那就用Characters或者variable Charact

11、ers。 如果是枚举类型的,用Byte。 日期和时间类型的,确定是要用日期还是用时间,或者两者都需要记录。 具有小数的用float类型。,28,29,通过以上几步操作,我们可以建立完整的数据库概念模型,主要应该关注在实体的建立(核心就是要找到实体的主键)和实体关系的建立(核心就是找到实体直接是一对多还是多对多或者一对一),只要把这两点做好,那么整个模型的框架就搭建好了。,30,2019年11月7日,30,初识PowerDesiger,31,2019年11月7日,31,正式进入PowerDesigner世界 -Hello,PowerDesigner,基本功能 工作空间WorkSpace 容器,可

12、以包含各种类型的工程 工程Project CDM,PDM,OOM,BPM等 文件夹Folder 窗口Window 属性表Property Sheet 列表List,32,2019年11月7日,32,33,2019年11月7日,PowerDesigner数据模型 -概念数据模型CDM,什么是CDM? CDM 表现数据库的全部逻辑的结构,与任何的软件或数据储藏结构无关。 一个概念模型经常包括在物理数据库中仍然不实现的数据对象。 它给运行计划或业务活动的数据一个正式表现方式。 CDM是分析阶段用以理清数据之间的关联性,以实体-关系图表示一个实体具有的属性,以及与其它实体的1对1、1对多或多对多关系,

13、34,2019年11月7日,34,PowerDesigner数据模型 -概念数据模型CDM,创建CDM,35,在PowerDesigner中设计概念模型,在概念模型中主要有以下几个操作和设置的对象:实体(Entity)、实体属性(Attribute)、实体标识(Identifiers)、关系(Relationship)、继承(Inheritance)、关联(Association)、关联连接(Association Link)。,36,实体,实体就是我们抽象出的对象,比如:一个选课系统中,学生、教师、班级、课程等等都是实体。实体属性就是一个实体中所包含的简单属性,比如学生实体,具有学号、姓名、

14、生日、性别等属性。另外实体还有个标识用于唯一的标识出每个实体实例,比如学生实体中就可用将学生的学号作为该实体的标识。标识可用是一个实体属性也可以是多个属性的结合。,37,单击Entity图标,然后在设计主面板中单击一次便可添加一个实体。再单击鼠标图标,即可切换回一般鼠标的模式。双击已经添加的实体,弹出实体属性设置对话框,在General中可以设置实体的Name和Code等属性,如图所示:,38,切换到Attributes选项卡可以设置实体的属性Name、Code、DataType等,右边还有3个复选框,M表示不能为空,P表示是标识属性,D表示在模型图中是否显示,如果在设置属性时直接选中Stud

15、entID的P复选框,系统将会自动生成该Student实体的一个Identifier。,39,如果不希望系统自动生成而是手动设置的话,那么切换到Identifiers选项卡,添加一行Identifier,然后单击左上角的“属性”按钮,然后弹出的标识属性设置对话框中单击“添加行”按钮,选择该标识中使用的属性。例如将学号设置为学生实体的标识,具体操作如图所示:,40,整个设置好的实体如图所示:,41,关系,关系用于表示一个实体与另外一个实体之间的对应关系,分为一对一(1:1),一对多(1:n),多对一(n:1),多对多(m:n)4种对应关系,一对多和多对一其实就是方向相反,所以实际上就是一对一、一

16、对多和多对多。,42,最常用的就是一对多,比如班级实体和学生实体就是一对多关系,一个班级有多个学生,一个学生只会属于一个班级。在设计面板中添加一个Class实体,然后单击工具栏的Relationship按钮,然后在Class实体上单击一下,再到Student上单击一下,就可以在Class和Student之间建立一对多关系,如图:,43,系统默认会给该关系一个命名Relationship_1,切换到鼠标指针模式,双击Relationship_1,即可打开关系的属性窗口,可以在General选项卡中修改该关系的Name、Code等,如图:,44,切换到Cardinalities选项卡,上面可以修改是一对多还是多对多之类的关系,下面的Role name没有多大的意义,就是在模型中显示文字 。一个学生是可以不属于任何班级呢还是必须属于某一个存在的班级,这里我们都选至少是1,所以最终的设置界面如图:,45,继承,在概念模型中的继承与在OO模型中的继承是一回事,就是要抽象出一个实体,其他实体继承该实体后就拥有该实体的属性。 同样以选课系统为例,现在

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

当前位置:首页 > 商业/管理/HR > 管理学资料

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