Чтение онлайн

ЖАНРЫ

Обработка баз данных на Visual Basic®.NET

Прайс Кевин Т.

Шрифт:

РИС. 8.4. Итоговый вид окна Solution Explorer с файлами сценариев для базы данных Novelty

Поскольку в диалоговом окне Generate Create Scripts были выбраны все объекты базы данных, то в проект базы данных будет включено несколько файлов сценария, как показано на рис. 8.4. Учтите, что данный сценарий можно включить в один файл. Для этого нужно во вкладке Options (Параметры) диалогового окна Generate Create Scripts выбрать в группе Files to Generate (Генерировать файлы) переключатель Create one file (Создать один файл).

СОВЕТ

Устанавливая

флажок Script database (Сгенерировать сценарий базы данных) во вкладке Options диалогового окна Generate Create Scripts, можно даже сгенерировать сценарий создания самой базы данных. В этом примере проект базы данных NoveltyData содержит набор сценариев для создания всех объектов базы данных Novelty бы применения этих сценариев демонстрируются в следующих разделах.

8. Для просмотра (или изменения) содержимого файла сценария дважды щелкните на нем в окне Solution Explorer. На рис. 8.5 показано содержимое сценария dbo.tblOrder.tab, который создает таблицу tblOrder в базе данных Novelty.

Обратите внимание на то, что эти сценарии создают только схему базы данных, но не вставляют в созданные таблицы никаких данных. Способы копирования данных в таблицы будут показаны далее в разделе о командных файлах.

РИС. 8.5. Содержимое сгенерированного сценария создания таблицы tblOrder

Сценарии изменения данных

Для внесения изменений в существующую схему базы данных используются сценарии изменения данных. Хотя они могут создаваться вручную, все же предпочтительнее для этого использовать специальные инструменты. В главах 1, "Основы построения баз данных", и 2, "Запросы и команды на языке SQL", рассматриваются инструменты Visual Studio .NET, предназначенные для работы с базой данных. Они способны автоматически создавать сценарий для любых изменений схемы базы данных.

Допустим, требуется создать новое поле StartDate в таблице tblEmployee для даты зачисления каждого сотрудника. Для этого выполните перечисленные ниже действия.

1. В окне Server Explorer раскройте папку Tables базы данных Novelty и щелкните правой кнопкой мыши на таблице tblEmployee.

2. Выберите в контекстном меню команду Design Table (Создание таблицы) для перехода в режим конструктора таблицы.

3. Создайте новое поле StartDate и укажите для него тип данных datetime, как показано на рис. 8.6.

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

1. Выберите команду меню Diagram→Generate Change Script (Диаграмма→Генерация сценария изменения) или щелкните на кнопке Generate Change Script (Генерация сценария изменения) в панели инструментов. На экране появится диалоговое окно Save Change Script (Сохранение сценария изменения) с областью предварительного просмотра текста сценария (рис. 8.7).

РИС. 8.6. Создание нового поля StartDate в таблице tblEmployee

РИС. 8.7. Диалоговое окна Save Change Script с содержимым сценария вставки поля StartDate в таблицу tblEmployee

2. Щелкните на кнопке Yes, и на экране появится стандартное

диалоговое окно Save As (Сохранить как) с предложением сохранить данный сценарий в папке Change Scripts текущего проекта базы данных.

3. Щелкните на кнопке Save для сохранения сценария с принимаемым по умолчанию именем tblEmployee.sql.

4. Закройте режим конструктора таблицы и в ответ на предложение сохранить внесенные изменения щелкните на кнопке No. В следующем разделе описываются способы внесения изменений с помощью запуска только что созданного сценария SQL.

5. Щелкните дважды на сценарии tblEmployee.sql для просмотра содержимого сохраненного файл сценария, которое показано на рис. 8.8.

РИС. 8.8. Просмотр содержимого файла сценария tblEmployee.sql

(Учтите, что вместо учетного имени sa в строке User: sa может быть указано другое используемое вами учетное имя пользователя SQL Server, а вместо имени сервера HR426 в строке Server: HR426 — имя другого используемого вами сервера. — Прим. ред.)

Запуск сценария

Сценарий можно запустить непосредственно в окне Solution Explorer. Проще всего перетащить сценарий и опустить его на ссылку на базу данных, в которую нужно внести изменения. Или иначе, щелкните правой кнопкой мыши на сценарии и выберите в контекстном меню команду Run (Запустить) или Run On (Запустить для). Команда Run выполняет сценарий по отношению к используемой по умолчанию ссылке на базу данных, а команда Run On позволяет выбрать другую базу данных в одноименном диалоговом окне (рис. 8.9). Учтите, что, кроме выбора уже существующей ссылки на базу данных, можно создать совершенно новую ссылку. (Перед этим на экране появится диалоговое окно SQL Server Login для выбора сервера и регистрации на нем. — Прим. ред.)

РИС. 8.9. Диалоговое окно Run On

НА ЗАМЕТКУ

Для запуска сценария можно выбрать временную ссылку на базу данных. Щелкните дважды на последнем элементе <temporary reference> списка ссылок для отображения уже знакомого диалогового окна Data Link Properties, предназначенного для определения новой ссылки на базу данных. Однако эта ссылка не обязательно должна быть включена в проект или окно Server Explorer.

Для внесения изменений в базу данных с помощью сценария tblEmployee.sql выполните перечисленные ниже действия.

1. Убедитесь в том, что таблица tblEmployee не содержит поле StartDate. Для этого в окне Server Explorer раскройте папку таблицы tblEmployee для просмотра всех полей данной таблицы, как показано на рис. 8.10.

2. Раскройте папку Change Scripts в окне Solution Explorer и выберите сценарий tblEmployee.sql.

3. В окне Solution Explorer перетащите и опустите данный сценарий на ссылку на базу данных Novelty.

4. После этого на экране появится диалоговое окно Execute Scripts and Queries (Выполнить сценарии или запросы) для подтверждения запуска сценария для указанной базы данных. Щелкните на кнопке Yes для запуска сценария и продолжения работы.

5. Повторите действия, описанные в п. 1, чтобы вновь отобразить поля таблицы tblEmployee (или просто щелкните на кнопке Refresh в панели инструментов окна Server Explorer) для того, чтобы убедиться в наличии нового поля StartDate в таблице tblEmployee.

Поделиться с друзьями: