【发布时间】:2016-12-16 01:36:07
【问题描述】:
对于过去一年中遇到过几次的情况,我正在尝试找出最佳做法。
为了说明我设计了一个由用户、电影和用户观看的电影组成的虚假数据库。
在此示例中,我们希望能够捕获有关用户观看电影的任何时间的元数据,例如他们的位置或他们使用的设备,但我们将来可能希望收集的元数据类型可能会增长。目标是设计一个数据库,可以为一种电影观看体验聚合多种类型的元数据。
因此,我创建了一个名为 MovieWatchedMetaData 的表,以充当包含元数据的不同表之间的桥梁。前提是该表会将 LocationWatched 等元数据表中的主键链接到特定的电影观看场合。
我不确定这种方法是否会从长远来看有害。这是一个糟糕的做法吗?有没有更好、更合适的方法来实现这一点?您将如何组织这些表格?
【问题讨论】:
-
不能强制执行
foreign_key_id的事实,更不用说理解它应该引用哪个表,这应该表明这不是一个好主意。 -
没错,这绝对是一个危险信号。我想我会选择的替代方法是在 MoviesWatched 表中包含 location_id 和 device_type_id。
标签: mysql sql database postgresql database-design