Сингулярные или плюральные названия в базах данных: стандарты
Быстрый ответ
Для наименования таблиц рекомендуется использовать единственное число. Считайте их контейнерами для экземпляров сущности. Например, вы можете назвать таблицу, содержащую информацию о клиентах, как Customer
, подразумевая, что каждая строка описывает отдельного клиента. Придерживайтесь всегда единого стиля наименования.
Пример:
CREATE TABLE Customer (
ID int, -- Уникальный идентификатор клиента
Name varchar(255) -- Имя клиента
);
Аргументы за использование имен в единственном числе
Таблица как набор сущностей
Таблица представляет собой коллекцию отдельных объектов. Например, каждая строка в таблице Ticket
или Movie
представляет уникальную сущность.
Читаемость и прозрачность
Имена в единственном числе, такие как Employee
или Product
, упрощают восприятие структуры данных. Благодаря этому становится понятнее, что каждая запись представляет данные по одному сотруднику или продукту.
Соблюдение корпоративных стандартов
Придерживаясь единых стандартов наименования в пределах организации, вы способствуете упрощению взаимодействия между коллегами и предотвращаете возникновение путаницы.
Визуализация
Возьмём в качестве примера книжную полку:
Книжная полка (База данных)
|
|__ Книга "Собака" (Единственное число) 📙: [Страница 1 (Лабрадор), Страница 2 (Бигль), ...]
|
|__ Книга "Собаки" (Множественное число) 📘: [Страница 1 (Лабрадор), Страница 2 (Бигль), ...]
Единственное число 📙 сосредоточивает внимание на каждой отдельной породе собаки в качестве уникальной сущности, в то время как множественное число 📘 создаёт образ полного каталога.
Сравнение единственного и множественного числа
Консистентность
Соблюдение единообразия в именовании таблиц в единственном числе облегчает процесс написания запросов, поддержку и масштабирование системы, делая работу разработчиков более предсказуемой.
Объектно-реляционное отображение
В ORM обычно классы обозначают единственным числом, а таблицы — множественным. Однако если использовать единственное число и для таблиц, и для классов, то отображение становится более интуитивно понятным.
Подготовка к изменениям
Таблицы, именованные в единственном числе, обычно более непротиворечивы при расширении проекта, что упрощает адаптацию к будущим изменениям.
Как выбрать подходящее имя
Последовательность
Важно использовать имена таблиц последовательно — это помогает преодолевать путаницу и уменьшает возможность ошибок в будущем.
Отражение содержания
Название должно точно отражать содержимое хранимых данных. Более специфичные имена, такие как AuditTrail
, предпочтительнее неоднозначных Audits
или Auditing
.
Готовность к изменениям
Независимо от выбранной формы числа для наименования, следуйте единому стандарту. Не забывайте адаптировать имена под используемые фреймворки и инструменты.
Учёт связей
Для связующих таблиц отношения "многие ко многим", например, между Course
и Student
, рекомендуется использовать имя в единственном числе CourseStudent
, ясно указывающее на характер связи.
Полезные материалы
- Руководство по стилю SQL от Саймона Холивелла — детальное руководство по стилю написания SQL-кода.
- Обсуждение стратегий наименования в SQL на Stack Overflow — примеры опыта и рекомендаций от IT-сообщества.
- Стандарты программирования SQL от Джо Селко — полезные советы от опытного специалиста SQL.
- Описание объектов схемы в документации Oracle — подробная информация о базах данных и правилах наименования сущностей.
- Конвенции Active Record в Ruby on Rails — особенности наименования таблиц в среде разработки Rails.