Студопедия — SQL-сценарии
Студопедия Главная Случайная страница Обратная связь

Разделы: Автомобили Астрономия Биология География Дом и сад Другие языки Другое Информатика История Культура Литература Логика Математика Медицина Металлургия Механика Образование Охрана труда Педагогика Политика Право Психология Религия Риторика Социология Спорт Строительство Технология Туризм Физика Философия Финансы Химия Черчение Экология Экономика Электроника

SQL-сценарии






Как уже отмечалось, Query Analyzer удобно использовать для написания и отладки сложных наборов операторов на языке Transact-SQL — сценариев (script). Сценарии полезны, например, для создания и предварительного заполнения баз данных (альтернатива созданию и заполнению баз данных из VB-кода). Еще более привлекательно то, что сценарии хранятся в текстовом файле. Это делает возможным их использование на других серверах.

Инструкции в сценариях группируются в пакеты. Пакет может содержать несколько SQL-инструкций, сценарий — несколько пакетов, разделяемых командой GO. В качестве примера можно привести сценарий, состоящий из двух пакетов (в каждом — по одной инструкции):

Рис. 20.61

Cценарий, состоящий из двух пакетов (в каждом — по одной инструкции)

Результат выполнения этого сценария представлен на рис. 20.62. Здесь вкладка Grids включает два окна: первое содержит результат первого запроса, второе — результат второго.

Рис. 20.62

Вкладка Grids включает два окна — для двух SQL-инструкций

Следующий скрипт предназначен для создания таблиц и связей между ними.

CREATE TABLE Подразделения (

КодПодразделения nvarchar(4) NOT NULL,

НаимПодразделения nvarchar(50) NULL,

Адрес nvarchar(60) NULL,

Телефон nvarchar(10) NULL)

go

 

ALTER TABLE Подразделения

ADD PRIMARY KEY NONCLUSTERED (КодПодразделения)

go

 

CREATE TABLE Товары (

КодТовара nvarchar(12) NOT NULL,

НаимТовара nvarchar(50) NULL,

Цена1 money NULL,

Цена2 money NULL)

go

 

ALTER TABLE Товары

ADD PRIMARY KEY NONCLUSTERED (КодТовара)

go

 

CREATE TABLE Запасы (

КодПодразделения nvarchar(4) NOT NULL,

КодТовара nvarchar(12) NOT NULL,

Количество int NOT NULL

)

go

 

ALTER TABLE Запасы

ADD FOREIGN KEY (КодПодразделения)

REFERENCES Подразделения

go

 

ALTER TABLE Запасы

ADD FOREIGN KEY (КодТовара)

REFERENCES Товары

Для тестирования этого скрипта запишите его в текстовый файл с именем, например, createDABASEcomp.txt. Создайте в Enterprise Manager новую базу данных с именем, например, Фирма2. Выделите эту базу в Object Browser и запустите Query Analyzer. Теперь все готово для загрузки скрипта (рис. 20.63).

Рис. 20.63

Все готово для загрузки скрипта

Щелкните на кнопке Load SQL Script и в окне Open Query File выберите файл createDABASEcomp.txt с текстом скрипта (рис. 20.64).

Рис. 20.64

Выберите файл createDABASEcomp.txt с текстом скрипта

После загрузки скрипта окно Query будет иметь вид, представленный на рис. 20.65.

Рис. 20.65

Окно Query с загруженным текстом скрипта

После выполнения загруженного скрипта (при помощи кнопки Execute Query) на вкладке Messages появляется сообщение об успешности выполнения команд скрипта (рис. 20.66).

Рис. 20.66

На вкладке Messages появляется сообщение об успешности выполнения команд скрипта

Вы можете проверить, действительно ли в результате были созданы таблицы и связи между ними. Если открыть Diagram Pane для базы Фирма2 и поместить на нее все пользовательские таблицы, то можно увидеть схему, представленную на рис. 20.67.

Рис. 20.67

Диаграмма для только что созданной базы Фирма2

Как вы могли уже догадаться, скрипты можно не только загружать в окно Query, но и сохранять, находясь в нем.

Скрипты можно использовать не только для создания таблиц базы данных. Типичной может быть ситуация, когда вам необходимо может быть импортировать уже заполненные данными таблицы из mdb-файла в базу SQL Server. Как вы могли убедиться, при импортировании не переносится такая важная информация, как индексы и связи между таблицами.

Можно предположить, что наступит время, когда ремонтная мастерская, для которой создавалась информационная система, рассматриваемая в этой книге, уже не сможет обслуживаться одним менеджером по приему и выдаче изделий. Возрастет также количество специалистов по ремонту, которые самостоятельно вносят данные о ремонтах со своих рабочих компьютеров. Т.е. придет пора установить базу данных на SQL Server.

Если такая информационная система у вас имеется только в одной мастерской, то перенести данные на SQL Server, создать ключи и установить связи можно в Diagram Pane в окне утилиты Enterprise Manager. Если же вы успели установить систему в нескольких мастерских, то во избежание неприятностей создавать ключи и связи лучше при помощи текстового файла со скриптом и утилиты Query Analyzer (или при помощи кода на Visual Basic).

Для создания скриптов можно использовать Object Browser со встроенными шаблонами, которые представляют собой образцы файлов SQL-сценариев с замещаемыми параметрами. Вы можете создавать свои собственные шаблоны и использовать шаблоны, предоставляемые SQL Server для большинства операторов CREATE.

Источником скриптов (для создания базы данных) может служить приложение ERWin, которое удобно для описания модели базы данных. На рис. 20.68 представлено окно с физической моделью базы данных и открытое меню, в котором уже почти выбрана команда Forward Engineer/Schema Generation.

 

Рис. 20.68

ERWin-окно с физической моделью базы данных и открытое меню, в котором уже почти выбрана команда Forward Engineer/Schema Generation

Если в окне SQL Server Schema Generation (рис. 20.69) щелкнуть на кнопке Preview, то в окне SQL Server Schema Generation Preview можно будет увидеть скрипт для генерации базы данных на сервере (рис. 20.70). Этот скрипт, в частности, можно сохранить в файле.

Рис. 20.69

Чтобы увидеть скрипт для генерации базы данных на сервере, щелкните кнопку Preview

 

 

Рис. 20.70

Этот скрипт, в частности, можно сохранить в файле

Все вышеприведенное будет соответствовать действительности, если предварительно системе сообщено, для какой СУБД предназначена база данных. Это можно сделать в окне Computer Database ERWin – Target Server (рис. 20.71), которое вызывается при помощи команды Database | Choose Database.

Рис. 20.71

В этом окне можно сообщить приложению ERWin, для какой СУБД предназначена база данных







Дата добавления: 2015-09-04; просмотров: 2414. Нарушение авторских прав; Мы поможем в написании вашей работы!



Обзор компонентов Multisim Компоненты – это основа любой схемы, это все элементы, из которых она состоит. Multisim оперирует с двумя категориями...

Композиция из абстрактных геометрических фигур Данная композиция состоит из линий, штриховки, абстрактных геометрических форм...

Важнейшие способы обработки и анализа рядов динамики Не во всех случаях эмпирические данные рядов динамики позволяют определить тенденцию изменения явления во времени...

ТЕОРЕТИЧЕСКАЯ МЕХАНИКА Статика является частью теоретической механики, изучающей условия, при ко­торых тело находится под действием заданной системы сил...

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

БИОХИМИЯ ТКАНЕЙ ЗУБА В составе зуба выделяют минерализованные и неминерализованные ткани...

Типология суицида. Феномен суицида (самоубийство или попытка самоубийства) чаще всего связывается с представлением о психологическом кризисе личности...

Весы настольные циферблатные Весы настольные циферблатные РН-10Ц13 (рис.3.1) выпускаются с наибольшими пределами взвешивания 2...

Хронометражно-табличная методика определения суточного расхода энергии студента Цель: познакомиться с хронометражно-табличным методом опреде­ления суточного расхода энергии...

ОЧАГОВЫЕ ТЕНИ В ЛЕГКОМ Очаговыми легочными инфильтратами проявляют себя различные по этиологии заболевания, в основе которых лежит бронхо-нодулярный процесс, который при рентгенологическом исследовании дает очагового характера тень, размерами не более 1 см в диаметре...

Studopedia.info - Студопедия - 2014-2024 год . (0.008 сек.) русская версия | украинская версия