Consider the following table structure:
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*)
Product table is a carpentry table using two foreign keys platformID and titleID. This is due to the fact that some headers have the same attributes on different platforms. To avoid repeating the data, I created a table of tables.
My question arises when I create the products_publishers table. Since a single product can have multiple publishers, I need to create a joiner table of three foreign keys. Is this the best practice? My script could create a table with four such elements. I considered using a column to store this data in a product table and abandoned the joiner table and the publisher table, but in an intuitive sense this does not seem to be correct.
Any thoughts?
Many thanks
source share