请考虑以下表结构:
titles(titleID*, titleName)
platforms(platformID*, platformName)
products(platformID*, titleID*, releaseDate)
publishers(publisherID*, publisherName)
developers(developerID*, developerName)
products_publishers(platformID*, titleID*,publisherID*)
products_developers(platformID*, titleID*, developerID*)
Run Code Online (Sandbox Code Playgroud)
products表是一个使用platformID和titleID的两个外键的joiner表.这是因为某些标题在不同平台上具有相同的属性.为了避免数据重复,我创建了joiner表.
当我创建products_publishers表时,我的问题出现了.因为一个产品可以有多个发布者,所以我必须创建一个由三个外键构成的joiner表.这是最佳做法吗?我的场景可以让我创建一个包含四个这样的条目的表.我考虑使用一列来将这些数据存储在products表中,并放弃了joiner表和publisher表,但直觉上这感觉不对.
有什么想法吗?
非常感谢