power designer 概念

来源:互联网 发布:mac预览 编辑:程序博客网 时间:2024/06/05 19:01
概念模型Conceptual Data Model(CMD)
  表现数据库的全部逻辑的结构,与任何的软件或数据储藏结构无关。
  它给运行计划或业务活动的数据一个正式表现方式。
  不考虑物理实现细节,只考虑实体之间的关系。
  适合于系统分析阶段的工具。
  我们进行数据库设计时,一般都是概念层次(Conceptual level)开始的。在概念层次上,你无须考虑数据库的实际物理执行细节。概念模型(CDM)描述了与任何软件或数据存储系统无关的数据库整体逻辑结构,通常包含了与物理数据库无关的数据对象,提供了一种对用于运行企业或业务行为的形象化的表达方式。
功能:
 通过创建实体关系图表(E-R)来描述数据的组织结构。
 能够校验数据设计的合理性。
 生成指定了相应物理实现数据库的物理数据模型(PDM)
 能够生成用UML标准描述CDM中对象的面向对象模型(OOM)
 为在不同的设计阶段创建另一个模型版本,可以生成概念数据模型(CDM)


 




物理模型Physical Data Model
  主要目的是把CDM中建立的现实世界模型生成特定的DBMS脚本,产生数据库中保存信息的储存结构,保证数据在数据库中的完整性和一致性。
  PDM是适合于系统设计阶段的工具.
  定义详细定义物理结构和数据查询的数据库设计工具。可以在PDM中使用不同类型的图表,这取决于你所要设计的目标数据库的类型。


 


CDM工具栏
Pointer  选择图形
Grabber  选定某个范围的图形
Zoom In  放大
Zoom Out  缩小
Properties 显示相应图符的属性
Delete  删除图符
Package  插入一个包(package)的图符
Entity  插入一个实体图符
Relationship 插入一个关系(Relationship)图符
Inheritance 插入一个继承(Inheritance)图符
Association 插入一个关联(Association)图符
Association Link 插入一个关联连接(Association Link)图符


 


域(Domain):数据类型字典
  可以帮助你确定模型中的信息类型。域定义了一组对列可用的数值,对列应用域可以简化对不同表中列的数据类型标准化工作。相当于加入一个列可以引用的类型.
1.创建域
Model->Domains以打开域列表(List of Domains)窗口。
单击工具栏中Add a Row工具,新建域。
输入相应的Name和Code.
单击Apply提交Domain的创建,单击工具栏中第一个按钮Properties工具以打开Domain Properties窗口,
选择数据类型(Data type),设置Length等属性,同时可以选择Standard Checks属性页以编辑详细约束。单击OK,确认修改。
2.修改域
确认后可能会弹出对话框,询问是否想要修改应用了该域的列的域属性。可以选择想要更新哪些使用该Domain的模型元素。
3.设置强制执行Domain的修改
在域(Domain)定义发生更改时,数据类型就会强制自动改变。
选择Tools->Model Options,打开Model Options窗口,选择左边树形子菜单中Column&Domain选项.
选择Enforce non-divergence,再选择相应模型元素即可,这样每次Domain发生更改后,对应使用了该Domain的模型元素就自动发生更改。


 


 


建立数据库
1.先建立CDM(Conceptual Data Model),然后转换为PDM
  Conceptual Data Model,双击资源浏览窗口中新创建的CDM名称图标,进行CDM模型相关属性信息设置。
  PowerDesigner默认在CDM中不能存在相同名称的实体属性,这也是考虑到可能产生的一些如主键外键等名称冲突问题,但当我们进行实际数据库设计时,可能会多次使用相同数据项(DataItem)便于理解各实体。为此需要对更改PowerDesigner相关设置。软件默认为DataItem不能重复使用(重名),需要进行以下操作:Tools->Model Options,Model Setting设置目录中,将Data Item下的Unique Code取消选中即可,系统默认将Unique Code和Allow Reuse均选中。
该设置针对当前模型有效,若希望在其它模型中也有此命名设置,则需要重新进行设置。不过在Check Model时,如果选择全部Check,则依旧会报DataItem重名的错误信息,这时需要我们在人为检查确认数据项无误时,可以在选择不对DataItem不检查


  画实体(Entity),添加属性,同时设置该属性相关信息,如数据类型,是否为主标识符,是否不可为空等。对属性列进行更为详细的设置,可以通过单击对应属性列左边箭头,进入Attribute Properties窗口,可以进行更为精确详细的设置,如数据上下限,精度等。
更改实体属性列表显示的选项可以通过单击工具栏中Customize Columns and Filter工具以打开Customize Columns and Filter窗口.
  标识符(Identifiers)
标识符是能够用于唯一标识实体的每条记录的一个实体属性或实体属性的集合,CDM中的标识符等同于PDM中的主键(Primary Key)或候选键(Alternate Key)。每个实体至少要有一个标识符,若一个实体中只存在一个标识符,它就自动被默认指派为该实体的主标识符(Primary Identifier)。
指定相应标识符:
 在实体属性窗口中选择Identifiers属性栏
 可以通过单击工具栏上Property 工具或双击所要选择的标识符栏,进入标识符属性编辑窗口。
 选择Attributes属性,可以看到当前标识符所关联的属性列表
 单击工具栏中Add Attributes工具,即可以进行为当前标识符添加属性(标示符是一个集合)。


  关系(Relationship)
关系(Relationship)表示实体间的连接。如在一个人力资源管理系统的CDM中,员工是团队中的成员,关系”Member”连接了员工(Employee)和团队(Team),这种关系表述了每个雇员在团队中工作且每个团队都由员工组成。
建立关系(Relationship)这里以用户实体(User)和帖子实体(Post)为例
 在Palette面板中左键单击Relationship工具
 在实体User上单击鼠标左键,按住不放,拖拽鼠标至实体Post上后才松开,这样即建立了User和Post之间的Relationship.
 双击图表中的刚建立的两实体之间关系(Relationship)以打开关系属性窗口,便于对关系进行详细定义。
 输入相应的Name和Code,选择Detail选项,进入如下属性编辑页:
 选择One-Many选项,因为User和Post为”一对多”关系,且每一条Post均对应有User,因此User to Post角色的基数(Cardinality)下拉列表中选择”0,n”,在Post to User角色的基数列表中选择”1,1”。同时Role name中输入相应的角色名称。
 确定修改后,单击OK,即可在模型图表中显示新建的Relationship。
 若要自定义关系显示信息,可通过选择菜单栏中Tools->Display Preferences,打开Display Preferences窗口,在左边树型菜单中选择Object->Relationship,这时即可在右侧选择你所要显示的项目了。
当然你也可以选择其它节点,实现对图符的显示属性设置。


各种类型关系(Relationship)
这部分是比较令人头疼的,不太好懂,需要投入较多时间研究。
  自反关系(Reflexive relationship)
是一种实体和它自身的关系。这里用员工的管理概念来表述管理人员管理员工,同时管理人员也属于员工范畴。
 左键单击Palette面板中Relationship工具
 在实体内单击鼠标左键且按住不放,将鼠标拖放至实体旁的空白位置后松开鼠标。
 再次单击实体即成功创建自反关系。
 不过这时自反关系的图符不太雅观,可以通过先选定需要更改的图符,然后选择Display Preferences->Format,单击Modify以打开Symbol Format窗口,然后更改Line Style属性中的Corners下拉框中选项
确认修改后,最后在单击Display Preferences窗口的OK按纽后会弹出Change Formats选择对话框,若只要将修改应该至当前的自反图符,只需选择所选定图符(Selected symbols)即可。
  依赖关系(Dependent relationship)
  支配关系(Dominant relationship)
  强制关系(Mandatory relationship)
以上其它关系不再赘述,需要在实际使用过程加以运用才能加深进一步的理解,同时以上知识点和关系型数据库的理论知识密切相关,PowerDesigner的这些功能只是对应于这些理论的一种运用映射。


关系(Association)
  Association也是一种实体间的连接,在Merise模型方法学理论中,Association是一种用于连接分别代表明确定义的对象的不同实体,这种连接仅仅通过另一个实体不能很明确地表达,而通过”事件(Event)”连接来表示。下面通过示例论坛系统的用户实体(User)和论坛栏目(ForumColumn)实体的Association来讲解。示例论坛系统中通过一个Association来表示目标系统中论坛栏目对应的版主关系,包括了属性创建时间(DateCreated)用于记录版主添加的时间。


创建Association
 在Palette面板中单击Association Link工具
 在实体User内单击鼠标左键且按住不放,拖放鼠标至另一实体ForumColumn上,松开鼠标左键,即在两实体间创建了Association。如下图:
 双击模型图表中刚创建的Association图符以打开Association Properties窗口。
 输入Association的Name和Code,选择Attributes属性页,添加实体属性DateCreated,并设置相关属性,如下图:
 同时可以通过在模型图表中双击相应的Association Link来打开Association Link Properties来编辑连接属性:
按类似方法可以创建论坛栏目实体(ForumColumn)和角色实体(Role)之间的Association。


继承(Inheritance)
Inheritance允许你定义一个实体为另一个更一般(常规)的特例。涉及到继承的实体之间有着共同相似的特征,但却是不同的。超类(或父类)指那些包含共同特征的更一般的类,而特例则被成为子类型,包含了一些更为具体和特殊的特例。
关于继承方面的例子不少,稍具有面向对象观念的都应该能够理解,不再赘述。
而PowerDesigner中关于继承方面的操作过程在这只作简要介绍:
 在Palette面板中单击Inheritance工具
 左键单击子类型,按住鼠标不放,拖放至鼠标至父类型实体图符中,松开鼠标,即完成了一个Inheritance Link的创建
 要再次添加另一子实体时,可以单击Inheritance工具,从半圆形图处拖动鼠标至另一子类型实体,然后松开鼠标即可。
 双击新创建的继承图符或实体之间的连接线即可打开弹出Inheritance Properties编辑窗口。
 输入相应Name和Code,完成基本设置,单击OK,即完成创建过程。
现在已经基本上完成了目标系统的概念建模过程,为此下一步我们需要校验已经设计好的模型,便于能够正确地转换为物理数据模型(PDM)。
  检验模型(Check)
 选择Tools->Check Models,打开Check Model Parameters窗口,在这你可以对需要Check的项目进行自定义选择。
 确认选择后,单击OK,则PowerDesigner开始对模型进行检验。
 完成检验后,PowerDesigner会将检验结果在输出列表中显示出来
我们可以根据所列出的错误信息对模型进行修改,错误信息分别有Error,Warning, Automatic correction三种,同时只要经过检验后没有Error一类的错误信息,我们就可以将该CDM转化为对应PDM。


 




Tools->Generate Physical Data Model
可以直接选创建建立物理模型Physical Data Model,然后选择数据库类型就OK.




1.也可以直接建立PDM
(1)创建表(Table)
工具栏,选table,画,可以换色,双击打开属性.
general是表,name是显示名(pd用),code是写入数据库的名(实际用),comment是说明
Number选项为物理数据库中表的记录的大概估计,用于后述的估计数据库的大小规模;Generate选项表示是否在物理数据库中生成该表;INDEX定义索引,general中定义索引名,unique和cluster,column中定义索引列,注意看清是外键(FK)还是主键(PK).key是主键(可以单独设置).


(2)添加编辑列
columns是列;datatype是类型,比如char(n);P是主键;F是外键;M是不能为空.ak为候选键.
选择工具栏的属性(列属性),可以选择域(自动选择域类型),此时不可改列类型了.
  设置Columns属性列表中显示Domain:单击工具栏上Customize Columns and Filter工具,弹出Customize Columns and Filter窗口,在列表中选择Domain.Additional Checks是增加约束.Detail中的computed expression是公式.Standard checks属性页的default是默认值.


(3)定义引用(Reference)或关系:主键和外键
它定义了在数据表各列用于主键,候选键,外键或用户指定列之间的完整性约束。子表中的该列的每个值都对应了父表中对应列的一个相同的值。
建立引用(Reference)
Palette面板中Reference
子表图符拖动鼠标至父表,在两表之间建立了引用关系。
双击的引用连接图符以打开引用属性(Reference Properties)
输入Name和Code。
定义引用连接(Join),选择Joins属性页,在Parent key选项列表中选择相应的父表键,此时列表中显示出当前连接(Join)所连接的父表列和对应的子表列。(如果选择none则可以自己修改,如果选择父键则自动关联,并在子表中选择或消除引用),可以对对应于每个父表列(Parent Table Column)的子表列(Child Table Column)进行选择更改(两个工具栏按钮一个是自动关联(自动建立列),一个是取消关联(会删除列)).


重建引用(Rebuilding references)
       有时我们进行反向工程时可能不会将所有的对象都添加进去,这时可能会遇到引用冲突问题,即在已经添加进反向工程的项目中可能包含一些具有引用关系的表,而这些引用关系与没有添加进反向工程中。这时我们可以借助PowerDesigner提供的重建引用(Rebuilding references)功能,对引用进行选择重建。
选择Tools->Rebuild Objects->Rebuild References,弹出重建引用窗口。
在General属性页中选择重建引用方式(其中Delete and rebuild方式为删除所有现有引用,再根据匹配键列创建新的引用;Perserve方式为保留所有现有引用,且根据匹配键列建立新的引用)。
选择Selection属性页,根据需要选择你要重建引用的表。
确认选择后,单击”确认”按钮,若你选择的重建方式为Delete and rebuild,确认重建,单击”是(Y)”即可完成重建引用。


引用完整性(Referential Integrity)^
  引用完整性是管理数据主键,候选键和外键之间数据一致性的一系列规则,它定义了当你更新或删除父表中的一个被引用的列,或从父表中删除一条包含被引用的列的数据记录时要发生的动作。有以下两种方式实现引用完整性:
 Declarative:引用完整性通过详细引用来定义,当引用生成目标DBMS,它评估引用的正确性并生成相应的错误消息。
 Using triggers:通过在引用属性窗口中定义的基于完整性约束的触发器(Trigger)来实现引用完整性约束。触发器用于衡量引用的正确性并生成适当的用户自定义错误信息。
注:对于目标数据库你可以作为生成目标数据库的选项而定义引用完整性,但并不是所有的类型的DBMS都支持使用引用完整性作为生成数据库的选项,此时当你生成这些类型DBMS的SQL脚本时,其中不会包含引用完整性的定义。
 定义引用完整性
双击模型图表中的引用图符以打开引用属性窗口。
选择Integrity属性页,显示出其中用于引用完整性约束的一系列可设置选项


 


(4)视图(View)
在模型图表中选择一个以上的表(Table)或视图(View)按SHIFT多选,选择Tools->Create View,这时可以看到已经模型图表中会出现一个视图图符,其中显示出了所选定的表和视图中所有字段.
打开视图属性(View Properties)
输入相应的Name和Code,同时可以通过不同属性页对视图属性进行进一步详细设计。


  先建立空白视图,再选择所需表和视图
不选对象,选择Tools->Create View,打开如下选择窗口:
在列表中选择你所要添加的表,视图和关系,单击OK


为视图使用扩展依赖(Extended Dependencies)^
  扩展依赖是物理图表对象之间的连接,这些连接有助于让模型对象之间的关系更加清晰,而不会被PowerDesigner解释或检查,主要是用于文档化而建立的。
 选择Palette面板中Link/Extented Dependency工具
 在模型图表中先单击目标视图,拖放鼠标至其有关联的表和视图上,即将视图和表之间建立了联系.
注:使用扩展依赖仅仅是为了文档化模型,使对象关系更为清晰而已。


定义视图生成次序^
  你可以通过使用扩展依赖来定义视图的生成次序,扩展依赖是PDM对象之间的自由连接,这种连接能够使模型对象之间的关系更加清晰。正如前面内容所说,通常这些连接都仅仅用于文档生成而不会被PowerDesigner解释和检查。然而,如果指定视图之间的扩展依赖的Stereotype为《DBCreateAfter》时,则这些连接在生成数据库脚本时也会被解析。
  如果创建一个自反,循环的扩展依赖,且其Stereotype方式为《DBCreateAfter》,则在检验模型时会提示错误信息。如果忽略该错误,则视图会依照字母顺序创建,如果不考虑其生成次序,数据库在生成视图时又可能会导致错误。
  例如,我们为表STORE创建视图DEPARTMENT STORE,其SQL Script为:select STORE.STOR_ID,STORE.CITY,SOTRE.STATE from STORE。同时为了仅显示公司库存数据的一部分我们需要创建在视图DEPARTMENT STORE基础上创建另一视图COMPUTER COUNTER取出其中一部分信息。
  在默认情况下会按字母顺序生成视图,则COMPUTER COUNTER会生成失败,由于它所依赖的视图DEPARTMENT STORE还没有被生成。为解决这个问题,你可以在这两个视图之间创建Steretype方式为《DBCreateAfter》的扩展依赖,如下图:
  注:《DBCreateAfter》选项只有在两个视图对象之间才有效,扩展依赖所连接的两对象皆为视图(View)时才可选《DBCreateAfter》,否则为不可选状态。
步骤:
 选择Palette面板中Link/Extended Dependeny工具
 左键单击依赖视图(Dependent View)拖动鼠标至另一视图上,松开鼠标,即在两视图之间建立了扩展依赖连接,
 双击其中的扩展依赖连接线线,弹出视图属性窗口的扩展依赖属性页,列表中显示相关扩展依赖。
 在对应的扩展依赖行单击Steretype列的选择箭头,选择《DBCreateAfter》即可。
从上图中可以看到,在列表第一行的Stereotype下拉列表中没有《DBCreateAfter》选项,只有视图之间的扩展依赖连接才支持《DBCreateAfter》选项。


 


(5)查询(Query):完善视图
  我们通过对表和视图进行查询,再通过对查询所得表进行关系运算来构建视图,PowerDesigner中通过视图属性窗口中SQL Query属性页详细定义每个查询,每个SELECT查询都显示在Query的下拉列表中。其中每个视图可以有一个或多个查询组成,各查询之间通过关系运算(如Union,Union All,Intersect等)构成整个视图。
编辑定义查询(Query)
 在模型图表中双击视图图符以打开视图属性窗口。
 选择SQL Query属性页.
 若要新建查询,则单击Query下拉列表右边的Add a Query工具,同时也可以通过单击Add a Query右边的箭头选择各个查询之间的连接关系
 在单击Add a Query工具后弹出查询属性(Query Properties)窗口,这时通过选择不同的属性页可以对查询进行详细编辑。
 同时可以单击视图属性(View Properties)窗口中Query下拉列表右边的Edit with SQL Editor工具以打开SQL Editor
 
(6)在物理模型中定义视图引用(View References)^
  视图引用是父表/视图和子表/视图之间的连接,也包括父字段和子字段之间的连接(Join),视图引用(View Reference)可以在两个视图或视图和表之间创建,而不能用于连接两个表(Table),视图引用不会生成在目标数据库中,
创建视图引用(View Reference)
 在Palette面板中单击Reference工具。
 在模型图表中,单击子表或子视图并按住鼠标,拖动鼠标至父表或父视图区域中,松开鼠标。
 单击Palette面板中Pointer工具或单击鼠标右键,使鼠标处于选择状态。
 在模型图表中双击刚创建的引用图符以打开视图引用属性(View Reference Properties)窗口.
输入Name和Code后,选择Joins属性页,现在可以根据工具栏中各工具对其中连接(Join)设置。确认设置,单击”确定”。




3.产生DATABASE,见正向工程
小的系统,或Table数比较少的情况下就没有必要采用Power Designer了.


 


将CDM对象转换为PDM对象
当你从一个CDM生成PDM时,PowerDesigner将CDM中的对象和数据类型转换为PDM对象和当前DBMS支持的数据类型。
转换表:
CDM对象    PDM对象
实体(Entity)   表(Table)
实体属性(Entity Attribute) 列Table Column)
主标识符(Primary Identifier) 根据是否为依赖关系确定是主键或外键
标识符(Identifier)  候选键(Alternate key)
关系(Relationship)  引用(Reference)


  同一个表中的两列不能有相同的名称,如果因为外键迁移而导致列名冲突,PowerDesigner会自动对迁移列重命名,新列名由原始实体名的前三个字母加属性的代码名组成。主标识符在生成PDM中的主键和外键,非主标识符则对应生成候选键。
在PDM中生成的键类型取决于CDM中用于定义一个Relationship的基数和依赖类型。


1.非依赖性一对多关系(Independent one-to-many relationships)
在非依赖性关系中,”一”端的实体主标识符将转化为:
 由关系中”一(one)”端的实体生成的表的主键(Primary key)
 由关系中”多(many)”端的实体生成的表的外键(Foreign key)。
CDM中Independent one-to-many relationship
生成的PDM中的Independent one-to-many relationship


2.依赖性一对多关系(Dependent one-to-many relationships)
  在依赖性关系中,被依赖端的主标识符转化为主键,依赖端则产生一个与被依赖端主标识符同名称的字段同时作为同时作为依赖端的主键和外键,如果依赖端实体中已经存在主标识符转化为主键,则该键同主键共同组成主键,同时作为外键。
CDM中Dependent one-to-many relationship
生成的PDM中的Dependent one-to-many relationship


3.非依赖性多对多关系(Independent many-to-many relationships)
  在非依赖性多对多关系中,各实体的主标识符(Primary key)迁移至一个新生成的连接表中都作为外键,同时共同组成这个新连接表的主键,各实体的主标识符也转化为其所生成表的主键(Primary key)。下图所示CDM,每个雇员可以是一个或多个团队的成员,同时每个团队也可能包含一个或多个的雇员。
CDM中Dependent one-to-many relationship
生成的PDM中的Dependent one-to-many relationship


4.非依赖性一对一关系(Independent one-to-one relationships)
  在非依赖性一对一关系中,如果没有定义支配角色(Dominant role)的方向,则各实体的主标识符均自动迁移转化为另一实体生成的表的外键。


  个人觉得在生成PDM过程中有关生成主键,外键等问题比较棘手,我自己在生成该示例论坛系统的PDM时就遇到这方面问题,后来在多次对一些设计得比较优秀的开源系统进行反向工程,然后慢慢研究借鉴,发现自己在设计过程的一些问题,因此觉得这方面只有多多研究才能逐渐得心应手。


准备差不多了,开始生成我们需要的PDM。
 选择菜单栏上Tools->Generate Physical Data Model弹出PDM Generation Options窗口
 选择Generate Physical Data Midel,在DBMS下拉列表中选择相应的DBMS,输入新物理模型的Name和Code.选择Update existing Physical Data Model则对已有PDM进行更新.
 若单击Configure Model Options则进入Model Options窗口,可以设置新物理模型的详细属性。
 选择PDM Generation Options中的Detail页,设置目标PDM的属性细节。
 单击Selection页,选择需要进行转化的对象。
 确认各项设置后,单击确定。即生成相应的PDM模型。


最后我们在CDM部分的工作应该就是根据所建立的概念模型生成文档了,文档是作为设计成果的输出,也用于开发小组成员交流的媒介,其重要性不能忽视。这方面我们可以参考前面生成报告(Report)方面的内容。


 


 


正向工程
直接地从PDM产生一个数据库, 或产生一个能在你的数据库管理系统环境中运行的数据库脚本。
方法:Database-> Generate Database->可以产生脚本或直接更新到数据库中(单选择).


生成SQL脚本:
填写路径和名字;在Generation选项栏中选择Script general单选框(直接生成脚本文件,也可以选择数据源直接更新到数据库);勾选上One file on,表示所生成脚本将包含于一个文件中,否则PowerDesigner会为生成的每个不同表格都单独生成一个脚本文件;设置其他参数;设置Selection属性页,在对象列表中选择需要生成脚本的对象.


更新到数据库:
新建一个数据库;
1.根据SQL脚本
打开查询分析器并选中新建的数据库;
注意:所生成脚本中先删除所有的外键,同时检查原数据库中是否存在相同对象,若存在则将其删除,所以第一次执行脚本时数据库中并不存在相应数据库对象,可能会报告”不存在………..”等错误信息.每个执行过程后都加”go”,确保某段代码没能成功执行时不会影响后续代码的执行.
2.直接更新到数据库
Database->Generate Database;选择相应的脚本存储目录和名称;Generation type选项栏中选择direct generation单选框,选择数据源;确定;run;可能出现错误,错误原因见上.


 


逆向工程
将已存在的数据库产生进新的PDM之内。


方法1:File->Reverse Engineer->Database
方法2:Database->Reverse Engineer Database


第一种反向:脚本文件.
Using script files:从脚本文件执行反向工程。
单击工具栏上Add Files工具,选择要进行反向工程的脚本文件;同时你也可以添加多个脚本文件,但需要注意的是:应该将触发器或存储过程脚本文件放在数据表脚本文件后面,因为反向工程时需要先执行数据表脚本。因此需要正确调整各种脚本文件顺序,否则可能导致触发器不能正确地进行反向工程。


第二种反向:数据源.
Using an ODBC data source:从ODBC数据源反向工程.
选择Using an ODBC data source单选框,选择数据源,输入对应用户ID和密码。Reverse using administrator’s permissions选项框以使用数据库管理员身份进行反向工程。弹出ODBC Reverse Engineering窗口,其中列出相应的对象,其中只有数据表和触发器是被默认选中的.
同时若当前PDM中已经存在模型对象,这时进行反向工程,则可以根据需要进行模型合并,覆盖等操作。


 


可以连接一个数据库管理系统:数据库--连接(connect).
然后可以执行SQL语句:数据库--EXECUTE SQL


 


设置标识列:
列类型只能是数值型(否则即使成功运行也显示不出来表),然后列属性中选identity,Microsoft页->identity seed and increment填写:种子值,增量;>identity value not replicated表示不用于复制.


 


错误说明:
表达式类型 int 对 COLLATE 子句无效:重新建立列(文本型可以,但是如果修改为其他类型貌似不会自动删除,所以会出错).
选择某个属性时,必须先保存,否则有时不能修改或找不到.
0 0
原创粉丝点击