Создать URL
Генератор Правила транслитерации Как сделать ЧПУ Транслит для загранпаспорта ГОСТ 7.79 ISO 9 Блог Вопросы и ответы Создать URL
Транслитерация

Названия таблиц и полей базы данных: кириллица, транслит или английский

Базы данных часто допускают русские имена таблиц и полей, но этим редко пользуются. Разберём, что говорит документация MySQL и как назвать поля так, чтобы не пришлось переименовывать.

Что допускает MySQL

По руководству MySQL, имена без кавычек могут состоять из латинских букв, цифр, знаков $ и _ и символов из диапазона U+0080–U+FFFF (в него входит кириллица). Имена внутри обратных кавычек допускают более широкий набор символов. Имена баз, таблиц и столбцов не могут заканчиваться пробелом.

Зачем кавычки

Если имя содержит нестандартные символы, его нужно заключать в обратные кавычки в каждом запросе. На практике это неудобно: приложения, ORM и инструменты миграции не всегда корректно обрабатывают такие имена.

Что выбирают на практике

  • Английские слова — самый распространённый вариант.
  • Транслит — для терминов без точного перевода.
  • Кириллица — редко, преимущественно в учебных и закрытых проектах.

Как получить имена латиницей

Название по-русскиИмя в базе
Заказы клиентовzakazy_klientov
Цена товараcena_tovara
Дата созданияdata_sozdaniya

Используйте разделитель «Подчёркивание»: так имена остаются совместимыми с обычными запросами без кавычек. Slug-поля в таблицах — отдельная тема: «Слаг в базе данных: тип поля, индекс, длина».

Источник

Использовано руководство MySQL: Schema Object Names. Для других СУБД правила отличаются.

Типичные ошибки

  • Использовать русские имена без кавычек и получать ошибки.
  • Смешивать русские и латинские слова в одном имени.
  • Заканчивать имя пробелом.
  • Менять схему именования после запуска проекта.

Пошагово: приводим имена к единому виду

  1. Выпишите сущности и поля проекта.
  2. Получите имена в генераторе с разделителем «Подчёркивание».
  3. Согласуйте схему с командой.
  4. Создайте таблицы и проверьте запросы без кавычек.
  5. Занесите соответствие в документацию.

Разбор заголовка по шагам

Возьмём заголовок «Заказы клиентов» и пройдём путь до адреса. Для имени таблицы используем разделитель «Подчёркивание».

Заголовок:           Заказы клиентов
Без служебных слов:  Заказы клиентов
Адрес целиком:       zakazy-klientov
Адрес короче:        zakazy-klientov

Режим «Убрать служебные слова» в генераторе делает второй шаг сам. Короткий адрес читается легче и лучше помещается в строку браузера. Ограничения по длине и другие правила составления адреса собраны в статье «Как составить ЧПУ-адрес страницы».

Памятка для редактора

Если в проекте несколько редакторов, дайте им короткую памятку. Достаточно этих правил:

  • Имена — латиница и подчёркивание.
  • Без кавычек.
  • Единая схема именования.

Чек-лист

  1. Выбрать схему именования.
  2. Не использовать кавычки.
  3. Вести словарь терминов.
  4. Не менять схему после запуска.

Частые вопросы

Можно ли в MySQL называть таблицы по-русски?

Допустимо: имена без кавычек могут содержать символы U+0080–U+FFFF, а с обратными кавычками — более широкий набор.

Зачем обратные кавычки?

Они позволяют использовать нестандартные символы в имени. Неудобство — кавычки нужны во всех запросах.

Какой вариант выбрать?

Чаще всего — латинские имена с подчёркиванием.

Как получить транслит для названия таблицы?

Через генератор с разделителем «Подчёркивание».

Проверьте свои заголовки: вставьте их в генератор ЧПУ и посмотрите, как в адресе выглядят слова с этой буквой.

Читайте также