所在位置:答疑 - 内容   
答疑:表示表之间的多对多的关系,但不希望通过EA生成外键约束
 

东风31(23***2) 2018-08-20 14:05:27
EA12 中,在Data Modeling图下,是否可以给两个表创建关系,但不创建外键约束的?
我想只表示表之间的多对多的关系,但不希望通过EA生成外键约束
有人知道吗?

潘加宇(3504847) 2018-08-20 14:15:30
没有约束,怎么能说得上有关系啊

东风31(23***2) 2018-08-20 14:16:30
从概念上是有约束,但生成DDL语句的时候,并不希望生成数据库的约束。这部分是通过程序逻辑来控制的

潘加宇(3504847) 2018-08-20 14:17:17
那就是没有关系

东风31(23***2) 2018-08-20 14:18:09
图上没有关系的线条,这样沟通起来不方便

潘加宇(3504847) 2018-08-20 14:18:31
A里面有个字段叫A_ID,B里面也有个字段叫A_ID,你不在某个地方说清楚,就说这两个有关系,那只是存在于你的意念里面而已。

东风31(23***2) 2018-08-20 14:18:45
之前用的EA9的版本都是可以的。用了12,发现和以前在Data Modeling下创建数据模型视图不一样了。。。
以前版本的EA是可以在Data Modeling图里,是可以使用关系的,现在貌似用关系就是建立外键约束了
而且在"操作"部分,自动创建一个外键约束对象

潘加宇(3504847) 2018-08-20 14:24:15
上面已经说了,就是静态上没有关系。

补充:

很多建模人员都有这个问题,逻辑放在自己的大脑里就已经以为系统的模型已经知道了。

例如:软件系统维护的信息里,有一个人姓名叫张大毛,另一个人姓名叫张二毛。建模人员大脑里知道这两人是兄弟,然后就觉得软件系统也知道了,其实建模人员的大脑和软件系统并没有同步的通道。建模人员必须在系统模型的某处说明(1)这两人是兄弟,或者(2)如果两人的姓名只有一个同样位置的字不同,而且这个字有数字含义,那么这两人为兄弟,或者(3)类似其它表达方式。

不只是分析的时候有这个问题,业务建模也不少。经常有人在业务序列图上画如果缺货就怎么样,却没有说判断是否缺货这个逻辑是封装在哪个系统里面的,好像从天上掉下来似的。