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