Нормализация базы данных

Я недавно разбил очень большую таблицу базы данных на более мелкие, управляемые таблицы, и по большей части я доволен своей работой, и я чувствую, что данные правильно нормализованы.

Но есть одно исключение. Рассматриваемые таблицы взяты из базы данных продуктов, в которой хранится информация о (как вы уже догадались) продуктах, которые продает компания. Я разделил большую часть информации на две таблицы: ProductBase и ProductBasePackaging .

Эти таблицы содержат общую информацию, относящуюся к базовому номеру детали, а не к отдельному продукту (для каждого базового номера существует несколько продуктов).

ProductBase содержит довольно общую информацию, такую ​​как MarketingCopy , Ключевые слова и т. Д., А также информацию о конструкции, т.е. материалах, компонентах и ​​т. Д.

И ProductBasePackaging , конечно, содержит данные об упаковке.

Теперь, когда я пишу приложение для обработки данных, я сам начинаю сомневаться. Кажется, теперь я усложнил себе задачу, потому что мне нужно отслеживать несколько таблиц, в которых используется один и тот же ключ (базовый номер детали). Или я прав, что разделил их как таковые и, может быть, сделал еще один шаг и разделил конструкцию в отдельную таблицу?

Я довольно хорошо разбираюсь в использовании sql, но это первый раз, когда мне когда-либо приходилось действительно проектировать структуру базы данных, не говоря уже о реструктуризации большой существующей базы данных. Итак, в основном я спрашиваю, должен ли я иметь несколько таблиц с одним и тем же ключом, разделенных по типу данных, или хранить все вместе в одной таблице, где я могу ссылаться на все, что мне нужно, из одной таблицы, используя один и тот же ключ?

Извините, я знаю, что это было много для чтения, надеюсь, это имело смысл, и спасибо всем, кто смог это прочитать!

7
задан marc_s 20 April 2011 в 18:21
поделиться