这几天要做一个MIS的数据建模,据说现在PowerDesigner是使用很广的一个工具,为了跟得上潮流,就从头开始学起。刚开始时候用的是pd11,还有汉化包,不过俺是耐不住寂寞的人,看到还有pd12可用,就马上下了一个,不过全是英文的,好像还没有发现汉化包,还好俺不是英文盲,很能撑一两下。
由于是采用正向建模,所以首先还是从概念模型做起,这个主要就是根据实际情况做的一个抽象实体联系图,不需要考虑逻辑结果的,根据CDM图生成PDM图时最麻烦的就是CDM中relationship的转换,在PDM中生成的键类型取决于CDM中用于定义一个Relationship的基数和依赖类型。
<o:p> </o:p>
1. 非依赖性一对多关系(Independent one-to-many relationships)
在非依赖性关系中,
”一
”端的实体主标识符将转化为:
(1) 由关系中
”一(one)
”端的实体生成的表的主键(Primary key)
(2) 由关系中
”多(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)。
在用这个建模的时候,刚开始这个依赖关系让俺很是郁闷,不过通过查找资料也算是解决了。PD功能确实强大,生成PDM图后,即可根据PDM生成SQL脚本语言,然后通过MySQL导入即可!