Рассмотрим следующую структуру таблицы:Хорошая практика иметь несколько внешних ключей в одном столе?
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*)
В таблице продуктов представляет собой таблицу, краснодеревщик с использованием двух внешних ключей platformID и titleID. Это связано с тем, что некоторые заголовки имеют одинаковые атрибуты на разных платформах. Чтобы избежать повторения данных, я создал таблицу столяра.
Мой вопрос возникает, когда я создаю таблицу products_publishers. Поскольку у одного продукта может быть несколько издателей, мне нужно создать столярную таблицу из трех внешних ключей. Это лучшая практика? Мой сценарий мог создать таблицу с четырьмя такими элементами. Я рассмотрел использование столбца для хранения этих данных в таблице продуктов и отказался от таблицы столяра и таблицы издателя, но интуитивно это не кажется правильным.
Любые мысли?
Большое спасибо
-1: Не могли бы вы объяснить, почему вы подозреваете, что наличие нескольких внешних ключей на одном столе может быть плохим? –
Моя линия рассуждений заключалась в том, что выполнение запроса в таблице, содержащей несколько внешних ключей, может ухудшить производительность, поскольку по умолчанию запрос должен запрашивать несколько других таблиц. – Mohamad