Должен ли я нормализовать эти поля?

0

Я разорван. Я имею дело с данными, с которыми очень трудно справиться; "работа" имеет в настоящее время более 100 столбцов.

Я помещаю все столбцы в задание, потому что каждый раз, когда я получаю информацию о задании, мне понадобится 99,99% времени для всех данных. Таким образом, расщепление, вероятно, принесло бы мне лучшие оценки, если бы я был студентом, но он просто решался в суставы каждый раз, когда я загружаю данные.

Одним из примеров, которые мне трудно решить, является груз. Корабль может иметь один (80% времени), 2 (99% времени) или 3 (1% времени) груза. Никогда 4. Хранение грузов в соотношении 1: n с работой очень просто, но это также означает, что:

  • Каждый раз, когда я загружаю задание, мне нужен дополнительный запрос для получения грузов
  • CRUD немного больнее, так как я должен сделать еще один магазин, с разрешениями и т.д.

Однако теперь у меня есть эти столбцы в моей БД:

cargoId1, cargoDescription1, contractTonnage1,
contractTonnageTolerance1, commentsOnTonnageTolerance1, 
tonnageToBeLoaded1, tonnageLoaded1

cargoId2, cargoDescription2, contractTonnage2, 
contractTonnageTolerance2, commentsOnTonnageTolerance2, 
tonnageToBeLoaded2, tonnageLoaded2

cargoId3, cargoDescription3, contractTonnage3, 
contractTonnageTolerance3, commentsOnTonnageTolerance3, 
tonnageToBeLoaded3, tonnageLoaded3

Чтобы ты делал? Идеи?

  • 0
    Мне нужен дополнительный запрос для получения груза - нет, просто присоедините его к тому же запросу.
  • 0
    Можно ли поделиться существующим дизайном?
Показать ещё 3 комментария
Теги:
database-normalization

1 ответ

1
Лучший ответ

Я должен предупредить вас, что вы, вероятно, получите голоса, закрытые голоса и/или удалите голоса для "в первую очередь мнения". Я думаю, что ваш вопрос в первую очередь основан на мнениях, поскольку он по существу является синонимом "плюсов и минусов нормализации". (ps: Я ненавижу тот факт, что это должно получить вас downvotes, хотя).

Одна вещь, которую вы могли бы сделать, если бы вы хотели иметь лучшее из обоих миров, - сделать нормализованную таблицу и создать представление, которое вернет де-нормированную форму с помощью PIVOT. Таким образом, целостность ваших данных улучшается с нормализацией, а запрос WRITING будет проще. Присоединения, которые будут (слегка с хорошим индексом) влиять на производительность, будут выполнены, но imo, что небольшая цена за целостность.

  • 0
    Имеет смысл. Спасибо!

Ещё вопросы

Сообщество Overcoder
Наверх
Меню