技术开发 频道

Powerdesigner 12.5中DataItem重用的问题

【IT168 技术文章】

用PowerDesigner没多长时间,今天在做CDM的时候突然发现“用户ID”(如下图的定义)不能被重用!

这个“用户ID”DataItem属于“用户表”的主键并且有Mandatory约束(不能为空),我想在另一个表“司机用户表”中也将其作为主键,但无论如何都无法添加!

Google了一下原来是“工具”菜单中有个选项“Model Option”,其中有一项设置,如下图:

其默认选项是“Unique code”处于选中状态。PowerDesigner默认在CDM中不能存在相同名称的实体属性,这也是考虑到可能产生的一些如主键外键等名称冲突问题,但当我们进行实际数据库设计时,可能会多次使用相同数据项(DataItem)便于理解各实体。

查找帮助,其解释如下:

    Unique code选项:data item是否必须有自己的代码;

    Allow reuse选项:选中表示允许一个data item作为多个entity的attribute,从而使这些attribute具有相同的name、data type以及部署以一个主键(这句不太理解,原文:and do not belong to a primary key)。当此项未被选中或者该attribute属于一个主键,那么data item不能被重用。这种情况下,如果Unique code选项被选中,一个具有相同名称但不同code的新的data item将被生成,否则一个具有相同名称和相同codw的新的data item 将被创建。

另外,该设置均是面向特定模型的,即针对当前模型有效,若希望在其它模型中也有此命名设置,则需要重新进行设置。

还有,在Check Model时,如果选择全部Check,则依旧会报DataItem重名的错误信息,这时需要我们在人为检查确认数据项无误时,可以选择不对DataItem不检查,如下图示:

0
相关文章