Я разорван. Я имею дело с данными, с которыми очень трудно справиться; "работа" имеет в настоящее время более 100 столбцов.
Я помещаю все столбцы в задание, потому что каждый раз, когда я получаю информацию о задании, мне понадобится 99,99% времени для всех данных. Таким образом, расщепление, вероятно, принесло бы мне лучшие оценки, если бы я был студентом, но он просто решался в суставы каждый раз, когда я загружаю данные.
Одним из примеров, которые мне трудно решить, является груз. Корабль может иметь один (80% времени), 2 (99% времени) или 3 (1% времени) груза. Никогда 4. Хранение грузов в соотношении 1: n с работой очень просто, но это также означает, что:
Однако теперь у меня есть эти столбцы в моей БД:
cargoId1, cargoDescription1, contractTonnage1,
contractTonnageTolerance1, commentsOnTonnageTolerance1,
tonnageToBeLoaded1, tonnageLoaded1
cargoId2, cargoDescription2, contractTonnage2,
contractTonnageTolerance2, commentsOnTonnageTolerance2,
tonnageToBeLoaded2, tonnageLoaded2
cargoId3, cargoDescription3, contractTonnage3,
contractTonnageTolerance3, commentsOnTonnageTolerance3,
tonnageToBeLoaded3, tonnageLoaded3
Чтобы ты делал? Идеи?
Я должен предупредить вас, что вы, вероятно, получите голоса, закрытые голоса и/или удалите голоса для "в первую очередь мнения". Я думаю, что ваш вопрос в первую очередь основан на мнениях, поскольку он по существу является синонимом "плюсов и минусов нормализации". (ps: Я ненавижу тот факт, что это должно получить вас downvotes, хотя).
Одна вещь, которую вы могли бы сделать, если бы вы хотели иметь лучшее из обоих миров, - сделать нормализованную таблицу и создать представление, которое вернет де-нормированную форму с помощью PIVOT. Таким образом, целостность ваших данных улучшается с нормализацией, а запрос WRITING будет проще. Присоединения, которые будут (слегка с хорошим индексом) влиять на производительность, будут выполнены, но imo, что небольшая цена за целостность.