【发布时间】:2020-03-25 08:49:38
【问题描述】:
我需要帮助来选择正确的数据库设计。我们有多个数据库模式:
- 图片架构
- foo 架构
- 条形图
- ...
picture schema 包含关于上传图片的表,其中根表picture 具有 uuid 类型的 id。
foo 和 bar 模式包含主表 foo 和 bar,它们的 id 类型也为 uuid。这些表的每条记录都有图片M:N的基数。
由于架构不同,不能有外键。那么连接表的正确设计是什么?如果每个模式(foo 和 bar)都包含带有 picture_id 的连接表,如下所示:
在 foo 架构中:
| foo_id (uuid) | picture_id (uuid) |
在条形模式中:
| bar_id (uuid) | picture_id (uuid) |
或者我应该只在图片模式中创建一个连接表,这要归功于这样的 uuid 类型:
|picture_id (uuid) | entity_id (uuid) |
entity_id 将是 foo 或 bar 的 id - 没关系,因为 uuid 总是唯一的,对吧?你怎么看?您可以考虑每个模式用于不同的微服务。谢谢你的建议。
【问题讨论】:
标签: sql postgresql database-design microservices