Лабораторная работа № 5 - Программирование с помощью встроенного языка TRANSACT SQL в Microsoft Sql Server
Цель работы: ознакомиться с основными принципами программирования в MS SQL Server средствами встроенного языка Transact SQL. Указание: Для получения более подробной информации о работе тех или иных операторов или функций можно запустить утилиту Books Online из состава MS SQL Server и в разделе «Указатель» набрать искомый ключевой элемент. Так же при выполнении работы можно использовать материалы презентации к лекции (см. файл Презентация_Обзор SQL Server. О расположении файла спросить у преподавателя). Задание№1: Необходимо ознакомится с основами языка Transact-SQL. Ход работы: 1. Ознакомьтесь с правилами обозначения синтаксиса команд в справочной системе MS SQL Server (утилита Books Online). 2. Изучите правила написания программ на Transact SQL. 3. Изучите правила построения идентификаторов, правила объявления переменных и их типов. 4. Изучите правила работы с циклами и ветвлениями. 5. Если необходимо, запустите SSMS, подключитесь к своему экземпляру SQL Server, используя технологию 1. 6. Откройте окно нового запроса. Измените контекст на базу данных МММ_вашеФИО, используя технологию 6. 7. Создайте, наберите, исполните и сохраните тексты запросов для выполнения следующих заданий по темам: Объявление переменных Объявить переменную Perem1 типа денежный, а переменную Perem2 типа число с целой частью равной 8 и дробной частью равной 2. Присвоение значений переменным и вывод значений на экран Определить минимальную цену модели в каталоге моделей, результат поместить в переменную, вывести значение переменной на экран. Условная конструкция IF Подсчитать количество магазинов в таблице Магазины. Если их в таблице меньше 3, то ничего не сообщать, в противном случае вывести сообщение вида " В таблице... магазинов " (вместо многоточия поставить точное количество поставщиков). Цикл WHILE Определить количество записей в таблице Магазины. Пока записей меньше 10, делать в цикле добавление записи в таблицу с автоматическим наращиванием значения ключевого поля, а вместо названия магазина ставить значение 'не известен'.
Задание№2: Необходимо научиться создавать и использовать хранимые процедуры на сервере БД. Ход работы: 1. Если необходимо, запустите SSMS, подключитесь к своему экземпляру SQL Server, используя технологию 1. 2. Откройте окно нового запроса. Измените контекст на базу данных МММ_вашеФИО, используя технологию 6. 3. Создайте, наберите, исполните и сохраните текст запроса для создания хранимой процедуры с помощью оператора Create procedure, причем самостоятельно определить имя процедуры в вашей БД: Хранимая процедура должна «Вывести информацию о моделях со стоимостью больше указанного числа, отсортированных по названию моделей». 4. При создании хранимой процедуры воспользуйтесь описанием синтаксиса команды и примерами из файла Презентация_Обзор SQL Server. 5. В SQL Server Management Studio в разделе БД МММà Программирование à хранимые процедуры проверить наличие вашей процедуры. 6. Выполнить (вызвать) вашу процедуру с входящей ценой = 50, проверить результат выполнения.
Задание№3: Необходимо научиться создавать и использовать триггеры на сервере БД. Ход работы: 1. Если необходимо, запустите SSMS, подключитесь к своему экземпляру SQL Server, используя технологию 1. 2. Откройте окно нового запроса. Измените контекст на базу данных МММ_вашеФИО, используя технологию 6. 3. В вашей БД МММ создать таблицу модель_безопасность, состоящую из 3-ех столбцов (название_модели (тип – символьный (50)), имя_пользователя (тип – символьный (50)), дата_добавления (тип – дата-время)) – без ключевого поля и без связей с другими таблицами. 4. Создать триггер «вставка_модель» для таблицы Модель c помощью оператора Create Trigger. Данный триггер должен при добавлении записи в таблицу Модели, добавлять запись безопасности в таблицу модель_безопасность. Подробное описание работы триггера приведено далее. В МММ любые добавления в таблицу моделей (каталог_моделей) происходят редко и выполняются под строгим контролем. При этом отслеживается название добавленной модели, дата внесения добавлений и имя пользователя, который внес это изменение. Поэтому необходимо реализовать триггер на таблице Модель (каталог_моделей) запускающийся при выполнении операции INSERT и протоколирующий информацию о добавленных моделях в таблицу модель_безопасность. То есть необходимо создать триггер, который при добавлении новой модели в каталог создавал бы в таблице модель_безопасность строку, в которой бы фиксировалось значение названия, дата внесения этого названия в таблицу и имя пользователя, который произвел добавление. 5. В SQL Server Management Studio в разделе БД МММà Таблица Модели (Каталог моделей) à триггеры проверить наличие вашего триггера. 6. Проверить действие триггера.
|