У меня есть различные таблицы в базе данных. Таблицы в основном имитируют пошаговый метод вставки информации инженерами через веб-сайт. Они записывают все данные для шага и переходят к следующему шагу. Есть 20 таких шагов, которые последовательно выполняются для конкретного Модуля.
Таблицы похожи на (Таблица партии ячеек)
S.No. Module Number Lot Number Signed By Notes Date
------------------------------------------------------------------------------------------------
1 A1-001 DAX01 Lydia No Error 9/17/2018 12:32:01 PM
2 A2-001 DAX01 Palmer No Error 9/17/2018 12:34:11 PM
3 A1-001 DAX02 Patricia No Error 9/17/2018 12:37:31 PM
(Таблица отверждения)
S.No. Module Number Pre-Dispense Weight Post-Dispense Weight Signed By Notes Date
-------------------------------------------------------------------------------------------------------------------------------------------
1 A1-001 3.2 3.6 Henry Slightly higher 9/17/2018 12:39:01 PM
2 A2-001 3.1 3.9 Lydia Very high 9/17/2018 12:45:01 PM
3 A2-001 2.1 2.9 Palmer Within Range 9/17/2018 12:48:01 PM
Точно так же есть другие таблицы, которые принимают информацию в том же стиле, что и выше.
Единственная проблема в том, что номера модулей могут повторяться в таблице. Часто инженеры снова записывают один и тот же шаг в таблицу для конкретного модуля, что приводит к двум записям данных для него. Как можно увидеть в таблице партий ячеек для модуля A1-001. Похоже, им нужна эта функция, поскольку им нравится отслеживать модуль и видеть, как он меняется с течением времени. Так обстоит дело со всеми таблицами.
Как лучше всего это нормализовать? Или мне следует использовать какой-то другой подход для создания моих таблиц?
Любая помощь приветствуется!
Тот факт, что вы повторяете свой module number, не означает, что он не нормализован должным образом как есть. Мне нравится, ОП.
Пока нет избыточных отношений между номером модуля и другими столбцами (а это не похоже на то, что есть), это нормально.
Если вам не нравится идея многократно хранить подобные имена, вы можете создать таблицу Modules и заменить Module Number внешним ключом для Modules.id.
Ой. Понятно. Я чувствовал, что проектирование моей базы данных было немного неправильным, поскольку я не мог очень явно увидеть первичный ключ или соединение внешнего ключа первичного ключа в моих таблицах, что люди имеют в виду при работе с системами rdbms.
Привет. Пора прочитать учебник по информационному моделированию, реляционной модели и проектированию баз данных. (Nb. Руководство по инструменту дизайна, API или языку для записи дизайна не является руководством / учебным пособием по дизайну.)






Какую проблему вы пытаетесь решить? В чем проблема с таблицами в их нынешнем виде?