Объекты баз данных
Именование таблиц должно подчиняться следующим правилам:
Имена таблиц не имеющие родительской таблицы == «Составное строчное имя» отражающее содержимое таблицы.
Пример:
Имена дочерних таблиц == имя родительской таблицы + имя дочерней таблицы, разделенные символом подчеркивания. Под «дочерней» понимается такая таблица, из которой, при удалении записи в родительской таблице, удаляются все записи имеющие ссылку на удаляемую запись в родительской таблице.
Пример:
Имена дочерних таблиц, имеющих строчную часть, но не имеющих собственного имени, формируются из имени родительской таблицы + постфикс “_row”.
Пример:
Именование полей таблицы должно подчиняться следующим правилам:
Пример:
Перечень имен полей для обязательного использования, при совпадении назначения полей в таблице.
Перечень зарезервированных имен.
Любая таблица должна иметь первичный ключ — автоинкрементное поле с именем «id».
Дочерняя таблица должна иметь поле с именем owner_id, внешним ключом (с ограничением целостности «On Delete = Cascade») должна быть связана с родительской таблицей (с полем id).
Именование индексов таблицы должно подчиняться следующим правилам: «Имя индекса» == «Префик индекса» + «_» + наименование таблицы + «$» + пречисление имен полей таблицы, участвующих в построении индекса, разделенных символом “$”. «Префик индекса» может принимать одно из следующих значений: • in == обычный индекс; • iu == уникальный индекс. Пример: • iu_credit_penalty$owner_id$doc_num (уникальный индекс в таблице «credit_penalty» по полям «owner_id» + «doc_num»)
Именование ограничения целостности таблицы должно подчиняться следующим правилам: «Ограничение целостности» == «Префикс ограничения целостности» + «_» + наименование таблицы + «$» + пречисление имен полей таблицы, участвующих в построении индекса, разделенных символом “$”. «Префикс ограничения целостности» может принимать одно из следующих значений: • pk == PRIMARY KEY • fk == FOREIGN KEY • ck == CHECK • uk == UNIQUE • dk == DEFAULT
Именование триггера таблицы должно подчиняться следующим правилам: «Имя триггера» == “t” + «Префикс типа триггера» + «_» + наименование таблицы. «Префикс типа триггера» может иметь длину от двух до четырех символов: - Первый символ префикса описывает время срабатывания триггера и может принимать одно из следующих значений: • a == «after» триггер, срабатывает после обработки SQL-сервером события; • b == «before» триггер, срабатывает перед обработкой SQL-сервером события; • i == «instead of» триггер, заменяет собой действия SQL-сервера по обработке события. - Второй и (для комбинированного триггера) последующие символы — это комбинация в алфавитном порядке следующих символов: - d == «delete» триггер; - i == «insert» триггер; - u == «update» триггер. Рекомендации: - Выносить избыточную логику из триггеров в хранимые процедуры. - Не формировать каскады триггеров, подписанных на одно событие. - Не формировать триггера, функционально аналогичные ограничениям целостности. Пример: • tai_client («after-insert» триггер по таблице «client»); • tbu_client («before-update» триггер по таблице «client»); • tadiu_client («after-delete, insert, update» триггер по таблице «client»)
Именование функции должно подчиняться следующим правилам: • Get + «Составное имя» + Table — для функций, возвращающих таблицы; • Is + «Составное имя» — для функций, возвращающих 1 или 0; • Get + «Составное имя» — для функций, возвращающих значения остальных типов. Имя функции должно отражать назначение функции. Пример: • GetClientCreditSum() (Сумма кредита по корреспонденту); • IsClientAccountValid() (Проверка счета клиента на закрытие); • GetConfirmedEstimTable() (Таблица ID утвержденных смет);
Именам хранимых процедур должен предшествовать префикс «gsp_» строчными буквами + «Составное имя», отражающее назначение процедуры. Пример: gsp_CreditRowsSetDocStatus.
Именам представлений должен предшествовать префикс «v_» строчными буквами + «Составное строчное имя», отражающее назначение представления. Пример: • v_sys_object (представление всех системных объектов); • v_used_macro (представление используемых Макро).
Имя переменной языка “Transact SQL” == «Имя переменной», где «Типизированный префикс» имеет следующие значения: • @vc == varchar • @ch == char • @i == int, tinyint • @dt == datetime, smalldatetime • @f == float • @m == money • @cur == cursor • @tbl == table
© AIKernel 2007-2011
12.03.2007 - 30.04.2011