1

我正在学习 UML 为类项目建模数据库。本质上,该数据库用于社交网络。这些表是用户、朋友、个人资料、状态、wall_posts 和评论。我在确定确切的关系时遇到了一些麻烦。

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

我的逻辑有问题吗?

4

1 回答 1

2

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

这应该是用户表和它自身之间的一个nm0..*-0..* (或UML 表示法),因为所有这些朋友都不是一个用户独有的。每个人(希望)都可以有很多朋友。可以通过一个friendship表来实现,该表包含用户表的两个(不同的)外键以及描述关系的可能附加属性。

于 2012-03-11T01:52:08.200 回答