database - 使用 UML : Relationships 对数据库建模

标签 database uml database-design staruml

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

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

我的逻辑有问题吗?

最佳答案

用户“有” friend (1-0..*) 的部分有缺陷。

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

关于database - 使用 UML : Relationships 对数据库建模,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9651727/

相关文章:

mysql - 数据库设计建议

database - 删除左连接 postgres

javascript - 在输出之前过滤 TinyMCE javascript

mysql - 混合多态关联和层次结构的最佳方式?

uml - 软件项目使用了多少和什么规划?

java - 了解Ccleaner的代码流程

c# - 我的 C# 应用程序应如何安全地连接到我的 AWS EC2 数据库?

c# - Visual Studio UML 序列图

mysql - 将非事件行移动到另一个表?

ios - 这种模式适合核心数据吗?