Я работаю над школьным проектом, который требует создания диаграммы ER и схемы базы данных, полученной из этой диаграммы. Схема имеет некоторые очень строгие требования к размеру (не более х количество таблиц). Я сталкиваюсь с проблемой, когда некоторые из моих сущностей следуют отношениям типа «есть», которые лучше всего описываются с использованием модели EER, что нам запрещено использовать. Вот очень грубая схема того, чего я пытаюсь достичь:
Мне нужно отслеживать несколько уникальных [Part], которые имеют много (полностью уникальных атрибутов). Все они имеют некоторые общие атрибуты, например (QuantityInStock). У меня есть [Машины], которые используют любое (количество) любых из этих [Частей].
Если я буду следовать модели ER, я считаю, что машины будут иметь отдельное отношение M-N к каждому уникальному типу детали. Каждое отношение M-N должно переводиться в свою таблицу. Из-за строгого максимального количества таблиц, которое нам разрешено иметь, это невозможно.
Если я буду следовать модели EER, процесс перевода генерирует только одну или две дополнительные таблицы - не одно еще отношение для каждой [Части].
Что мне нужно сделать, так это каким-то образом преобразовать отношение «есть» (то есть [ThisPartType] «это есть» [Часть]) во что-то, что работает в модели ER. Мне нужен какой-то способ связать различные уникальные детали с машинами, которые используют эти детали.
Чтобы привести пример того, для чего я иду:
Машина A использует 30 из PartA [1], 47 из PartB [21], 22 из PartC [18] и 3 из PartD [54].
Машина B использует 8 PartC [12] и 1 PartD [44].
Машина C использует 1 из PartF [0] и 5 из PartZ [28].
Мне бы хотелось иметь доступ к уникальным битам информации для PartB [21] (радиус, ширина потока), а также запрашивать самые тяжелые из всех PartC. Но мне также нужно иметь возможность назначать эти детали машинам так, чтобы не требовалось много таблиц.
Надеюсь, в этом есть какой-то смысл. Спасибо за любые подсказки, которые вы предоставляете.