понедельник, 28 апреля 2008 г.
Организация объектов в БД средствами Sql Server
Когда проект БД разрастается и начинает содержать большое количество объектов (таблиц, функций, хранимых процедур) упорядоченное управление этими объектам играет большую роль.
Не раз приходится видеть проекты, в которых база данных, со временим, превратилась в свалку объектов. Некоторые из них дублируют друг друга, не вообще не используются.С целью упорядочить объекты разработчики добавляют к названиям префиксы. Эти префиксы позволяют группировать элементы по заданному признаку, чаще всего этим признаком становится тип операции, для выполнения которой предназначена функция или хранимая процедура.
Все пользовательские объекты в БД можно условно разделить на неспециализированные и специализированные.
Специализированные объекты обеспечивают работу сущностей БД реализующих бизнес-логику системы, её обособленные компоненты, модули (например, функции и хранимые процедуры используемые в модуле планирования продаж).
Неспециализированные объекты используются во всей системе (например преобразование строки с разделителями в таблицу)
Рассмотрим, какие существуют способы организации исходных текстов в БД, отличающиеся от добавления префиксов.В MSSQL Management Studio есть возможность создавать проекты и хранить там подключения к БД и коды скриптов (File -> New -> Project или (Ctrl + Shift + N)).К сожалению там нельзя создавать иерархию папок для скриптов, но можно сделать Solution содержащий несколько проектов. Это позволяет, к примеру, создать свой проект для каждого модуля проекта. Кроме того, этот вариант предусматривает предусматривает взаимодействие с Source Safe и хранение исходников там, что удобно в случае коллективной разработки или сопровождения системы.
Другим способом структурирования объектов БД является использование схем (SCHEMA). Они изначально предназначены для формирования пространств имён (namespaces) в БД. Однако, схемы имеют более обширный спектр возможностей, связанный с управлением правами доступа к объектам схемы. Организация объектов при помощи схем применим скорее к достаточно большим системам и должен быть заложен в проект ещё на этапе проектирования.
Если мы уже имеем большое количество объектов сопровождаемого разными разработчиками, распределить его по схемам будет проблематично, поскольку придётся дописывать название схемы во всех местах, где упоминается объект.
Подписаться на:
Комментарии к сообщению (Atom)
Комментариев нет:
Отправить комментарий