Соглашения по 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

Это снижение стоимости владения

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

Это быстрое внесение изменений

по ходу эксплуатации программы. Как создается функционал на платформе

Это простой удобный интерфейс

адаптация под мобильные устройства. Про юзабилити платформы

Нужна бесплатная консультация?
Получить оценку проекта
Создайте концепцию проекта на основе нашего шаблона и получите оценку проекта в виде КП.
Демо-сайт решений
Базисные решения, которые можно гибко адаптировать под себя: менять внешний вид, бизнес-логику и даже структуру базы данных.