《使用PowerDesigner进行数据库建模.pptx》由会员分享,可在线阅读,更多相关《使用PowerDesigner进行数据库建模.pptx(86页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、13.1 PowerDesigner简介 PowerDesigner是Sybase公司的建模(CASE)工具集,使用它可以方便地对管理信息系统进行分析设计,它几乎包括了数据库模型设计的全过程。利用PowerDesigner可以制作数据流程图、概念数据模型、物理数据模型,可以生成多种客户端开发工具的应用程序,还可为数据仓库制作结构模型,也能对团队设计模型进行控制。它可与许多流行的数据库设计软件,例如:PowerBuilder,Delphi,VB等相配合使用来缩短开发时间和使系统设计更优化。第1页/共86页23.2 PowerDeisnger的使用PowerDeisnger的使用环境 启动Powe
2、rDeisnger,将看到和图3-1的窗口 第2页/共86页33.2 PowerDeisnger的使用模型的显示和布局1.对图形自动布局自动布局(Auto-layout)的功能是自动重新排列图形模型中的图符。模型中的图符根据各自在图形中的位置从左到右进行排列。操作步骤如下:选择一个或者多个图符,如果相对所有图符自动布局,可以使用组合键【CtrlA】进行全选。单击菜单【Symbol】【Auto-layout】命令。第3页/共86页43.2 PowerDeisnger的使用PowerDeisnger的使用环境 2保护图形和取消保护如果需要保护一个图形模型,既不能修改,又不能移动,则可以使用Powe
3、rDesigner的保护图形功能,取消保护则返回原始的可修改状态。操作步骤如下:选择一个或多个图形。单击【Symbol】【Protect Symbols】命令,如果是取消保护,单击【Symbol】【Unprotect Symbols】命令。第4页/共86页53.2 PowerDeisnger的使用PowerDeisnger的使用环境 显示图符使用PowerDesigner创建的模型,打开的时候,如果模型中显示的图符不显示内容,可以在模型空白处右击鼠标,在弹出的快捷菜单中单击【Diagram】【Show Symbols】命令,弹出显示图符选择窗口,选择好之后单击【OK】按钮确定,如图3-2所示。
4、第5页/共86页63.2 PowerDeisnger的使用PowerDeisnger的使用环境 4模型显示参数的选择单击【Tools】【Display Preferences】命令,弹出如图3-3所示窗口。第6页/共86页73.2 PowerDeisnger的使用PowerDeisnger的使用环境 要修改各个对象在模型中显示的内容,单击【Object View】节点中的子项,例如【Entity】项,可以设置其在图形中显示的那些内容,如图3-4所示。第7页/共86页83.2 PowerDeisnger的使用PowerDeisnger的使用环境 5选择显示格式参数(1)在图3-4中单击【Form
5、at】【Table】节点(也可以使其他希望规定显示格式的对象),如图3-5所示。第8页/共86页93.2 PowerDeisnger的使用PowerDeisnger的使用环境(3)在图3-6中,单击Gradient处的【Modify】按钮,可以把图形填充设置为渐变填充,也可以单击Picture处的【Modify】按钮,在弹出的窗口中选择图片文件来填充图形。第9页/共86页103.2 PowerDeisnger的使用PowerDeisnger的使用环境 如图3-7所示,选择【Enable custom shape】复选框,在【shape type】和【shape name】下拉列表中选择合适的定
6、制图形。第10页/共86页113.2 PowerDeisnger的使用PowerDeisnger的使用环境 将Size(图形的大小)、Line Style(线条的格式)、Shadow(图形的阴影)、Font(字体)其余4个Tab页面分别规定后,单击【确定】按钮,弹出下面的确认窗口,如图3-8所示。第11页/共86页123.2 PowerDeisnger的使用PowerDeisnger的使用环境 布局接触点(Attach Points)连接两个对象的线和对象接触的地方称为接触点(Attache Points),选择对象之间的连线时,接触点显示为小的黑色正方形图标,如图3-9所示。第12页/共86
7、页133.2 PowerDeisnger的使用PowerDeisnger的使用环境 布局接触点可以将连线的两端(接触点)分别移动至两个对象的中心,操作的方法为:选择需要布局的连线,单击【Symbol】【Disposition】【Arrange Attach Points】命令;也可以在对象连线上右击鼠标,在弹出的快捷菜单中单击【Dispositioin】【Arrange Attache Points】命令,调整后的图形如图3-10所示。第13页/共86页143.2 PowerDeisnger的使用PowerDeisnger的使用环境 7布局附加文本(Attached Text)布局Attach
8、ed Text 可以使得用户拖动后的文本能够移回文本的默认位置。操作的方法为:选择需要布局的对象,单击【Symbol】【Disposition】【Arrange Attached Text】命令;调整前后的图形对比如图3-11和图3-12所示 第14页/共86页153.2 PowerDeisnger的使用PowerDeisnger的使用环境 8选择相关的对象选择对象employee,在该对象上右击鼠标,在弹出的快捷菜单中单击【Edit】【Select Connected Symbols】命令,则与该图连接的对象也都处于选中状态 第15页/共86页163.3 创建和操作概念数据模型CDM 3.3
9、.1 CDM的基本概念CDM表达的是数据库的整体逻辑结构,该结构独立于任何软件和数据存储结构,即它只是系统分析人员、应用程序设计人员、维护人员和用户之间相互理解的共同语言,并不针对具体的数据库平台。CDM所包含的对象通常没有在物理数据库中实现。它仅仅给出了商业或业务活动中所需要数据的形式化的表示。CDM采用实体联系图(EntityRelation Graph,ER图)来表示。第16页/共86页173.3 创建和操作概念数据模型CDM 3.3.2 创建CDM创建一个新的CDM模型的步骤如下:(1)在图3-1所示的建模环境中,单击【File】【New】命令,弹出新建模型窗口,如图3-15所示。第1
10、7页/共86页183.3 创建和操作概念数据模型CDM 3.3.2 创建CDM创建一个新的CDM模型的步骤如下:(2)选择【Conceptual Data Model】,单击【确定】按钮。(3)选择【Workspace】中出现的概念数据模型。(4)单击【Model】【Model Properties】命令,或者在PowerDesigner图形区域中的空白处右击鼠标,在弹出的上下文快捷菜单中单击【Properties】命令,弹出模型属性窗口,如图3-16所示。(5)输入概念模型的名称和代码,单击【确定】按钮。第18页/共86页193.3 创建和操作概念数据模型CDM 3.3.3定义数据项目与实体
11、(Entity)创建和操作实体单击【Palette】面板中的【Entity】工具,在模型区域右击鼠标,在鼠标单击的位置出现Entity的图符,默认的命令方式为:Entity_n,其中n为当前实体的创建次序。如图3-17所示。第19页/共86页203.3 创建和操作概念数据模型CDM 3.3.3定义数据项目与实体(Entity)创建和操作实体 右击或者单击【palette】面板中的工具,使鼠标返回选择状态。双击该图标,或者右击该图符,在弹出的快捷菜单中单击【Properties】命令,弹出实体的属性窗口,输入实体的名称和代码均为Title,如图3-18所示。第20页/共86页213.3 创建和操
12、作概念数据模型CDM 3.3.3定义数据项目与实体(Entity)创建和操作实体进入【Attributes】属性页,单击【Insert a row】工具,或者【Add a row】工具,为该实体添加相关的属性,并且设置属性的数据类型,选择TitleISBN为该实体的主要标识符(Primary Identifier),在图形中显示字段“P”为选中,如图3-19所示。第21页/共86页223.3 创建和操作概念数据模型CDM 3.3.3定义数据项目与实体(Entity)创建和操作实体单击【OK】按钮后在模型中出现如图3-21所示的结果。第22页/共86页233.3 创建和操作概念数据模型CDM 3
13、.3.3定义数据项目与实体(Entity)2标识符(Identifier)Identifier本身是实体的属性,或者属性的集合,它能够惟一确定实体中的一条记录。概念数据模型CDM中的Identifier(标识符)相当于物理数据模型PDM的主键(Primary Key)或者候选键(Alternate Key)。每个实体至少要定义一个标识符,如果实体仅有一个标识符,则该标识符被指定为主标识符(Primary Identifier)。第23页/共86页243.3 创建和操作概念数据模型CDM 3.3.3定义数据项目与实体(Entity)2标识符(Identifier)创建新的标识符的操作步骤如下。(
14、1)在实体的属性窗口(图3-18)中,选择【Identifier】选项,进入Identifier属性页,单击空白行,或者【Insert a row】工具或【Add a row】工具,输入Name和Code,选择复选框【P】(表示是否为主标识符),单击【Apply】应用按钮。(2)双击标识符所在的行,或者单击【Properties】工具,弹出标识符属性(Identifier Properties)窗口,可以在General属性页中输入Name和Code。第24页/共86页253.3 创建和操作概念数据模型CDM 3.3.3定义数据项目与实体(Entity)2标识符(Identifier)创建新的
15、标识符的操作步骤如下。(3)进入Attributes属性页,可以指定该标识符所涉及的属性,单击【Add Attributes】工具,弹出属性选择窗口,如图3-23所示。第25页/共86页263.3 创建和操作概念数据模型CDM 3.3.3定义数据项目与实体(Entity)2标识符(Identifier)创建新的标识符的操作步骤如下。(4)选择需要作为标识符的属性,单击【OK】按钮确定,即完成对标识符的定义。要对标识符进行修改,除了通过Entity之外,还可以单击【Model】【Identifiers】命令弹出标识符列表窗口,如图3-25所示。第26页/共86页273.3 创建和操作概念数据模型
16、CDM 3.3.4定义实体间的关系与角色1 建立关系(Relationship)关系(Relationship)是实体之间的连接。图形模型中建立关系的操作步骤:(1)单击【Palette】面板中【Realtionship】工具,在实体【Title】上单击鼠标左键,并且按住不放,拖动鼠标至目标实体Author上方,松开鼠标,这样就在两个实体之间建立了关系。如图3-26所示。第27页/共86页283.3 创建和操作概念数据模型CDM 3.3.4定义实体间的关系与角色1 建立关系(Relationship)图形模型中建立关系的操作步骤:(2)右击或者单击【Palette】面板中的工具,使得鼠标返回选
17、择状态。(3)双击关系(Relationship)的连线,或者右击该图形,在弹出的快捷菜单中单击【Properties】命令,弹出【Relationship Properties】窗口。(4)修改Realtionship的Name为“TitleAuthor”,进入Detail属性页,如图3-27所示。第28页/共86页293.3 创建和操作概念数据模型CDM 3.3.4定义实体间的关系与角色1 建立关系(Relationship)图形模型中建立关系的操作步骤:(5)单击单选框【ManyMany】,表示实体的关系是“多对多”,然后进一步规定实体的角色定义:Title to Author(书对作者
18、)的角色为is written by(表示被作者写出来的);Author toTitle 的角色为writes(表示作者写书)。如图3-27所示。如果选中【Mandatory】,【Cardinality】(基数)即会变为“1,n”,表示某个实体至少对应一个相对应的实体。第29页/共86页303.3 创建和操作概念数据模型CDM 3.3.4定义实体间的关系与角色1 建立关系(Relationship)图形模型中建立关系的操作步骤:不同基数及其对应的图形显示 第30页/共86页313.3 创建和操作概念数据模型CDM 3.3.4定义实体间的关系与角色1 建立关系(Relationship)图形模型
19、中建立关系的操作步骤:(6)修改后单击【确定】按钮。模型显示如图3-28所示。第31页/共86页323.3 创建和操作概念数据模型CDM 3.3.4定义实体间的关系与角色1 建立关系(Relationship)图形模型中建立关系的操作步骤:(7)但是图形中没有显示基数,如果需要,可以单击【Tools】【Display Preference】命令,在弹出的窗口左侧单击【Object View】【Relationship】节点,然后在右侧选中Cardinality,如图3-29所示。第32页/共86页333.3 创建和操作概念数据模型CDM 3.3.4定义实体间的关系与角色1 建立关系(Relat
20、ionship)图形模型中建立关系的操作步骤:(8)单击【OK】按钮,基数正确显示,如图3-30所示。第33页/共86页343.3 创建和操作概念数据模型CDM 3.3.4定义实体间的关系与角色依赖关系(Dependent Relationship)依赖关系表示一个实体在一定程度上由另外一个实体决定,每个实体都必须包含一个标识符。在【Relationship Properties】窗口中定义实体【Royalty Schedule】和实体【Title】之间的依赖关系,如图3-31所示,单击【确定】按钮。第34页/共86页353.3 创建和操作概念数据模型CDM 3.3.4定义实体间的关系与角色依
21、赖关系(Dependent Relationship)如图3-32所示,三角状所指的方向表明实体的Royalty Schedule确定依赖于实体Title。第35页/共86页363.3 创建和操作概念数据模型CDM 3.3.4定义实体间的关系与角色3.支配关系(Dominant Relationship)在一对一的关系当中,可以定义关系的支配方向。如果定义了关系的支配方向,则当概念数据模型转化为物理数据模型的时候,Relationship就会转化为一个Reference,占支配地位的实体变为父表。如果没有定义支配关系的方向,则一对一的关系就会生成两个Reference。第36页/共86页373
22、.3 创建和操作概念数据模型CDM 3.3.4定义实体间的关系与角色3.支配关系(Dominant Relationship)如图3-33所示,在【Dominant role】下拉框中选择【AuthorPicture】。第37页/共86页383.3 创建和操作概念数据模型CDM 3.3.4定义实体间的关系与角色3.支配关系(Dominant Relationship)定义好支配关系之后,单击【确定】按钮,模型中的图形如图3-34所示。第38页/共86页393.3 创建和操作概念数据模型CDM 3.3.4定义实体间的关系与角色3.支配关系(Dominant Relationship)将CDM转化
23、为物理数据模型(PDM),通过CDM生成PDM模型会得到如图3-35所示的结果。第39页/共86页403.3 创建和操作概念数据模型CDM 3.3.4定义实体间的关系与角色关联实体(Associative Entity)在PowerDesigner中,可以将一个关系(Relationship)转化为一个关联实体(Associative Entity),这个关联实体同以前关系的两个实体相关联。在此基础上也可以将实体的属性指派给这个关联实体,关联实体采用关联的名称,两个因此而新产生的关联将会自动处理基数属性。转化的操作步骤如下:(1)右击【Title】和【Author】之间的【Relationsh
24、ip】。第40页/共86页413.3 创建和操作概念数据模型CDM 3.3.4定义实体间的关系与角色关联实体(Associative Entity)转化的操作步骤如下:(2)在弹出的快捷菜单中单击【Change to Entity】【Standard】命令,生成结果如图3-36所示。第41页/共86页423.3 创建和操作概念数据模型CDM 3.3.4定义实体间的关系与角色关联实体(Associative Entity)转化的操作步骤如下:(3)也可以在上一步单击【Change to Entity】【Wizard】命令,通过三步来生成关联实体,每一步都对应一个向导页面,第一个向导页面如图3-3
25、7所示。第42页/共86页433.3 创建和操作概念数据模型CDM 3.3.4定义实体间的关系与角色关联实体(Associative Entity)转化的操作步骤如下:(4)在图3-37中输入关联实体的Name和Code,单击【下一步】按钮,进入第二个向导页面,如图3-38所示。第43页/共86页443.3 创建和操作概念数据模型CDM 3.3.4定义实体间的关系与角色关联实体(Associative Entity)转化的操作步骤如下:(5)在图3-38中定义关联实体和Author之间产生的新关联,完成后单击【下一步】按钮,进入第三个向导页面,如图3-39所示。第44页/共86页453.3 创
26、建和操作概念数据模型CDM 3.3.4定义实体间的关系与角色关联实体(Associative Entity)转化的操作步骤如下:(6)双击新生成的关联实体,弹出实体属性窗口,进入Attributes属性页,单击【Add Data Item】工具或者【Reuse Data Item】工具,弹出数据项选择窗口,如图3-40所示。第45页/共86页463.3 创建和操作概念数据模型CDM 3.3.4定义实体间的关系与角色自反关系自反关系是实体和其自身的关系(Relationship)例如,管理者负责监督员工,但是管理者本身也是员工,如图3-41所示。第46页/共86页473.3 创建和操作概念数据模
27、型CDM 3.3.4定义实体间的关系与角色自反关系创建自反关系的操作步骤如下:单击【Palette】面板中的【Relationship】工具。在实体上单击鼠标左键并且按住不放。拖动鼠标至该实体的另外某个位置,松开鼠标,自反关系即成功建立。第47页/共86页483.3 创建和操作概念数据模型CDM 3.3.5定义数据项数据项(Data Items)是概念模型中最基本的信息元素,代表信息系统中的一个事实或者定义,如果把数据项指定在实体上,则该数据项就成为实体的一个属性。将概念数据模型(CDM)转化为物理数据模型(PDM)时,每个实体属性都相应地转化为表中的一个列。第48页/共86页493.3 创建
28、和操作概念数据模型CDM 3.3.5定义数据项单击【Model】【Data Item】命令,弹出数据项列表窗口,可以发现,前面定义的各个实体的属性都作为数据项出现在该列表窗口中,如图3-42所示。第49页/共86页503.3 创建和操作概念数据模型CDM 3.3.5定义数据项1创建数据项例如要创建一个关于作者生日(Birth Date)的数据项,操作步骤如下。单击【Model】【Data Item】命令,弹出数据项列表窗口。单击空白行或者单击【Add a Row】工具,输入数据项的Name和Code均为:Birth Date。在【Data Type】下拉列表中选择数据类型为【D】(日期类型),
29、如果是其他的需要指定数据长度和精度的数据类型,可以在【Length】列指定数据类型长度和精度,单击【Apply】按钮。第50页/共86页513.3 创建和操作概念数据模型CDM 3.3.5定义数据项1创建数据项如果读者不熟悉概念数据模型中各个数据类型的含义,也可以在【Data Type】列单击工具,打开标准数据类型的窗口进行数据类型的选择和设置,如图3-43所示。第51页/共86页523.3 创建和操作概念数据模型CDM 3.3.5定义数据项1创建数据项选择需要的数据类型,单击【OK】按钮确定,PowerDesigner会自动将标准数据类型转化为CDM中的数据类型。如果需要直接使用已定义好的数
30、据项,则打开实体属性窗口,进入【Attributes】属性页,单击【Add Data Item】工具或者【Reuse Data Item】工具,弹出【Data Items】选项窗口。选择所需要的数据项,单击【OK】按钮。第52页/共86页533.3 创建和操作概念数据模型CDM 3.3.5定义数据项2详细设置实体属性或者数据项属性对实体属性和数据项进行详细的属性设置,操作方法如下。在实体属性窗口中的【Attributes】页面或者【Data Items】列表窗口中,选择需要设置的行,双击行首的箭头或者单击【Properties】工具,弹出属性窗口,如图3-45所示。可以分别定义实体属性或者数据
31、项的【Standard Checks】/【Additional Checks】。例如,在【Standard Checks】属性页中可以设置属性的取值范围、格式等。第53页/共86页543.3 创建和操作概念数据模型CDM 3.3.5定义数据项2详细设置实体属性或者数据项属性图3-45第54页/共86页553.3 创建和操作概念数据模型CDM 3.3.6定义和使用域(Domains)2详细设置实体属性或者数据项属性很多表中都有一个字段“备注”(Description),于是定义数据类型时就不得一次一次地输入varchar(300)或者varchar(200)等;许多表中都有相似的字段“地址(Ad
32、dress)”,在输入地址的数据类型时,有时候可能输入varchar(50),有时候也可能输入varchar(100),这就造成数据类型的标准化控制非常不好,在实际的DBMS中往往会针对这种情况允许用户自定义的数据类型,在PowerDesigner的CDM和PDM中,这种“自定义数据类型”以Domain(域)的形式出现。第55页/共86页563.3 创建和操作概念数据模型CDM 3.3.6定义和使用域(Domains)2详细设置实体属性或者数据项属性在CDM中创建域.1 单击【Model】【Domains】命令,弹出域的列表窗口,如图3-46所示。第56页/共86页573.3 创建和操作概念数
33、据模型CDM 3.3.6定义和使用域(Domains)2详细设置实体属性或者数据项属性在CDM中创建域.以创建“地址(Address)”为例。2 单击空白行或者单击【Add a row】工具创建域Address,输入数据项的Name和Code均为:Address。3 在【Data Type】处设置数据类型为【Variable characters】,长度为80。如果不熟悉概念数据模型中数据类型的形式,可以在【Data Type】处单击,打开标准数据类型的窗口进行数据类型的选择和设置。4 单击【Apply】按钮,也可以打开域的属性窗口,对域进行进一步的设置。这和设置实体属性、Data Item,
34、以及PDM中列的属性定制类似。第57页/共86页583.3 创建和操作概念数据模型CDM 3.3.6定义和使用域(Domains)在CDM中使用域双 击 实 体 Author,或 者 右 击 模 型 中 实 体 Author的 图 符,在 弹 出 的 快 捷 菜 单 中 单 击【Properties】命令,弹出如图3-47示的窗口,单击【Attributes】属性页,【Domain】列为实体属性选择域,单击【确定】按钮。第58页/共86页593.3 创建和操作概念数据模型CDM 3.3.6定义和使用域(Domains)在图3-47中,为属性或者Data Item指定【Domain】后,【Dat
35、a Type】列会自动出现域的数据类型,如果在指定域后还要对【Data Type】进行修改,单击【应用】按钮或者【确定】按钮之后,会弹出如图3-48所示的确认窗口,询问用户是否确认数据类型与域的数据类型之间不一致。第59页/共86页603.3 创建和操作概念数据模型CDM 3.3.6定义和使用域(Domains)如果希望在模型强制数据类型使用指定域的数据类型,则可以单击【Tools】【Model Options】命令,弹出模型属性窗口,选择【Enforce non-divergence】复选框,如图3-49所示。第60页/共86页613.3 创建和操作概念数据模型CDM 3.3.6定义和使用域
36、(Domains)可以对不同实体的多个实体属性指定同一个域(理解为“自定义数据类型”),如果希望知道域的使用情况,则进入域的属性窗口,单击【Dependencies】属性页,就可以看到该域的使用情况,如图3-50所示。第61页/共86页623.4 将CDM转化为物理数据模型PDMCDM完成的是系统的概念模型设计,但在数据库的物理设计阶段必须在此基础上进行详细的设计,只有将CDM转换为PDM才能完成这个阶段的设计工作。CDM生成PDM时,其中的对象转换成PDM中的对象,即物理数据库中的对象。表3-2反映了这一对应关系。第62页/共86页633.4 将CDM转化为物理数据模型PDM3.4.1由标识
37、符生成键CDM中的Identifier(标识符)最终将转化为PDM中的主键、外键或者候选键,一般Identifier转化为候选键,而Primary Identifier根据关系两个方向的基数(Cardinality)和依赖类型转化为主键或者外键。第63页/共86页643.4 将CDM转化为物理数据模型PDM3.4.1由标识符生成键1非依赖性一对多关系(Independent one-to-many relationships)如图3-51所示,在非依赖性一对多关系中,“一”端的Primary Identifier将转化为主键 第64页/共86页653.4 将CDM转化为物理数据模型PDM3.4
38、.1由标识符生成键“多”端将生成一个与“一”端主标识符同名称的外键,如图3-52所示。第65页/共86页663.4 将CDM转化为物理数据模型PDM3.4.1由标识符生成键2依赖性一对多关系(Dependent one-to-many relationship)如图3-53所示,在依赖一对多关系中,被依赖端的主标识符转化为主键,而依赖端则产生一个与被依赖端主标识符同名称的字段同时作为依赖端的主键和外键 第66页/共86页673.4 将CDM转化为物理数据模型PDM3.4.1由标识符生成键如果该实体中已经有主标识符转化为主键,则该键同主键共同组成主键,同时也是外键,如图3-54所示。第67页/共
39、86页683.4 将CDM转化为物理数据模型PDM3.4.1由标识符生成键3非依赖性多对多关系(Independent many-to-many relationship)如图3-55示,在非依赖性多对多关系中,每个实体的主标识符都会迁移到一个新生成的连接表中作为主键,同时共同组成主键,如图3-56所示。第68页/共86页693.4 将CDM转化为物理数据模型PDM3.4.1由标识符生成键3非依赖性多对多关系(Independent many-to-many relationship)如图3-55示,在非依赖性多对多关系中,每个实体的主标识符都会迁移到一个新生成的连接表中作为主键,同时共同组成
40、主键,如图3-56所示。第69页/共86页703.4 将CDM转化为物理数据模型PDM3.4.1由标识符生成键4非依赖性一对一关系(Independent one-to-one relationship)如图3-57所示,在非依赖一对一关系中,前面在定义Relationship的时候讲到,如果没有定义一对一关系的Dominant role的方向,则每个实体主键都被迁移到另一个表中作为外键,如图3-58所示。第70页/共86页713.4 将CDM转化为物理数据模型PDM3.4.1由标识符生成键如图3-57所示,在非依赖一对一关系中,前面在定义Relationship的时候讲到,如果没有定义一对一
41、关系的Dominant role的方向,则每个实体主键都被迁移到另一个表中作为外键,如图3-58所示。第71页/共86页723.4 将CDM转化为物理数据模型PDM3.4.1由标识符生成键如果定义Dominant role为【AuthorPicture】(在Details属性页中定义,如图3-33),则Author的主键作为Picture的外键,即处于Dominant角色的实体产生的表的主键被迁移作为另一个表的外键,如图3-59所示。第72页/共86页733.4 将CDM转化为物理数据模型PDM3.4.2 将CDM转化为PDM将CDM转化为PDM的操作步骤如下:1)单击【Tools】【Gene
42、rate Physical Data Model】命令,弹出生成物理数据模型窗口。2)选择【Generate new Physical Data Model】,在DBMS下拉列表中选择目标PDM的DBMS。3)输入新建模型的Name和Code。4)选择【copy the DBMS definition in model】方式或者【shared DBMS definition】方式,如图3-60所示。第73页/共86页743.4 将CDM转化为物理数据模型PDM3.4.2 将CDM转化为PDM第74页/共86页753.4 将CDM转化为物理数据模型PDM3.4.2 将CDM转化为PDM5)选择【
43、Selection】页,选择要转换为PDM表的实体,如图3-61所示。第75页/共86页763.4 将CDM转化为物理数据模型PDM3.4.2 将CDM转化为PDM6)单击【确定】按钮,开始生成PDM,在【Result List】窗口中显示在处理过程中出现的警告、错误和提示信息。7)生成的PDM如图3-62所示。如果PDM中显示的信息太多,难以阅读,可以通过更改【Tools】【Display Preferences】菜单设置以减少显示的信息。第76页/共86页773.4 将CDM转化为物理数据模型PDM3.4.2 将CDM转化为PDM第77页/共86页783.4 将CDM转化为物理数据模型PD
44、M3.4.3 更新已有的PDM模型更新已有的PDM模型,只需要在【PDM Generation Options】窗口的【General】属性页中选择【Updata existing Physical Data Model】,在【Select model】下拉列表中选择需要更新的模型,或者单击省略号按钮,在弹出的窗口中选择。如果希望保留现有CDM中的对象,请选择【Preserve Modifications】,否则所有被更新的PDM中的对象都将被删除,而仅仅保留从当前CDM转化过来的对象。其他各个步骤操作方式与新转化为一个PDM的步骤相同,最后单击【确定】按钮弹出模型比较窗口,参照内存中产生的模
45、型和目标模型之间的比较,用户可以根据自己的需要对目标模型进行更新。第78页/共86页793.5 从PDM到数据库首先建立CDM,然后生成PDM,接下来可以在PowerDesigner中对生成的PDM做进一步的设计,例如:创建索引、视图、抽象数据类型、触发器、存储过程等,最后,通过PowerDesigner自动生成目标数据库的SQL脚本,执行生成的SQL脚本,就能生成所期望的数据库。仍然以PowerDesigner自带的示例模型cdmbefore.cdm为例,按照前面的内容,生成PDM(如图3-62)。第79页/共86页803.5 从PDM到数据库使用该模型生成数据库,以SQL Server20
46、00为例,操作步骤如下:1)单击【Database】【Generate Database】命令或者按快捷键【CtrlG】,弹出【Database Generation】窗口,如图3-63所示。第80页/共86页813.5 从PDM到数据库使用该模型生成数据库,以SQL Server2000为例,操作步骤如下:2)在【Generation】处选择单选框【Script generation】(生成数据库的SQL脚本),然后在【Directory】处填写脚本存放目录,以及在【File】处填入生成脚本的名称。选中【One fileonly】(只生成一个脚本文件,否则会对每个不同的表格都单独生成一个脚本
47、文件)。单击该窗口的【Selection】属性页,PowerDesigner会自动列出当前模型中包含的各种元素,从中选择自己需要生成的数据库中的表。如图3-64所示。第81页/共86页823.5 从PDM到数据库使用该模型生成数据库,以SQL Server2000为例,操作步骤如下:第82页/共86页833.5 从PDM到数据库使用该模型生成数据库,以SQL Server2000为例,操作步骤如下:3)单击【确定】按钮,在默认情况下,PowerDesigner会自动对模型的正确性进行检查,我们将在【ResultList】窗口中看到。4)紧接着PowerDesigner生成数据库,这时,我们将会
48、在【Output】窗口中看到数据库生成的过程。随后,在生成结束后的弹出窗口中,选择Edit来查看或者进一步编辑生成的SQL脚本。如图3-65所示。第83页/共86页843.5 从PDM到数据库使用该模型生成数据库,以SQL Server2000为例,操作步骤如下:第84页/共86页853.6 应用实例 建立一个学生管理信息系统模型 本节将围绕一个项目进行分析和设计,根据需求建立模型,以实例为依托,目的是使读者对如何利用PoserDeisnger建立数据库模型的过程有一个详细的了解。项目背景:某学校学生管理信息系统,需要实现的功能包括对系,班,学生个人信息,课程信息以及学生选课等信息进行管理(参见第2章应用实例)。请参照课本独立完成该实例。第85页/共86页86感谢您的观看!第86页/共86页