具有不同属性的相关数据的数据库设计

问题描述 投票:0回答:1

假设经理想要查看其团队成员的活动(类似于审核日志)。从客户端来看,活动显示在单个列表中。

以下是一些类型的活动:

  • 常见字段
    • 创建日期
  • 任务活动
    • 任务ID
    • 任务类型
  • 有奖活动
    • 奖项类型
    • ToId
    • 来自Id
    • 评论
  • 课程活动
    • 课程ID
    • CourseActivityType(即注册、完成)

预计未来会增加更多类型的活动。

直觉告诉我,将所有这些信息存储在一个表中是糟糕的设计。您将如何对该用例进行建模?

此外,这些数据应该如何通过 API 请求发送?应该全部都在一个列表中吗?或者不同的活动类型是否应该有多个 API 请求?

我正在使用 EF Core(代码优先)。

database database-design entity-framework-core
1个回答
0
投票

我推荐非SQL数据库。 如果必须使用 SQL,请尝试使用字段名称、旧值、新值等元组对活动进行建模。 这样的表可能会随着时间的推移而爆炸,最好与您的经理交谈以设置限制并定期存档活动。

© www.soinside.com 2019 - 2024. All rights reserved.