Соглашения по SQL коду в платформе

В данном документе опишем основные подходы к написанию кода SQL и именованию объектов в рамках платформы Falcon Space

Таблицы и поля

Именование таблиц 

Формат названия таблицы: {подсистема}_{сущность во множественном числе}

Например, ord_carts. 

Если есть связующая таблица для отношения много ко многим, то ставим подчиненный объект во множественном числе, а основной - в единственном, например st_studentCourses (т.е. у студента есть такие-то курсы). 

Именование полей

Каждая таблица имеет первичный ключ id int identity(1,1). 

Внешние ключи именуются как {name}ID, например, productID - внешний ключ на таблицу товаров. 

Для поля не указываем префикс названия таблицы (не нужно писать productName, productPrice и т.д.)

Типовые названия полей 

  • code - код 
  • name - название
  • color - цвет
  • statusID - ссылка на таблицу статусов
  • ord - поле для сортировки
  • created, createdBy - когда и кто создал запись

Даты называем в таком виде created, deleted, updated

Булевы поля желательно с приставкой is - isDisabled, isVisible

Для названия полей используем lowerCamelCase , например, actionPrice. 

Работа с хранимыми процедурами

Именование процедур

Именование типовых процедур платформы - {подсистема}_{код}_{действие}. 

К примеру, для компонента таблицы это crud_pages_getItems (извлечение таблицы pages)

Для формы - fm_newPage_saveItem (сохранение для формы newPage). 

Стандартные процедуры платформы строятся по шаблону. Очень желательно придерживаться шаблона, не меняя кардинально его код (так можно избежать ошибок с порядком SELECT в процедурах). 

Правила оформления кода в процедуре или функции

Пишем if не в одну строку, а также используем begin end и скобки для условия.  Пример 

if(a=200) begin 
    ...
end 

Обязательны отступы при написании SELECT, подзапросов. 

У выходных SELECT обязательно ставить комментарий вида SELECT N для явного указания, что это SELECT является управляющим. 

Именование переменных в процедуре - смысловое, на английском языке, до 20 символов. 

Более подробно про стили кода и частые ошибки по коду - https://falconspace.ru/docs/kak-uluchshit-svoy-kod---zametki-po-revizii-koda

Индексы 

Некластеризованные индексы имеют формат именования ind_{table}_{cols}

Пример: ind_pages_code

Falcon Space - функциональная веб-платформа разработки на узком стеке MS SQL/Bootstrap. Вводная по Falcon Space
Насколько полезной была статья?

Google поиск по нашей документации

Выгода от использования Falcon Space

В 2-3 раза экономнее и быстрее, чем заказная разработка
Более гибкая, чем коробочные решения и облачные сервисы
Используйте готовые решения и изменяйте под свои потребности
Нужна бесплатная консультация?
Планируете делать веб-проект?
Сайт использует Cookie. Правила конфиденциальности OK