Рекомендации к наименованию объектов базы знаний и объектам БД

Рекомендации к наименованию объектов базы знаний платформы ШЕРП приводятся на примере сущности "Счет" в базе данных Accounting (информационная система «Взаиморасчеты»). Для нее создаются следующие объекты:

  1. Таблица dbo.Bill  - наименование сущности на английском языке в единственном числе).
  2. Представление dbo.Bill_List - к наименованию сущности добавилось слово _List).
  3. Процедуры:
  • dbo.Bill_Insert - добавление)
  • dbo.Bill_Update - редактирование)
  • dbo.Bill_Delete - удаление)
  • dbo.Bill_Modify - добавление и редактирование)

 

  1. Далее импортируем представление dbo.Bill_List, как объект БД в ШЕРП. Т.е. сущность будет формироваться на основе представления.
  2. Сущность Взаиморасчеты. Счет - к наименованию сущности добавляется наименование информационной системы (ИС). После точки пробел. Если наименование ИС длинное, например, «Оперативный учет имущества», то пишут сокращенно - ОУИ. Счет
  3. Датаблоки обычно называем также, как называются объекты в базах данных. В начале пишем наименование БД, после точки ставим пробел:
  • Accounting. Bill_List  - основной датаблок
  • Accounting. Bill_Init - датаблок инициализации
  • и т.д.

Если объект базы данных имеет схему, отличную от dbo, то название схемы можно указать после наименования датаблока в скобочках, например: Accounting. Contract_List (share) – датаблок для представления share.Contract_List в базе Accounting.

  1. Файндер, браузер и вьювер:
  • Accounting. Bill_Finder
  • Accounting. Bill_Browser (Меню браузера: Accounting. Bill_BrowserMenu)
  • Accounting. Bill_Viewer (Главный фрейм: Accounting. Bill_Header, меню: Accounting. Bill_ViewerMenu, общий фрейм: Accounting. Bill_Common)

 

  1. Команды пользователя:
  • Взаиморасчеты. Добавить счет
  • Взаиморасчеты. Редактировать счет или Взаиморасчеты. Изменить счет
  • Взаиморасчеты. Удалить счет
  • Взаиморасчеты. Поиск счетов (открыть файндер)
  • Взаиморасчеты. Открыть карточку счета (открыть вьювер)

 

  1. Для файндер-браузера для поиска счетов создаются отдельные файндер и браузер, которые называются одинаково: Accounting. Bill_FinderBrowser.
  2. Браузер-селер: Accounting. Bill_BrowserSeler.
  3. Селер: Accounting. Bill_Seler.
  4. Вешаем еще один фрейм на вьювер, который будет показывать информацию по договору. Название такого фрейма будет такое: Accounting. Contract_Frame_Bill. Наименование фрейма состоит из наименования сущности, затем наименование объекта (Frame, Browser, Form и т.д.), дальше идет наименование сущности вьювера. Обратите внимание, что наименование самого объекта является произвольным, но придерживайтесь логичных имен, например: Browser, Form, Frame, Sheduler, Report.

Если процедур на редактирование несколько, например, кроме основной dbo.Bill_Update нужно создать отдельную процедуру на редактирование договора счета, то можно её назвать dbo.Bill_ContractUpdate. Команда пользователя будет называться: Взаиморасчеты. Изменить договор счета.

Рекомендации к объектам базы данных.

  1. Не используйте специальные символы: &, #, @
  2. Если необходимо выделить части имени используйте чередование строчных и прописных символов. В наименовании столбцов и таблиц не указывайте символ нижнего подчеркивания вообще.

Пример:

  • Browser_сolumn - неправильно
  • BrowserСolumn - правильно

В процедурах и представлениях допускается символ нижнего подчеркивания, для разделения наименования сущности от действия. Например: dbo.ContractType_Modify, dbo.ContractType_List.

  1. Не используйте в именах транслитерацию русских слов.

Пример:

  • Usluga - неправильно
  • Service - правильно

 

  1. Не смешивайте в имени русские и английские слова.

Пример:

  • UslugaName - неправильно
  • ServiceName - правильно

 

  1. Не используйте сокращения. Не пытайтесь сократить длину наименования.

Пример:

  • Fd - неправильно
  • FinishDate - правильно

 

  1. Не используйте для обозначения типа объектов префиксы. Это затрудняет чтение, поиск объектов, а также возможные замены типов объектов. Например, представление решили заменить на таблицу (и наоборот).

Пример:

  • Таблица tAbonent, gредставление vAbonent, VIEW_Abonent  - неправильно
  • Таблица Abonent, Abonent_List - правильно

 

  1. Поле, уникального идентификатора таблицы называйте ID<ИмяТаблицы>. Никогда не называйте просто ID.

Пример:

  • ID - неправильно
  • IDAbonent - правильно

 

  1. Называйте одинаково поля, имеющие одну природу из разных таблиц. Особенно это касается первичного и внешнего ключа.

Пример:

  • ID в таблице Abonent, IDAbonent в таблице AbonentDetail - неправильно
  • IDAbonent в таблице Abonent, IDAbonent в таблице AbonentDetail - правильно

 

  1. Называйте хранимые процедуры как <Существительное><Глагол>/<Сущность><Действие>. В этом случае все объекты относящиеся к одной сущности, будут идти подряд в алфавитном списке.

Пример:

  • Abonent_Add
  • Abonent_Delete
  • Abonent_Rename
  1. Не используйте зарезервированные слова в наименованиях.

Пример:

  • [From] - неправильно
  • AddressFrom - правильно

 

  1. Называйте таблицы, выполняющие роль связи M:N между сущностями, как <Сущность1Сущность2>.

Пример:

  • Связь между таблицами User и Role - UserRole

 

  1. Не используйте типы FLOAT и REAL для хранения данных с плавающей точкой. Используйте вместо них типы без ошибки округления MONEY, SMALLMONEY и DECIMAL.
  2. Помещайте поле с первичным ключом в начало описания таблицы.
  3. Всегда заполняйте Description в поле!
  4. Устанавливайте SET NOCOUNT ON. При установке OFF после каждого оператора сервер посылает клиенту сообщение DONE_IN_PROC с количеством обработанных записей. Запретив это, вы кардинально сократите сетевой трафик и существенно увеличите производительность.
  5. При динамическом формировании текста запроса не подставляйте параметры в текст, а используйте хранимую процедуру sp_executesql.
  6. Всегда комментируйте ваш код.
  7. Зарезервированные слова пишите прописными буквами.

Сравните:

Select a,b,c from browser where idbrowser=1

       и

SELECT a, b, c FROM Browser WHERE IDBrowser = 1

  1. Разделяйте операторы языка пробелами

Пример:

  • a,b,c,d; a=1 and b=2  - неправильно
  • a, b, c, d; a = 1 and b = 2 - правильно

 

  1. Используйте вертикальное выравнивание и отступы

Сравните:

Select a,b,c from browser where idbrowser=1

Update t set a=1,b=2,c=3 where id=2 and name=’qwe’

       и

SELECT

a,

b,

c

FROM Browser

WHERE

IDBrowser = 1

 

UPDATE t SET

a = 1,

b = 2,

c = 3

WHERE

Id = 1 AND

Name = ‘qwe’

  1. Вставляйте пустые строки в качестве вертикального разделителя.
  2. Никогда не пишите несколько операторов на одной строке, разделяя точкой с запятой.
  3. Никогда не пишите * в списке полей команды SELECT. Всегда перечисляйте имена полей.
  4. В процедурах типа Modify, где используется вставка и удаление данных, используется параметр Action, который принимает значения: 1 – вставка, 2 – изменение. Никогда не используйте процедуру для удаления с параметром Action равным 3. Для удаления записи всегда делайте отдельную процедуру. Сам параметр всегда называйте Action, а тип его – int.
  5. Если для актуальности записей в таблице используется столбец IdRecStatus, то используются следующие значения: 0 – запись актуальна, -1 – запись удалена. Тип параметра – int.
  6. Часто бывает, что нужно создать поля, в которых записывается информация о времени создания, изменения и кто автор изменения. Рекомендуется такие поля называть так: CreateDate (Дата создания), CreateUser (Кто создал), ChangeDate (Дата изменения), ChangeUser (Кто изменил). Для определения текущего времени используйте функцию – GETDATE().
  7. Для построения представлений (VIEW) никогда не используйте дизайнер, пишите код руками, генерируйте выборки с помощью Management Studio, SqlGen или непосредственно платформы ШЕРП (тоже может генерировать различный код с помощью SQL редактора). После дизайнера остается нечитабельный ужасный код, который превращает развитие системы другими разработчиками в весьма трудозатратный процесс.

 

 

 

Рекомендации разработчику
Подписаться

Новые статьи

Запуск цикла корпоративных тематических семинаров по технологическому развитию и внедрению новых разработок в проектную практику Команды Шерп Запуск Образовательного портала «Шерп. Обучение» Включение в реестр отечественного ПО Технологической платформы «Шерп 3.0» Создание HTML-форм в Платформе ШЕРП Создание HTML-форм в Платформе ШЕРП c помощью конструктора форм Web-версии Платформы Настройка элемента диалога с типом редактора KBEditPopUp Возможности редактора полей типа «LookUpEdit» Создание внешнего ключа (Foreign Key) с помощью SQL-редактора в Платформе "ШЕРП" Как создать таблицу в базе данных Проверка работоспособности Платформы ШЕРП

0 комментариев

Чтобы оставить комментарий, пожалуйста, авторизируйтесь или зарегистрируйтесь

Обязательное поле