Содержание
    20.11.2025

    Именование таблиц в базе данных — одна из тех мелочей, которая кажется незначительной до тех пор, пока кодовая база не начинает расти. На небольших проектах могут легко «сойти с рук» короткие и очевидные названия. Но в долгосрочной перспективе именно они становятся источником ошибок, сложностей и лишних трудозатрат.

    Рассмотрим это на примере базы данных bgp, содержащей информацию об IP адресах. В базе имеются таблицы:

    • asn
    • city
    • country
    • data
    • ip
    • ipv6

    Данные названия являются короткими и интуитивно понятными. Однако при масштабировании проекта такая простота вызывает проблемы при внесении правок в код.

    Проблема коротких имён в реальном проекте

    Представим, что база данных переносится на ClickHouse, а в таблице ip поле ip нужно переименовать в cidr, потому что теперь оно будет хранить не конкретный IP-адрес, а название сети с указанием маски 185.39.224.0/24.

    Чтобы внести такие изменения, необходимо найти все обращения к таблице ip в коде. Но в большом проекте слово ip встречается буквально везде: в переменных, логах, комментариях, именах функций, запросах, конфигах и так далее.

    Обычный поиск по проекту выдаст более 6000 упоминаний, и большая часть из них не будет иметь отношения к таблице. Простое переименование названия поля приводит к значительным временным затратам, поскольку разработчику необходимо вручную анализировать каждый найденный фрагмент. Общие трудозатраты могут составлять несколько недель, включая последующее исправление ошибок, связанных с пропущенными или неправильно изменёнными участками кода.

    Как префиксы в именах таблиц решают проблему

    Теперь посмотрим на те же таблицы, но с использованием префикса, отражающего связь с доменом данных — в данном случае bgp:

    • bgp_asn
    • bgp_city
    • bgp_country
    • bgp_data
    • bgp_ip
    • bgp_ipv6

    С такими именами поиск по проекту становится однозначным. Запрос bgp_ip даст только реальные обращения к таблице, а не тысячи ложных совпадений. Любые изменения в схеме таблицы можно корректно внести в код за час — без риска пропустить важный участок.

    Вывод

    Короткие и красивые имена таблиц удобны только в момент создания. В реальных же проектах, где кодовая база живёт годами предпочтительней использовать однозначное и предсказуемое именование. Добавление префиксов, отражающих контекст или модуль данных, делает код поддерживаемым и существенно снижает стоимость изменений в будущем.