Общие соглашения об именовании объектов базы данных

  1. Наименование объекта БД должно содержать слова на английском языке (на транслите, по возможности без сокращений), разделенные символом «_»;
  2. Русские буквы и другие символы, которые SQL Server запрещает применять в наименованиях объектов без экранирования – запрещены;
  3. Наименования объектов, совпадающие с зарезервированными словами SQL, запрещены;

Шаблон именования Таблиц/Представлений/функций:

SC.PP_ST_NAME
SC.PP_PP_ST_NAME

SC — схема, dbo или core

PP — префикс, их может быть несколько, core.ui_rpt_sd_users

S — раздел;

T — тип объекта;

NAME — наименование объекта, кратко отражающее его суть или назначение. Для таблиц требуется указывать имена в множественном числе (sd_users, cd_logs);

схемы БД

coreядро системы
dboDatabase owner — стандартная схема

Префиксы для таблиц/представлений/функций:

ПрефиксНазначение
RPTReports — отчетные
EXPExport — таблицы периодического экспорта данных
IMPImport — таблицы периодического импорта данных
BUFBuffers — буферные
UIUser Interface — функции используемые в клиентских приложениях
MUIMobile User Interface — функция используемся для мобильных устройств.

Сокращения обозначения типа объекта (Представление/функция):

СимволНазначение
VПредставление
FФункция
TRТриггер
FSСкалярная функция

Сокращенные обозначения вида таблиц:

СимволНазначение
DДанные
SСправочники

Разделы для таблиц/представления/функций:

СимволНазначение
AAnalytics — аналитика, AD_Telemetry
CCommon — общие назначения, CD_Settings
DDocuments — документы, (DD_Tasks)
EElectric, (ED_Network_Items)
PPermissions — безопасность, (PD_Users)
SSystem — системная, (SD_Divisions)
XeXtended — универсальные справочники

Соглашение об именование столбцов

<Префикс>_<Наименование>

Префикс состоит из одной или двух букв и обозначает тип данных (реже назначение столбца):

СимволНазначение
Bтип данных boolean (b_main)
BAтип данных bytea (ba_data)
Cстроковый тип данных text (c_name)
Dдата (d_date)
Fпризнак внешнего ключа (f_user)
FNпризнак внешнего ключа без обязательного наличия записи в связанной таблице (fn_user)
Nчисловой тип данных (n_count)
Sсистемное назначение (s_salt, s_hash, sn_delete)
JBтип данных JSON (jb_params)
Xвычисляемое поле

Наименование столбцов соответствует общим правилам именования объектов.

Часто используемые имена столбцов таблиц БД и их назначение.

Наименование столбцаНазначение
idИдентификатор, первичный ключ. В большинстве случаев генерируется автоматически.
object_idИдентификатор, в одной таблице может встречаться несколько раз.
f_userСсылка на пользователя
d_dateДата создания, дата возникновения события
b_disabledОтключение записи. Запись становиться не активной, но доступна для просмотра.
sn_deleteСистемное поле для указания, что запись была удалена пользователем и для просмотра, которой требуются соответствующие права.
c_constКонстанта. Уникальное текстовое значение для идентификации записи справочника. Это значение запрещено изменять
n_code, c_codeКод, выводимый для пользователя. Часто является естественным ключом. Как правило, по нему сортируются записи строки в списках
c_nameНаименование
c_short_nameСокращенное наименование
b_currentПризнак основного элемента. Записи со значением false являются архивными. Данный признак является вычисляемым. Установка значения true производится на основе даты d_date.
b_checkПроверено, данный признак проставляется после проверки информации диспетчером или автоматически если пользователь является доверенным.
gx_geodataВычисляется при создание записи. Используются n_longitude и n_latitude см. “Координаты в базе данных PostgreSQL“;
jb_dataПредназначена для хранения JSON данных

Правило назначения версий

Для определения новой версии приложения предлагается следующий алгоритм:

  • Версия приложения должна состоять из 3 или 4 групп чисел.
  • Первая группа — номер версии приложения (архитектура).
  • Вторая группа — количество дней пройденных с даты начала разработки.
  • Третья группа — статус приложения:
    • 0 — альфа — прототип
    • 1 — бета — отправлен в тестирование
    • 2 — выпуск-кандидат — передан на тестирование заказчику
    • 3 — публичный выпуск — окончательно передан заказчику
  • Четвертая группа — количество минут от текущей даты.

Из-за особенности npm создание группы из четырех чисел не представляется возможным, предлагается применять группу из 3 чисел, где третья группа будет отсутствовать (информация о статусе приложения).

Пример:

1.2.0.48 – Версия 1.2 — прототип от 18.12.2019, 00:48:00

1.2.3.56 — Версия 1.2 — публичная версия от 18.12.2019, 00:56:00.