Я недавно разбил очень большую таблицу базы данных на более мелкие, управляемые таблицы, и по большей части я доволен своей работой, и я чувствую, что данные правильно нормализованы.
Но есть одно исключение. Рассматриваемые таблицы взяты из базы данных продуктов, в которой хранится информация о (как вы уже догадались) продуктах, которые продает компания. Я разделил большую часть информации на две таблицы: ProductBase
и ProductBasePackaging
.
Эти таблицы содержат общую информацию, относящуюся к базовому номеру детали, а не к отдельному продукту (для каждого базового номера существует несколько продуктов).
ProductBase
содержит довольно общую информацию, такую как MarketingCopy
, Ключевые слова
и т. Д., А также информацию о конструкции, т.е. материалах, компонентах и т. Д.
И ProductBasePackaging
, конечно, содержит данные об упаковке.
Теперь, когда я пишу приложение для обработки данных, я сам начинаю сомневаться. Кажется, теперь я усложнил себе задачу, потому что мне нужно отслеживать несколько таблиц, в которых используется один и тот же ключ (базовый номер детали). Или я прав, что разделил их как таковые и, может быть, сделал еще один шаг и разделил конструкцию в отдельную таблицу?
Я довольно хорошо разбираюсь в использовании sql, но это первый раз, когда мне когда-либо приходилось действительно проектировать структуру базы данных, не говоря уже о реструктуризации большой существующей базы данных. Итак, в основном я спрашиваю, должен ли я иметь несколько таблиц с одним и тем же ключом, разделенных по типу данных, или хранить все вместе в одной таблице, где я могу ссылаться на все, что мне нужно, из одной таблицы, используя один и тот же ключ?
Извините, я знаю, что это было много для чтения, надеюсь, это имело смысл, и спасибо всем, кто смог это прочитать!