18 лучших практик создания простых и последовательных имен

Независимо от того, какой вы разработчик, время от времени мы сталкиваемся с API, который возвращает данные таким образом, что нам не нужно тратить много времени на их понимание. Но получение такого чистого и последовательного результата требует времени, усилий и опыта. Поговорим говорить коротко и по существу.
Терминология
Таблица: это набор данных
Первичный ключ: Это уникальный идентификатор таблицы
Атрибут: означает свойство ваших данных. Например, name.user
Тип данных: Типы данных представляют различные типы ваших данных. Например-string, int, timestamp и т. Д.
1. Слова должны быть разделены подчеркиванием
Если ваше имя атрибута содержит более 1 слова, отделите его snake_case. Не используйте camelCase или любой другой случай для согласованности.
Плохо
wordcount или WordCountХорошо
word_countПричина
Улучшает читабельность
Имена могут стать более независимыми от платформы
2. Типы данных не должны быть именами
Никогда не используйте типы данных в качестве имени столбца. Это происходит в основном для параметров метки времени. Дайте ему осмысленное имя.
Плохо
timestamp or textХорошо
created_at or descriptionПричина
Использование типов данных может создать путаницу в конце приложения.
Предоставление собственного имени дает больше контекста для использования параметра.
3. Имена атрибутов должны быть строчными
Не используйте имена в верхнем регистре для своих атрибутов.
Плохо
DescriptionХорошо
descriptionПричина
Позволяет избежать путаницы с ключевыми словами SQL в верхнем регистре
Это может улучшить скорость набора текста
4. Напишите полные слова
Не пытайтесь сократить имена столбцов ради пространства или любой другой логики. Старайтесь быть как можно более понятными.
Плохо
mid_nameХорошо
middle_nameПричина
Это правило способствует самодокументированному дизайну
5. Но используйте общие сокращения
Исключение из правила-4-это когда у вас есть широко распространенная аббревиатура. В таких ситуациях выбирайте короткий.
Хорошо
i18nНо если вы окажет��сь в замешательстве, перейдите к полному имени. Это инвестиции, которые вы делаете на будущее.
6. Избегайте наличия чисел в имени столбца
Верьте или нет, я видел это достаточно. Никогда не используйте числа в имени столбца.
Плохо
address1 , address2Хорошо
primary_address, secondary_addressПричина
Это признак очень плохой нормализации. Старайтесь избегать этого.
7. Используйте короткие имена таблиц
Будьте очень осторожны при именовании таблиц, потому что длинные имена таблиц могут оказать плохое влияние в будущем.
Плохо
site_detailХорошо
siteПричина
Короткие имена таблиц помогут вам при создании реляционных столбцов и связывающих таблиц.
8. Ищите зарезервированные слова
В каждой базе данных есть несколько зарезервированных слов. Определите их и избегайте.
Плохо
user lock table etcСписок зарезервированных слов для некоторых популярных баз данных
9. Сингулярные имена для таблиц
Всегда старайтесь использовать имена для таблиц в единственном числе. Это спорный вопрос, и у разных людей разные мнения. Но придерживайтесь одного.
Плохо
users and ordersХорошо
user and orderПричина
Это способствует согласованности с первичными ключами и таблицами подстановки
Плюрализация иногда может быть сложной. Таким образом, наличие особых имен таблиц может упростить программирование.
10. Таблицы ссылок должны иметь алфавитный порядок
При создании таблицы соединений объедините имена двух таблиц в алфавитном порядке.
Плохо
book_authorХорошо
author_book11. Имена столбцов в единственном числе
Обычно это лучший способ, если вы не нарушаете правила нормализации данных.
Плохо
booksХорошо
book12. Имя первичного ключа
Если это один столбец, то он должен быть назван как id
CREATE TABLE order (
id bigint PRIMARY KEY,
order_date date NOT NULL
);13. Имя внешнего ключа
Это должно быть имя другой таблицы и упомянутого поля. Например, если вы ссылаетесь на person внутри вашего team_member таблица, то вы можете сделать это так.
CREATE TABLE team_member (
person_id bigint NOT NULL REFERENCES person(id),
);14. Не указывайте в конце имен столбцов типы хранимых в них данных
Нет смысла суффиксировать имена столбцов типами данных. Избегайте этого.
Плохо
name_txХорошо
name15. Индексы должны иметь как имя таблицы, так и столбца
Если вы создаете индекс, за именем таблицы следуют имена столбцов, на которые вы ссылаетесь
CREATE TABLE person (
id bigserial PRIMARY KEY,
first_name text NOT NULL,
last_name text NOT NULL,
);
CREATE INDEX person_ix_first_name_last_name ON person (first_name, last_name);16. Имена столбцов типа даты
Суффикс ваших имен столбцов типа даты с _on или _date.
Например, если у вас есть столбец для хранения обновленной даты, делайте так,
Хорошо
updated_on или updated_date17. Имена столбцов типа даты и времени
Если у вашего имени столбца есть время, то суффикс их с _at или _time.
Например, если вы хотите сохранить время заказа, то
Плохо
orderedХорошо
ordered_at or order_time18. Имена столбцов логического типа
Если у вас есть имена столбцов логического типа, то префикс их is_ или has_.
Хорошо
is_admin или has_membershipЗаключение
Если вы уже работаете над проектом, придерживайтесь соглашения, которому уже следует проект. Потому что
Единственное, что хуже плохого соглашения, - это несколько соглашений
Разрабатывая базу данных с нуля, имея в виду эти правила, вы заложите крепкий фундамент на будущее.
Каковы ваши мысли? Есть ли правило, с которым вы не согласны? Я более чем рад продуктивному разговору в комментариях!
Хорошего дня!
