1

此时我有一个用户表,其中包含以下字段“id、name、email、sex、password 和 avatar。

现在,这些用户会拥有物品,会去地方,会交朋友,会做一些动作。将有关于他们活动的统计数据。

我应该存储这些操作的引用(以及相应的统计信息)并将这些操作本身存储在其他表中,还是应该只在该表中添加更多字段?

例如,签到、关注、朋友——这些应该在另一个表中吗?

活动怎么样?

某人是另一个人的朋友。有人跟随另一个人。某人现在有某种状态。

这些是否应该与它们的时间戳以及与之相关的相应操作存储在一个表中(有人喜欢这篇文章、评论等)

4

1 回答 1

0

经过一番阅读和询问,我得出的结论是:

每种类型的对象的表: 用户项目地点

每个对象的附加数据的表: 用户信息,操作项目信息地点信息

每种类型的动作或事件的 表格喜欢以下的友谊

活动表

event_id、event_type、parameter1、parameter 2、parameter 3、parameter 4*(*下方查看注释 *

事件表,如 event_id、person_id

事件评论表 event_id、person_id、comment_text

如果用户的邮箱中有 13 条消息并且其中 8 条已被阅读,则在消息表中这将是一个布尔值“已读”。

到目前为止,这看起来还好吗?

如果我想要统计信息,我不会将它们存储在记录中,我会计算某些查询的结果数,例如:

用户 Kylie 有 14 个关注者,因为这是为该用户查询表后返回的行数

注意:唯一困扰我的是事件表,因为不同类型的事件需要不同的参数,例如

事件类型友谊需要两个用户的 id。事件类型购买需要用户和产品 ID。

那么我可以将所有事件存储在一个表中还是应该为每种事件类型创建多个表?

PS:在我开始实施它们之前,我使用 umlet 来布局设计和表格之间的关系

于 2013-10-23T09:57:51.230 回答