Бесплатный вебинар
«как найти любимую работу»
Подарки на 150 000 ₽ за участие
Живой эфир
Записи не будет!
00:00:00:00
дн.ч.мин.сек.

Сингулярные или плюральные названия в базах данных: стандарты

Быстрый ответ

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

Пример:

SQL
Скопировать код
CREATE TABLE Customer (
    ID int,  -- Уникальный идентификатор клиента
    Name varchar(255)  -- Имя клиента
);
Кинга Идем в IT: пошаговый план для смены профессии

Аргументы за использование имен в единственном числе

Таблица как набор сущностей

Таблица представляет собой коллекцию отдельных объектов. Например, каждая строка в таблице Ticket или Movie представляет уникальную сущность.

Подробнее об этом расскажет наш спикер на видео
skypro youtube speaker

Читаемость и прозрачность

Имена в единственном числе, такие как Employee или Product, упрощают восприятие структуры данных. Благодаря этому становится понятнее, что каждая запись представляет данные по одному сотруднику или продукту.

Соблюдение корпоративных стандартов

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

Визуализация

Возьмём в качестве примера книжную полку:

Markdown
Скопировать код
Книжная полка (База данных)
|
|__ Книга "Собака" (Единственное число) 📙: [Страница 1 (Лабрадор), Страница 2 (Бигль), ...]
|
|__ Книга "Собаки" (Множественное число) 📘: [Страница 1 (Лабрадор), Страница 2 (Бигль), ...]

Единственное число 📙 сосредоточивает внимание на каждой отдельной породе собаки в качестве уникальной сущности, в то время как множественное число 📘 создаёт образ полного каталога.

Сравнение единственного и множественного числа

Консистентность

Соблюдение единообразия в именовании таблиц в единственном числе облегчает процесс написания запросов, поддержку и масштабирование системы, делая работу разработчиков более предсказуемой.

Объектно-реляционное отображение

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

Подготовка к изменениям

Таблицы, именованные в единственном числе, обычно более непротиворечивы при расширении проекта, что упрощает адаптацию к будущим изменениям.

Как выбрать подходящее имя

Последовательность

Важно использовать имена таблиц последовательно — это помогает преодолевать путаницу и уменьшает возможность ошибок в будущем.

Отражение содержания

Название должно точно отражать содержимое хранимых данных. Более специфичные имена, такие как AuditTrail, предпочтительнее неоднозначных Audits или Auditing.

Готовность к изменениям

Независимо от выбранной формы числа для наименования, следуйте единому стандарту. Не забывайте адаптировать имена под используемые фреймворки и инструменты.

Учёт связей

Для связующих таблиц отношения "многие ко многим", например, между Course и Student, рекомендуется использовать имя в единственном числе CourseStudent, ясно указывающее на характер связи.

Полезные материалы

  1. Руководство по стилю SQL от Саймона Холивелла — детальное руководство по стилю написания SQL-кода.
  2. Обсуждение стратегий наименования в SQL на Stack Overflow — примеры опыта и рекомендаций от IT-сообщества.
  3. Стандарты программирования SQL от Джо Селко — полезные советы от опытного специалиста SQL.
  4. Описание объектов схемы в документации Oracle — подробная информация о базах данных и правилах наименования сущностей.
  5. Конвенции Active Record в Ruby on Rails — особенности наименования таблиц в среде разработки Rails.
Проверь как ты усвоил материалы статьи
Пройди тест и узнай насколько ты лучше других читателей
Почему рекомендуется использовать единственное число для наименования таблиц в базах данных?
1 / 5