使用UML建模数据库:关系

时间:2012-03-11 01:43:36

标签: database uml database-design staruml

我正在学习UML来为类项目建模数据库。本质上,数据库用于社交网络。表格包括用户,朋友,个人资料,状态,wall_posts和评论。我在确定关系方面遇到了一些麻烦。

乍一看,似乎所有表都具有组合关系(具有不同的多样性);用户“有”个人资料(1-1),用户“有”朋友(1-0 .. *),wall_posts(1-0 .. *)和wall_post“有”评论(1-0。 。*)。如果用户被删除,则效果会级联,并应删除具有该用户ID的任何记录。用户表的信息类似于uid的名称(未在wall_posts表中复制),因此必须删除类似消息记录的内容。

我的逻辑是否有缺陷?

1 个答案:

答案 0 :(得分:2)

a user "has" friends(1-0..*)有缺陷的部分。

这应该是用户表与其自身之间的 n-m (或UML表示法中的0..*-0..*),因为所有这些朋友不是一个用户专有的。每个人(希望)都可以有很多朋友。可以由friendship表实现,该表包含用户表的两个(不同的)外键以及可能描述该关系的其他属性。