Сегодня 21 июля, понедельник ГлавнаяНовостиО проектеЛичный кабинетПомощьКонтакты Сделать стартовойКарта сайтаНаписать администрации
Поиск по сайту
 
Ваше мнение
Какой рейтинг вас больше интересует?
 
 
 
 
 
Проголосовало: 7281
Кнопка
BlogRider.ru - Каталог блогов Рунета
получить код
coding4.net
coding4.net
Голосов: 1
Адрес блога: http://www.coding4.net/
Добавлен: 2012-06-11 20:16:46
 

Об одном из стандартов именования таблиц, представлений, хранимых процедур...

2012-10-22 01:42:00 (читать в оригинале)


В этом посте я напишу о стандарте именования таблиц, вьюх, хранимых процедур и функций. Возможно позже я напишу посты о том как реализовать некоторые общеупотребительные конструкции в БД и это описание поможет в них разобраться. Сразу проясню некоторые понятия, которые там используются. Префиксы (tbl) нужны для того, чтобы в коде TSQL или LINQ запросов (использующих какой-нибудь ОРМ) было хорошо видно, с чем вы в данный момент работаете. Группа данных - это набор таблиц, относящийся к одной подсистеме во всем проекте, с точки зрения бизнеса, а не реализации. Причем эта подсистема/данные имеют некую смысловую и реализационную автономность, и могут быть использованы в других проектах. Например, Vehicle, Person, Contacts, Documents. Одни группы данных могут использоваться другими, мене переносимыми, и как правило это происходит уже на уровне БЛ. Так что на уровне БД они лежат относительно автономно все на одном уровне. То есть на уровне БЛ это дерево подсистем, на уровне данных это группы данных с соответствующими вьюхами, хранимками и функциями. Если пытаться объединять их на уровне данных, то получатся неподъемные вьюхи и запросы, что вредно скажется на производительности.


ФОРМАТ НАЗВАНИЯ ТАБЛИЦЫ: tbl, Имя Группы Данных, ТИП, Имя сущности
ТИП обозначает тип таблицы или сущности, которая в ней находится. ТИПы могут быть следующими:

BOB - бизнес объект, относится к предметной области, например: кошелек, адрес доставки, акция, покупатель, продавец и т.п. Такие объекты обычно описаны в ТЗ.

BOP - бизнес операция, относится к предметной области, например: продажа, доставка, активация и т.п. Такие операции обычно описаны в ТЗ.

TOB - вспомогательный/системный объект не относится к предметной области, например: файл, ссылка, картинка.

TOP - вспомогательная/системная операция не относится к предметной области, например: обновление данный из внешней системы, запуск операции самовосстановления, запуск внешней задачи в ОС.

POF - часть чего -либо бизнес объекта, бизнес операции, вспомогательного объекта или вспом. операции. Обычно выделяется отдельно для экономии места (например, если эти поля есть только в 5% бизнес объектов) или для удобства восприятия/редактирования (например, при использовании кодогенерации). В случае если эти объекты используются в высоко нагружающих сложных запросах, то при большом их количестве (много JOIN-ов) это может приводить к потерям производительности. В таком случае их поля переносят в основные объекты, а таблицы такие удаляют. Такая система будет более производительна, но ее сложнее поддерживать.

DIC - словарь (набор строк, возможно с комментариями и именами файлов иконок). Словари встречаются очень часто. Словари для многоязыковых приложений могут иметь свою специфику. В одном из последующих постов я постараюсь рассмотреть разные модели реализации словарей, их плюсы и минусы. Такое именование таблиц словарей подходит для случая, когда каждый набор строк лежит в своей таблице по смыслу.

M2M - связь многие ко многим между двумя таблицами

M3M - связь многие ко многим между тремя таблицами, возможно связей может быть и больше но на практике в большинстве своем это связь между двумя и между тремя сущностными.

Например: tblVehicleDICColor, tblKladrTOBRegion, tblCardBOPOperation, tblCardBOBCard


ФОРМАТ НАЗВАНИЯ ВЬЮХИ: vw потом перечисление имен связанных сущностей. Указывать типы сущностей или группы данных нет смысла, так как вьюхи при определенных условиях могут проходить сквозь границы групп данных. В любом случае первым названием сущности должно быть название корневой сущности для вьюхи.

Например: vwCountryRegion, vwCountryRegionSettlement, vwCountryRegionSettlementStreet


ФОРМАТ НАЗВАНИЯ ХРАНИМОЙ ПРОЦЕДУРЫ/ФУНКЦИИ: формат зависит от количества процедур/функций в системе. Если их немного, то достаточно префикса (prc/fun) и названия описывающего, что процедура делает. Но если их больше 20-30-ти, то лучше после префикса (передназванием) указывать имя группы данных/подсистемы.


Исходники создания как таблиц, так и вьюх оформляются следующим образом: до команды создания помещается общее описание, того за что отвечает сущность и с чем она связана, после описания каждого из полей помещается комментарий его описывающий.


Тэги: tsql

 


Самый-самый блог
Блогер ЖЖ все стерпит
ЖЖ все стерпит
по сумме баллов (758) в категории «Истории»


Загрузка...Загрузка...
BlogRider.ru не имеет отношения к публикуемым в записях блогов материалам. Все записи
взяты из открытых общедоступных источников и являются собственностью их авторов.