PowerDesigner概念模型物理模型

上传人:痛*** 文档编号:97234483 上传时间:2022-05-27 格式:DOC 页数:29 大小:1.67MB
收藏 版权申诉 举报 下载
PowerDesigner概念模型物理模型_第1页
第1页 / 共29页
PowerDesigner概念模型物理模型_第2页
第2页 / 共29页
PowerDesigner概念模型物理模型_第3页
第3页 / 共29页
资源描述:

《PowerDesigner概念模型物理模型》由会员分享,可在线阅读,更多相关《PowerDesigner概念模型物理模型(29页珍藏版)》请在装配图网上搜索。

1、在PowerDesigner 中设计概念模型在概念模型中主要有以下几个操作和设置的对象:实体(Entity )、实体属性(Attribute )、实体标识(Identifiers )、关系 (Relationship )、继承(Inheritance )、关联(Association )、关联 连接(Association Link)。实体实体就是我们抽象出的对象,比如:一个选课系统中,学生、教师、班级、课程等等都是实体。实体属性就是一个实体中所包含的简单属性,比如学生实体,具有学号、姓名、生日、性别等属性。另外实体还有个标识用于唯一的标识出每个实体实例,比如学生实体中就可用将学生的学号作为该

2、实体的标识。标识可用是一个实体属性也可以是多个属性的结合。在PD中新建一个新的概念模型,系统将出现一个工具栏如下,用于在设计面板中设计模型。區凸忍Q喪彗芜启吃團目右日昌 討諄 回口 o O/V凸|单击Entity图标,然后在设计主面板中单击一次便可添加一个实体。再单击鼠标图标,即可切换回一般鼠标的模式。双击已经添加的实体,弹出实体属性设置对话框,在Ge neral中可以设置实体的 Name和Code等属性,如图所示:切换到Attributes选项卡可以设置实体的属性Name、Code、DataType等,右边还有 3个复选框,M表示不能为空,P表示是标识 属性,D表示在模型图中是否显示,如果在

3、设置属 性时直接选中 StudentID的P复选框,系统将会自动生成该Student实体的一个Identifier 。GeneralAttributesIdenti fi ersRulesf Enti ty Frojierties 一 StudJeiLt 侣Indemt)-!StudemtlDN anne I Code讨MData TypeStudentNarneShjdenJSo;StvidenUNameIntegerLong va liable c: 50B ooleanDateSJuderilSexStudentBithdiaLength晶扁鬼x |齬|亨雲恥消I应用电Mora 如果不希

4、望系统自动生成而是手动设置的话,那么切换到Identifiers选项卡,添加一行Identifier,然后单击左上角的属性”按 钮,然后弹出的标识属性设置对话框中单击添加行按钮,选择该标识中使用的属性。例如将学号设置为学生实体的标识,具体操作如图所示:Bl lisli ty Ff 2 Itr St-(r*Tk*rl :Idtrili fl 柑M | 险|亍) 】i出* n X拎。色科“ngEhjdertT Identi fier rroptf i 1*1 - FEStndtmt WMHGtnard.Bottl X拎。症和小IMore2dNairit1 UgI阴百Type|ErW7J =弓 tu

5、deiW9lud$thNDZ3 SlUfWMN-bnMStydeniN ahwSlUd4FVJ 口 StudeflSexStudents mEode#iSlufent二 21 SluderlBulMSiudentfi itMDieSiuientJ1 MJEnltvmfritod刖 厂1/4辆”电Mote OK整个设置好的实体如图所示:StudentE twdeqtlDGiStudentNafiQLon耳 bHiable characters C30)StudentsexSooleanS tydvet B i r thiayD 对岳fK smdiLt (dD-关系关系用于表示一个实体与另外一个实

6、体之间的对应关系,分为一对一(1:1),一对多(1:n),多对一(n:1),多对多(m:n)4种对应关系,一对多和多对一其实就是方向相反,所以实 际上就是一对一、一对多和多对多。最最常用的就是一对多,比如班级实体和学生实体就是一对多关系,一个班级有多个学生, 一个学生只会属于一个班级。在设计面板中添加一个Class实体,然后单击工具栏的Relationship按钮,然后在 Class实体上单击一下,再到Student上单击一下,就可以在Class和Student之间建立一对多关系,如图:CLi&s口 SLS2 工DCpH In-teser山ClaEEUammVariahle character

7、s (2DJPK_C1 assonship_lStud 电 BL tIDE tud-en tN ami e StudentSeK.StudentBir thda.yStudent如iIjitEU:Lozig Vairi atie clKar ac ters QEDjBooleanDateFK_5t讹切t八卄-系统默认会给该关系一个命名 Relatio nship_1,切换到鼠标指针模式,双击 Relatio nship_1 , 即可打开关系的属性窗口,可以在 General选项卡中修改该关系的 Name、Code等,如图:切换到Cardinalities选项卡,上面可以修改是一对多还是多对多之

8、类的关系,下面的Rolename没有多大的意义,就是在模型中显示文字,多的一方有0,n和1,n两种,也就是说一个班级可以对应多个学生,那么一个班级中最少是没有学生还是要至少存在一个学生,同-iDlxl样的一的一方有 0,1和1,1两种,就是说一个学生是可以不属于任何班级呢还是必须属于某 一个存在的班级,这里我们都选至少是1,所 以最终的设置界面如图:ClassRde rwie: 厲于Ent 11Entity 2(Jase,鼻有厂Brlati vaibip rrvpvx-li ts -瞬Hd 嚴学:t_StiG4MTI1厂 Depeftdent 肓 聊Qi曲对娜仆”J刍”I艇I取消|砂如| 一譚

9、品继承在概念模型中的继承与在 00模型中的继承是一回事, 就是要抽象出一个实体, 其他实体继 承该实体后就拥有该实体的属性。同样以选课系统为例,现在有学生实体,有教师实体,其他他们都是人,具有人的属性,所 以我们可以抽象出一个人的实体,人具有性别、生日名字等属性,教师具有职称、工号等 属性这是学生没有的,所以不能放在人实体中,学生具有学号属性是教师没有的。这里只是概念模型,在DBMS中是没有继承这种说法的,所以在接下来的逻辑模型和物理模型中,系统就会将继承转换为实际的实体和表。这里只是概念模型,所以才有继承的说法。关联(Association)我也不知道这个翻译成中文用哪个词比较好,就暂且用关

10、联”吧。Association也是一种实体间的连接,在Merise模型方法学理论中,Association是一种用于连接分别代表明确定义的对象的不同实体,这种连接仅仅通过另一个实体不能很明确地表达,而通过事件(Event) ”连接来表示。也就是说,实体和实体之间存在着关系(多对多),但是这种关系还存在其他的属性,这些属性如果如果作为一个明确的实体的实体来表示又不是很合适,所以就使用了Association来表达,这种关系之间一般是一个事件”虚实体,也就是说是一个动词对应的实体。前面说的可能还是太抽象,以实际的例子来说明:现在有了学生实体,有课程实体,一个学 生可以选择多门课程,一门课程有多个学

11、生来上课,所以之间就存在一个 选课”的 Association,其中记录了学生选课的时间、选课的状态:一个学生会对应多个选课结果选择多门课程,一个课程对应多个选课学生选课,所以学生实体和课程实体与选课的关系都是一对多,添加关联连接,一门课程可能太枯燥了,没有学生来选,所以课程对应选课可能是0,n,个学生可能学分够了这学期一门课都不选,所以学生对应选课也可能是0,n的关系,所以我们最终形成的概念模型如图所示:Le&CcbtrkCti: (L4| 5?SuBm-IkrYlkNhJfty Ik 2()Clot eHD伽2 1口龍禮呛CUidta*UwkftklFLClftH(ft .-軒札如J ID

12、 Gi.仙tcm g 鼻于 Ms I 自 *主键在设计一个表时,一般情况下每个表都会有一个主键, 表设置主键时有以下几种办法:1在Columns选项卡中,直接选中主键列的P列复选框,这是最简单的方式。2选中一个列,然后单击工具栏中的属性”按钮,系统将弹出列属性窗口,在该窗口中可以设置该列的各种属性,当然也包括该列是否是否是主键。另外还有一个很重要的复选框是Identity。选中Identity复选框则表示该列为自增列。General 卜毗心| Slsjtdardl Chaclss; | NicrQsoft KotesRuJ.Name:Code:Comment:Stereotype:FloomI

13、DT able:DqM Ijipe:F7DisplacedLength:PrecisioriLDomain:ComputedP-Mar-datoiyI dentil跌 口回亘IPtimy kj) 厂 Foreign Sy1012SJCo Juan Fr erti es 一 EoobIU (RodbID)3切换到Keys选项卡中,在其中添加一行命名为 PK_ClassRoom然后单击工具栏的 属性” 按钮,打开键属性窗口, 在该窗口中切换到 Columns选项卡,单击添加列按钮,弹出列选择 窗口,选中主键中应该包含的列,单击确定按钮即可完成主键的创建。h.aFhwictl Qiti 4nilie

14、rEaftRcittiRultiFr*vi twCn4iril |轟dSE tlKtys;Trirt IPrciuret TProper - i -G*g j拓4出x |対丨费卫znfrex lxtHdaysluT- a. -oomMcmv CodePf 匚 la命com另外需要注意的是,在建立主键时,系统会在主键上建立索引,索引分为聚集索引和非聚集 索引,在 键属性”窗口的General选项卡中可以设置该主键上建立的索引是聚集索引还是非 聚集索引,如图所示:輕 Key Proper ti es 一 rt_Cl且(FK_C 1 asRooB)-1口1 甸General | Cvlwnns I

15、Physical Opt iCode:Comment:Stereotppe:Table:Constraint name:HEHi crocft | Hot* s | Freview恥消 I gRX |外键如果是由概念模型或者逻辑模型生成物理模型,那么外键是通过Relati on ship生成的,也可以通过工具栏中的Referenee来实现两表之 间的外键关系。假如一个课程只会在一个固定的教室上课,而一个教室会安排多个课程在不同的时间上课,所以教室和课程是一对多的关系,那么课程表中就需要添加RoomID列以形成外键列,具体操作方法就是在工具栏中单击“ Referenee按钮,然后在设计面板中,课

16、程表上按下鼠标左键,并拖拽到教师表中放开鼠标,这时如果课程表中没有RoomID列,系统会自动创建 RoomID列并创建该列上的外键引用,如果已经存在 RoomID列,则只添加外键引用,不会再添加新列。CourseCour1 日亡 IDint5kCourse Warne varehar(50)Course Mark floatRoomID inifk教室RgmID int5kRQmName nvarhar (20)亡 Wrii 切换到鼠标指针模式, 双击箭头,系统将弹出引用的属性窗口,在属性窗口中可以设置该引用的Name、Code关联的列、约束名、更新策略和删除策略等。下一篇文章将会介绍其他约束

17、具体包括:1.CHECK勺束2默认值约束3非空约束另外在物理模型中还包括:视图、存储过程、函数、触发器等都会在接下来的几篇文章中讲解到。【出自博客园深蓝居,转载请注明作者出处】在PowerDesigner中设计物理模型 2约束唯一约束唯一约束与创建唯一索引基本上是一回事,因为在创建唯一约束的时候,系统会创建对应的一个唯一索引,通过唯一索引来实现约束。不过唯一约束更直观的表达了对应列的唯一性, 使得对应索引的目的更加清晰,所以一般建议创建唯一约束而不是只创建唯一索引。在PD中创建唯一约束的操作,以教室表来说,RoomID是主键,必然是唯一的,RoomName如果我们也要去必须是唯一的,那么具体操

18、作如下:在PD的模型设计面板中,双击 教室”表,打开属性窗口,切换到 ” Key选项卡,可以看到 里面有一行数据 PK_ClassRoom这是主键 约束。添加一行数据,命名为 UQ_RoomName, 不能将右边的“P列选上,然后单击工具栏的 属性”按钮,弹出UQ_RoomName的属性窗口, 切换到列选项卡,单击增加列按钮,选择将RoomName列添加到其中,然后单击确定即可完成唯一约束的添加。Fbignif *1i erfufl1KvltiGftwtlColvkuIndiixtiKnTricxwsrrocttarti祜 tfe QHI.Iiqpf il PwHMwnM | Mli erNt

19、3| Koi ts.R1 tt4 D3 *FWS l| :14 s | Ex*nd4 Dptndf i | V*rn to -InGutrlIndtas J Ks| Trs ctrc | Pr&?4ilyr i | Ckck | Seri pt表级的CHECK勺束与列级的CHECK勺束设置类似,单击表属性窗口左下角的“More按钮,切换到Check选项卡,设置CHECK勺束的命名和SQL语句内容。3使用Rule创建约束同样以班级名必须以 2开头为例,通过 Rule创建CHECK约束。首先需要创建一个 Rule,双 击Class表,打开表的属性窗口,切换到Rules选项卡,单击“Create a

20、 Object按钮,系统将打开一个业务规则属性窗口,修改规则名,并将规则的类型修改为Con strai nt,如图所示:TKhl* Frlojxlx 將O龙More KtytVtrTri ttn-k I 鱼il*g| ?rvj t*丹|屮1川然后切换到Expression选项卡,设置规则的内容为“ClassName LIKE2%单击确定按钮即可完成Rule的设置。切换到表属性的Check选项卡,默认约束内容中的“%RULES%就是用来表示Rule中设置的内 容,如果我们还有一些其他的CHECK约束内容,不希望在Rule中设置,而是在Check选项卡中设置,那么只需要删除RULES% CHECK

21、约束内容添加进去,也可以保留RULES%然后在与RULES吃间添加一个and即可。比如规定Classi、须小于10000, 那么我们可以将 Check内容设置如下:生成的脚本如下:create table Class (ClassIDintnot null,ClassName varchar(20) not null,con strai nt PK_CLASS primary key non clustered (ClassID),con strai nt CKT_CLASS check (ClassIDyon P | Mp* ;.E 八iI 7 F 7 F厂厂厂Hll*FidaiHfPi$.

22、EEtn,dtd Bipndt-nci ts且 Ififu| 卫t*lWtandtrd| Additsonil ChtckiMi croiaft-iai xlFr aMrtiai g巧VUBSMryiylthUsI (4 rduK r_3 * _J A 7 AilMaKnufflCh# 旳計;舫Famat.MeU*V Uge忆皿 厂 LowmcbhC-snof nraMyVafcrtPbgriiCb-1. OtiNi erMfi.Fjtejl n-Gg 畔CelaMitK口Tri*r sPrciCftd.iE- 9-x至此我们所有的约束在 PD中的设置都介绍完了,下一篇将介绍视图、存储过程等数

23、据库对 象。【出自博客园深蓝居,转载请注明作者出处】在PowerDesigner中设计物理模型 3视图、存储过程和函数视图在SQLServer中视图定义了一个 SQL查询,一个查询中可以查询一个表也可以查询多个表, 在PD中定义视图与在 SQL Server中定义查询相似。例如要创几个所有学生的所有选课结果 的视图,那么在工具栏中选择视图按钮,然后在设计面板中单击鼠标一次便可添加一个空白的视图,切换到鼠标指针模式,双击该视图便可打开视图的属性窗口。在General选项卡中,可以设置视图的名字和其他属性。NameCode:Comment;Stereotype;Darier:Usage:Dimen

24、sional Type:Type:More| Tri缈丹|SQL Qu|Evlgm | Tinvitv |General ClwnrsM Vi ew Properti ex vwStudenitCour5e (vrSIndentC anorsejiUsage是表示视图是只读的视图还是可更新的视图,还有一个是check option选项,指定了CHECKOPTION,也不能依据视图来验证任何直接对视图的基础表执行的更新。如果我们只 创建一般的视图,那么就选择只查询选项。Dime nsio nal Type指定该视图表示的是维度还是事实,这个主要是在进行数据仓库多维数据建模时使用,一般情况下不需要

25、指定。后面的两个复选框也不需要进行修改。Type使用默认的view选项。切换到SQL Query选项卡,在文本框中可以设置视图定义的查询内容,建议直接先在SSMS中验证视图定义 SQL语句的正确性,然后再将SQL语句复制粘贴到该文本框中。在定义视图时最好不要使用*,而应该使用各个需要的列名,这样在视图属性的Columns中才能看到每个列。设计 SQL Query如图所示。当然,也可以在PD中使用自带的SQL编辑器编写SQL语句,单击右下角的“Edit with SQL Editor按钮,即可弹出 SQL Editor编辑器,编写 SQL语句。存储过程和函数存储过程和用户自定义函数都是在同一个组

26、件中设置的,在工具栏中单击Procedure按钮,然后在设计面板中单击一次便可添加一个Procedure。例如要创建一个存储过程根据学生的学号获得学生所选的课程,那么对于的操作如下:在指针模式下双击添加的Procedure,打开Procedure属性窗口,在Ge neral选项卡中可以设置该存储过程的名字。然后切换到Definition选项卡,该选项卡中定义了存储过程的定义,在下拉列表框中,选择Default Procedure选项,如果是要定义函数,那么就需要选择选项,系统会根据选择的类型创建SQL语句的模板。在下面的SQL语句中,可以将 create procedure %QUALIFIE

27、R%PROC保留,其他的删除,根据自己要创建的存储过程编写SQL语句。create procedure %QUALIFIER%PROC%Stude ntID intasbeginselect CourseName from vwStude ntCoursewhere Stude ntlD=Stude ntIDend单击确定按钮,系统会根据编写的SQL语句,将所使用的表、视图与存储过程关联起来,如图所示:vwStudentCourseStudent ID Name CouiselD ComssNauie| Student 戸 ChooseCourseB Course仗 GetChooseCourseByStudcreate function 而不是 create Procedure 而已。创建函数的过程与之类似,只是使用的是至此,最常见的数据库对象:表(表的约束)、视图、存储过程、函数等在PD的创建已经介绍完了,接下来会介绍 PD的设置。【出自博客园深蓝居,转载请注明作者出处】

展开阅读全文
温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!