Пошаговое руководство. Разбиение на части проекта базы данных с помощью составных проектов
Использование составных проектов позволяет оптимизировать управление большими базами данных путем разбиения их на части, образующие набор зависимых проектов базы данных, которые развертываются вместе. В данном пошаговом руководстве рассмотрены следующие задачи:
создание проекта базы данных, в котором определяется схема базы данных;
создание другого проекта базы данных, в котором определяются таблицы для определенной схемы;
создание третьего проекта базы данных, в котором определяются хранимые процедуры для определенной схемы;
настройка, построение и развертывание третьего проекта вместе с его зависимостями.
Обязательные компоненты
Предварительно нужно установить Visual Studio и получить доступ к серверу, на котором выполняется SQL Server.
Создание проекта базы данных для схемы
Создание проекта базы данных-источника
В меню Файл последовательно выберите команды Создать и Проект.
Откроется диалоговое окно Новый проект.
В области Установленные шаблоны разверните узел База данных и щелкните SQL Server.
Примечание
Если вы используете Visual Studio Professional, зайдите в Установленные шаблоны, последовательно раскройте узлы База данных и SQL Server и щелкните Дополнительно.
В списке шаблонов выберите Проект базы данных SQL Server 2008.
Примечание
Если версия SQL Server целевой базы данных отличается от данной, можно выбрать тип проекта, соответствующий используемой версии.
В поле Имя введите Мой_проект_схемы.
В поле Расположение введите или найдите путь, по которому нужно создать проект базы данных.
В поле Имя решения введите Мое_составное_решение и нажмите кнопку ОК.
В обозревателе решений отобразится созданный проект. Далее необходимо определить в этом проекте схему.
Определение схемы
В меню Вид выберите команду Представление схемы базы данных.
Последовательно разверните узлы Мой_проект_схемы и Схемы, щелкните правой кнопкой мыши узел Схемы, подведите указатель к команде Добавить и выберите пункт Схема.
Откроется диалоговое окно Добавление нового элемента.
Выберите Схема в списке Шаблоны.
В поле Имя введите Person и нажмите кнопку Добавить.
В меню Файл выберите команду Сохранить все.
Следующий шаг — построение проекта.
Построение проекта схемы
В окне Обозреватель решений щелкните правой кнопкой мыши узел Мой_проект_схемы и выберите команду Построить.
Примечание
Для разрешения ссылок на определенную в этом проекте схему в последующих процедурах нужно выполнить построение этого проекта.
Далее следует создать проект для таблиц в схеме Person.
Создание проекта базы данных для таблиц
Создание проекта базы данных-источника
В меню Файл выберите команду Добавить, а затем — Создать проект.
Откроется диалоговое окно Новый проект.
В области Установленные шаблоны разверните узел База данных и щелкните SQL Server.
Примечание
Если вы используете Visual Studio Professional, зайдите в Установленные шаблоны, последовательно раскройте узлы База данных и SQL Server и щелкните Дополнительно.
В списке Шаблоны выберите Проект базы данных SQL Server 2008.
В поле Имя введите Мой_проект_таблиц.
Введите или укажите путь к месту, в котором нужно создать проект базы данных, в поле Расположение и нажмите кнопку ОК.
В обозревателе решений отобразится созданный проект.
Далее для определения таблиц в проекте таблиц необходимо добавить ссылку на проект схемы.
Добавление ссылки на проект схемы
В обозревателе решений разверните узел Мой_проект_таблиц, щелкните правой кнопкой мыши узел Ссылки и выберите команду Добавить ссылку на базу данных.
Откроется диалоговое окно Добавление ссылки на базу данных.
В поле Ссылка на базу данных убедитесь, что выбран параметр Проекты базы данных в текущем решении.
Примечание
Если в данном решении отсутствуют проекты, на которые необходимо ссылаться, выберите вместо этого параметра параметр Схема проекта базы данных (DBSCHEMA).Этот подход позволяет, например, избежать случайного изменения проекта схемы или таблиц другими участниками группы, разрабатывающими хранимые процедуры.
Выберите Мой_проект_схемы.
Важно!
Не указывайте переменные и значения сервера или переменные и значения базы данных при определении ссылок в составном проекте.Поскольку значения не заданы, предполагается, что проект, на который указывает ссылка, использует целевой сервер и базу данных совместно с текущим проектом.
Нажмите кнопку ОК.
Далее нужно создать две таблицы в новой схеме.
Определение таблиц в схеме Person
В меню Вид выберите команду Представление схемы базы данных.
На панели инструментов Представление схемы щелкните Внешние элементы.
Это необходимо сделать, поскольку схема Person определена в другом проекте.
В представлении схемы последовательно разверните узел Мой_проект_таблиц и Схемы, щелкните правой кнопкой мыши узел Person, выберите Добавить и щелкните Таблица.
Примечание
Чтобы сократить эту пошаговую процедуру, не обновляйте определения таблиц.
Откроется диалоговое окно Добавление нового элемента.
Выберите Таблица в списке Шаблоны.
В поле Имя введите Контакты.
Щелкните правой кнопкой мыши узел Person и выберите последовательно пункты Добавить и Таблица.
Откроется диалоговое окно Добавление нового элемента.
Выберите Таблица в списке Шаблоны.
В поле Имя введите Область.
Далее следует построить проект базы данных.
Построение проекта таблиц
В окне Обозреватель решений щелкните правой кнопкой мыши узел Мой_проект_таблиц и выберите команду Построить.
Далее следует создать третий проект базы данных для хранимых процедур.
Создание проекта базы данных для хранимых процедур
Создание проекта базы данных для хранимых процедур
В меню Файл выберите команду Добавить, а затем — Создать проект.
Откроется диалоговое окно Новый проект.
В области Установленные шаблоны разверните узел База данных и щелкните SQL Server.
Примечание
Если вы используете Visual Studio Professional, зайдите в Установленные шаблоны, последовательно раскройте узлы База данных и SQL Server и щелкните Дополнительно.
В списке Шаблоны выберите Проект базы данных SQL Server 2008.
В поле Имя введите Мой_проект_хранимых_процедур.
Введите или укажите путь к месту, в котором нужно создать проект базы данных, в поле Расположение и нажмите кнопку ОК.
В обозревателе решений отобразится созданный проект.
Далее следует изменить проект хранимых процедур так, чтобы он ссылался на проект схемы.
Добавление ссылки на проект схемы
В обозревателе решений разверните узел Мой_проект_хранимых_процедур, щелкните правой кнопкой мыши узел Ссылки и выберите команду Добавить ссылку на базу данных.
Откроется диалоговое окно Добавление ссылки на базу данных.
В поле Ссылка на базу данных убедитесь, что выбран параметр Проекты базы данных в текущем решении.
Выберите Мой_проект_схемы.
Важно!
Не указывайте переменные и значения сервера или переменные и значения базы данных при определении ссылок в составном проекте.Поскольку переменные не определены, все проекты, для которых добавлена ссылка, развертываются на одном целевом сервере и в одной базе данных.
Нажмите кнопку ОК.
Далее следует изменить проект хранимых процедур так, чтобы он ссылался на проект "Мой_проект_таблиц".
Добавление ссылки на проект таблиц.
В обозревателе решений щелкните правой кнопкой мыши узел Ссылки в узле "Мой_проект_хранимых_процедур" и выберите команду Добавить ссылку на базу данных.
Откроется диалоговое окно Добавление ссылки на базу данных.
В поле Ссылка на базу данных убедитесь, что выбран параметр Проекты базы данных в текущем решении.
Выберите Мой_проект_таблиц.
Важно!
Не указывайте переменные и значения сервера или переменные и значения базы данных при определении ссылок в составном проекте.Поскольку переменные не определены, все проекты, для которых добавлена ссылка, развертываются на одном целевом сервере и в одной базе данных.
Нажмите кнопку ОК.
Теперь создается хранимая процедура схемы.
Определение хранимых процедур, ссылающихся на таблицы в схеме "Лицо"
В меню Вид выберите команду Представление схемы базы данных.
На панели инструментов Представление схемы щелкните Внешние элементы.
Это необходимо сделать, поскольку схема Person определена в другом проекте.
В представлении схемы последовательно разверните узлы "Мой_проект_хранимых_процедур" и "Схемы", щелкните правой кнопкой мыши узел Лицо, выберите команду Добавить и пункт Хранимая процедура.
Откроется диалоговое окно Добавление нового элемента.
В поле Имя введите uspCountContacts и нажмите кнопку Добавить.
В проект будет добавлена хранимая процедура, которая отобразится в редакторе Transact-SQL.
В редакторе Transact-SQL обновите процедуру в соответствии со следующими кодом:
CREATE PROCEDURE [Person].[uspCountContacts] AS SELECT COUNT(*) FROM [Person].[Contacts]
В меню Файл выберите команду Сохранить все.
Далее следует настроить, построить и развернуть "Мой_проект_хранимых_процедур" и его зависимости.
Настройка, построение и развертывание базы данных
Настройка проекта "Мой_проект_схемы" для развертывания
В окне Обозреватель решений щелкните правой кнопкой мыши узел Мой_проект_схемы и выберите пункт Свойства.
На странице свойств перейдите на вкладку Развертывание.
В списке Действие развертывания щелкните Создать скрипт развертывания (SQL) и развернуть в базе данных.
Щелкните элемент Изменить рядом с пунктом Параметры конечной базы данных.
Задайте подключение к целевому серверу, на котором требуется развернуть этот проект базы данных, и нажмите кнопку ОК.
В поле Имя конечной базы данных введите Мой_проект_хранимых_процедур.
Важно!
Для всех трех проектов, которые образуют составной проект, необходимо указать одно и то же имя целевой базы данных, в противном случае выполнить развертывание не удастся.
В меню Файл выберите команду Сохранить все.
Далее следует настроить свойства проекта "Мой_проект_таблиц".
Настройка проекта "Мой_проект_таблиц" для развертывания
В окне Обозреватель решений щелкните правой кнопкой мыши узел Мой_проект_таблиц и выберите пункт Свойства.
На странице свойств перейдите на вкладку Развертывание.
В списке Действие развертывания щелкните Создать скрипт развертывания (SQL) и развернуть в базе данных.
Щелкните элемент Изменить рядом с пунктом Параметры конечной базы данных.
Задайте подключение к целевому серверу, на котором требуется развернуть этот проект базы данных, и нажмите кнопку ОК.
В поле Имя конечной базы данных введите Мой_проект_хранимых_процедур.
Важно!
Для всех трех проектов, которые образуют составной проект, необходимо указать одно и то же имя целевой базы данных, в противном случае выполнить развертывание не удастся.
В меню Файл выберите команду Сохранить все.
Далее следует настроить свойства проекта "Мой_проект_хранимых_процедур".
Настройка проекта "Мой_проект_хранимых_процедур" для развертывания
В окне Обозреватель решений щелкните правой кнопкой мыши узел Мой_проект_хранимых_процедур и выберите пункт Свойства.
На странице свойств перейдите на вкладку Развертывание.
В списке Действие развертывания щелкните Создать скрипт развертывания (SQL) и развернуть в базе данных.
Щелкните элемент Изменить рядом с пунктом Параметры конечной базы данных.
Задайте подключение к целевому серверу, на котором требуется развернуть этот проект базы данных, и нажмите кнопку ОК.
В поле Имя конечной базы данных введите Мой_проект_хранимых_процедур.
Важно!
Для всех трех проектов, которые образуют составной проект, необходимо указать одно и то же имя целевой базы данных, в противном случае выполнить развертывание не удастся.
В меню Файл выберите команду Сохранить все.
Далее следует построить проект базы данных.
Процедура построения и развертывания базы данных разработки
В окне Обозреватель решений щелкните правой кнопкой мыши узел Мой_проект_хранимых_процедур и выберите команду Построить.
В окне Обозреватель решений щелкните правой кнопкой мыши узел Мой_проект_хранимых_процедур и выберите команду Развернуть.
База данных будет построена и развернута на заданном целевом сервере вместе с ее зависимостями.
Следующие действия
Этот метод можно использовать для одновременной работы с несколькими небольшими частями базы данных. Кроме того, в случае необходимости изолировать разработчиков, работающих над хранимыми процедурами, от определений таблиц и схемы, вместо ссылок на проекты базы данных можно также использовать ссылку на DBSCHEMA-файлы.