首先是概念模型个物理模型的区别,概念模型,即ConceptualDataMode,是没和具体类型的数据库(如SQL Server、MySql)的对应,是一种抽象的,而物理模型是指定了某种具体类型的数据库。
然后是概念模型的设计:
首先是实体(Entity),在实体的属性中,如下图
M表示是否必备,即是否可以为NULL;
P表示主键;
而在关系(以部门与员工的关系为例)的设置中,如下图:
cardinalities页面的cardinality指的是基数,即每个部门拥有0到n个员工,也可以选1到n,即一个部门必须至少有一个员工(同Mandatory属性);
每个数据项(Data Item,即实体的一个属性)的code默认是不可以重复的,当他们同名是会被power designer认为是同一个数据项,要使他们可以重复,设置如下图(工具->Model Options):
如图的Model Setting里面的Data Item的Unique code选项去掉后就可以重复了;
概念模型写好后,建立物理模型(选项->generate Physical Data Model);
在物理模型中,可以建立索引,如下图
新建一个与员工姓名的索引,双击新建的条目,进入下面的界面
如果员工名字不能重复,可以选上Unique选项,使之为唯一性索引;
也可以选择Cluster来设定其是否为聚集索引(Mysql类型的物理模型可能没有该选项);
在Columns选项卡中,点击下面圈出的按钮,在弹出框中选择需要在那个字段上建立索引,只有指定了在哪个列上建立索引,前面建立的索引才有效,因为前面只是指定了索引名字
下面可以建立数据库了,数据库->generate Database;就能生成数据库的生成语句,如下图
上面生成的SQL语句不包括建立数据库的语句,只有建立表啊外键上面的语句, 要包含建立数据库的语句,则:模型->Model Properties;如下图,点击圈出的按钮
再重新生成数据库创建语句。