Преобразовать EER-диаграмму / сгенерированную схему в ER-диаграмму - PullRequest
1 голос
/ 07 февраля 2012

Я работаю над школьным проектом, который требует создания диаграммы 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. Но мне также нужно иметь возможность назначать эти детали машинам так, чтобы не требовалось много таблиц.

Надеюсь, в этом есть какой-то смысл. Спасибо за любые подсказки, которые вы предоставляете.

...