问题描述
我有三个实体(entity_1、entity_2 和 entity_3),每个实体都可以有多个视频,但一个视频仅与一个实体相关(一对多)。现在我想知道为此创建数据库架构的最佳做法是什么。
The solution with data tables The solution with associative tables
具有关联表的解决方案的优点是仅在视频字段中发生变化时才维护视频表。缺点是为数据查询添加了额外的JOIN。它还实现了仅用作一对多的多对多关系。
在这种情况下推荐什么(最佳实践)?
解决方法
正如您所说的关系类型是一对多,因此最好(也是最有效)的解决方案是带有“数据表”的解决方案,您提供的第二种解决方案仅适用于多对多关系。
你在这里的描述让我觉得即使一个视频可以链接到多个表,也不能多次链接到同一个表。