Нормализация данных: что под этим понимают и чем отличается справочник
Слово «нормализация» используют в трёх разных смыслах. Базист имеет в виду структуру таблиц, аналитик приведение чисел к одному масштабу, а специалист по НСИ порядок в записях справочника: дубли, единое наименование, класс. Если у вас дубли номенклатуры в 1С, вам нужно третье значение. Первые два к вашей проблеме не относятся.
Три значения: структура базы, масштаб чисел, порядок записей
Один и тот же термин попал в три профессии. Поэтому поиск по нему выдаёт смесь из учебников и статей. Ниже таблица, по которой можно быстро определить, о чём речь.
| Значение | Что меняют | Кто делает | Результат |
|---|---|---|---|
| Нормализация структуры базы | Схему таблиц и связи между ними | Разработчик, проектировщик базы | Данные не повторяются, правка в одном месте |
| Нормализация чисел для расчётов | Масштаб значений в наборе данных | Аналитик, исследователь данных | Показатели сопоставимы между собой |
| Нормализация записей справочника | Сами записи: наименования, дубли, классы | Служба НСИ, интегратор, снабжение | Одна вещь описана один раз и одинаково |
Нормализация структуры: одной таблицей
Представьте таблицу заказов, где в каждой строке повторяются имя клиента, его адрес и телефон. Если клиент сменил телефон, правят сотни строк и некоторые пропускают. Нормализация структуры выносит клиента в отдельную таблицу, а в заказе оставляет ссылку. Теперь телефон хранится один раз.
Это работа проектировщика базы, и делается она при создании системы. В 1С такую структуру уже задала платформа: справочники, документы, ссылки между ними. На этом объяснение можно остановить. Учебников по нормальным формам достаточно, а нашего справочника это не касается.
Нормализация чисел для расчётов: одним абзацем
Когда сравнивают показатели в разных единицах, например выручку в миллионах и долю в процентах, числа приводят к общему масштабу. Так расчёт не перекашивается в сторону показателя с большими значениями. Это операция над столбцом чисел перед анализом. С наименованиями товаров и дублями она ничего общего не имеет.
Нормализация записей справочника
Здесь речь о самих строках. Справочник номенклатуры заводят годами, разные люди пишут одно и то же по-разному: «Болт М12х40 8.8», «болт 12*40 кл.пр. 8.8», «Bolt M12x40». Структура таблицы при этом безупречна, а справочник захламлён. Нормализация записей приводит такие строки к порядку: находит, какие описывают одну вещь, и записывает её единообразно.
Общее описание процесса есть в статье про нормализацию НСИ, а про справочник материально-технических ресурсов в отдельности писали здесь.
Что входит в нормализацию записей: дубли, единое наименование, класс
Три части, и их стоит различать.
- Дубли. Находят карточки, которые описывают одну и ту же вещь, и объединяют в группы. Отдельно ищут похожие, но разные позиции: 6205-2RS и 6205-2Z склеивать нельзя. О них подробнее в материале про дубли номенклатуры.
- Единое наименование. Для каждой группы выбирают одну запись и пишут её по шаблону: порядок признаков, единицы, регистр, латиница и кириллица.
- Класс. Каждой позиции присваивают место в классификаторе. По классу потом строят отчёты и проверяют полноту описания.
Иногда к этому добавляют заполнение характеристик и приведение единиц измерения. Состав работ определяет задача: подготовка к переносу в другую систему требует одного, регулярный контроль закупок требует другого.
Один справочник, три взгляда
Возьмём справочник номенклатуры предприятия и посмотрим на него глазами каждой профессии.
- Проектировщик базы проверит, что единица измерения хранится ссылкой на отдельный справочник, а не текстом в каждой карточке. Вопросов нет, платформа так и делает.
- Аналитик увидит в справочнике числовые поля, например вес и размеры, и при необходимости приведёт их к общему масштабу для расчёта. Для наименований это ничего не даёт.
- Специалист по НСИ откроет сами строки и найдёт «шт», «штука» и «ШТ.» в разных карточках, три записи на один болт и шесть вариантов написания одной задвижки.
Все трое правы, и каждый видит свой слой. Проблема дублей лежит в третьем, поэтому искать решение стоит среди инструментов для содержимого записей, а не среди учебников по базам данных.
Как понять, какая вам нужна
Ответьте на три вопроса.
- Что болит? Если «в справочнике одно и то же в нескольких карточках» или «не могу найти нужную позицию», нужны записи. Если «база тормозит» или «данные расходятся между таблицами», это структура.
- Кто будет исполнителем? Для структуры нужен разработчик. Для записей нужны люди, знающие предметную область: что значит «Ру16», чем отличается ГОСТ от DIN.
- Что будет результатом? Если ожидаете «Excel, где у каждой строки есть группа и единое наименование», вам нужны записи.
Если базу спроектировал производитель платформы, а справочник вели десять человек десять лет, правильный ответ почти всегда третий.
С чего начать с нормализацией
Выгрузите справочник номенклатуры в Excel: код, наименование, артикул, единица, группа. Посмотрите на 50 случайных строк и найдите в них пары, которые описывают одно и то же. Если пары находятся без труда, во всём справочнике их, скорее всего, много. Для оценки объёма есть отдельный материал про аудит справочника.
На тестовом справочнике материально-технических ресурсов 2 889 строк свелись к 458 позициям, подробности на странице нормализации справочника МТР. Проверить свой справочник можно на бесплатной пробе: пришлите 5–10 тысяч строк, можно обезличенных.
Вопросы про нормализацию данных
- Нормализация справочника это то же самое, что нормальные формы?
- Нет, это другое. Нормальные формы описывают, как раскладывать данные по таблицам. Нормализация справочника работает с содержимым записей: убирает повторы вещей и приводит названия к единому виду. Один справочник может быть безупречен по структуре и при этом полон дублей.
- Нужна ли нормализация записей, если база спроектирована правильно?
- Да. Правильная структура не мешает двум людям завести одну вещь дважды под разными названиями. Платформа проверяет связи, а смысл наименований не проверяет.
- Сколько занимает нормализация записей?
- Зависит от размера справочника и от того, сколько позиций спорные. Вручную на позицию уходит несколько минут. Оценить объём заранее помогает выборка из выгрузки.
Посмотрим, какая нормализация нужна вашему справочнику
Пришлите 5–10 тыс строк справочника номенклатуры в Excel или CSV, можно обезличенных. В течение дня вернём файл с группами дублей, единым наименованием, классом, уверенностью и статусом. Бесплатно.
Прислать строки на пробу