简单问题100分!快啊同志们!ER建模时的问题。

BillyW 2005-03-25 08:23:48
两个实体,Customer与Place。

Customer有一个属性叫做“类型”。
“类型”有两种值:独立,非独立

当“类型”的值为“独立”时,Customer与Place之间的关系是“一对一”!
当“类型”的值为“非独立”时,Customer与Place之间的关系是“一对多”!

怎么表达这个ER?

可以用Rose描述,也可以用Power Designer
...全文
163 点赞 收藏 11
写回复
11 条回复
BillyW 2005年03月30日
谢谢楼上仁兄的答复:

理解你的想法,你的意思是表达这种一对多,多对多的语义。

用PowerDesigner的话,确实如你所说,概念模型的时候做成两个customer实体。
我目前用的是Rose,我用“约束”关系来描述上面这两个关系。已经可以表达我的设计语义。

实现的时候必然要做成一对多关系的数据库表。只有靠程序来控制这种“约束”关系了
回复 点赞
BillyW 2005年03月29日
up
回复 点赞
gzhughie 2005年03月29日
你的实体理解错误了,你应该将Customer实体分解为独立Customer实体和非独立Customer实体,然后分别画出于Place的关系(一对一、一对多)。

概念模型里的实体不一定就是一个数据表,简单的说,概念模型不是数据库模型,概念模型让开发人员更好的理解每个实体之间的关系,让设计人员、数据库开发人员、程序开发人员等等下一步的工作人员更好的理解你的uc中概念之间的关系。

数据库开发人员在理解了你的实体的意义,和之间的关系后,还要根据具体的需要(例如简单、速度、大小、相关性等等),对实体进行合并或者拆分才能最后设计出好的数据库结构。

如果我是数据库开发设计人,那么我在看到“独立Customer实体”和“非独立Customer实体”,于Place的关系是“一对一”和“一对多”,而且这两个实体属性很相似,只是意义不同(一个独立,一个非独立),那么在没有其他的影响的时候,为了数据库结构的简单,以及控制操作简单,我会将这两个实体合并成一个数据表,加入类型字段,区分独立和非独立。




回复 点赞
BillyW 2005年03月29日
up
回复 点赞
BillyW 2005年03月26日
我用UML可以描述它的语议,可用PD怎么设计啊????

期待中。。。
回复 点赞
数据娃掘 2005年03月25日
up
回复 点赞
BillyW 2005年03月25日
哎,没人答啊~~~

真的没人解答,或给出调整建议吗?
回复 点赞
sanoul 2005年03月25日
嘿嘿,俺都忘了,帮你UP
回复 点赞
BillyW 2005年03月25日

本问题还没有解决!!!请高手指教。

有没有什么改进方法,大家在具体项目中没有类似情况吗?
回复 点赞
BillyW 2005年03月25日
目前我还画不上关系,画上就错,不画还没有关系限制。

郁闷啊。
回复 点赞
wangybyangxr 2005年03月25日
我认为,除了图示外,可加以文字进行说明,这样就达到了设计的目的。
回复 点赞
发动态
发帖子
基础和管理
创建于2007-09-28

7175

社区成员

9.5w+

社区内容

Oracle 基础和管理
社区公告
暂无公告