
- •Содержание
- •Введение
- •1Лабораторная работа № 1 Создание концептуальной модели предметной области
- •1.5Критерии результативности выполнения лабораторной работы
- •Контрольные вопросы
- •2Лабораторная работа № 2 Создание и заполнение реляционной базы данных с помощью языка sql
- •2.1Цель лабораторной работы
- •2.2Задачи лабораторной работы
- •2.3Задание
- •2.4Методика выполнения задания
- •Этап 1. Создание структуры реляционной базы данных и ее модификация
- •Этап 2. Выполнение операций вставки, обновления и удаления данных
- •Этап 3. Выполнение операций выборки данных из одной таблицы
- •2.5Критерии результативности выполнения лабораторной работы
- •Контрольные вопросы
- •3.4Методика выполнения задания
- •Этап 1. Сортировка и встроенные функции
- •Этап 2. Вложенные запросы и операция соединения
- •Этап 3. Создание и обновление представлений
- •3.5Критерии результативности выполнения лабораторной работы
- •Контрольные вопросы
- •4Лабораторная работа № 4 Разработка триггеров и хранимых процедур
- •4.5Курсоры
- •4.6Хранимые процедуры
- •4.7Триггеры
- •4.8Методика выполнения задания
- •4.9Требования к оформлению и содержанию отчета
- •4.10 Критерии результативности выполнения лабораторной работы
- •Контрольные вопросы
- •Список литературы
- •Приложение 1 Варианты заданий для лабораторной работы № 1
- •1. Страховая компания
- •2. Гостиница
- •3. Ломбард
- •4. Реализация готовой продукции
- •5. Ведение заказов
- •6. Бюро по трудоустройству
- •7. Нотариальная контора
- •8. Химчистка
- •9. Курсы повышения квалификации
- •10. Сдача в аренду торговых площадей
- •11. Распределение учебной нагрузки
- •12. Распределение дополнительных обязанностей
- •13. Техническое обслуживание станков
- •14. Туристическая фирма
- •15. Грузовые перевозки
- •Приложение 2 Построение концептуальной модели предметной области в пакете AllFusion eRwin Data Modeler Введение
- •5Описание интерфейса
- •6Создание логической модели данных
- •6.1Сущности и атрибуты
- •6.2Связи
- •6.3Ключи
- •1. Табельный номер,
- •7Создание физической модели данных
- •7.1Выбор сервера
- •7.2Таблицы и колонки
- •Приложение 3. Примеры кода на языке sql
- •Операторы ddl (Data Definition Language)
- •Определение первичных и альтернативных ключей с помощью оператора alter
- •Выборка данных – select
- •Внешние соединения
- •Представления
4.8Методика выполнения задания
Изучить примеры хранимых процедур и триггеров.
Создайте базу данных View Ridge, используя код из листинга 1, но не создавайте ограничение NationalityValues.
Заполните базу данных информацией. Пусть у вас будет по меньшей мере 3 клиента, 3 художника, 5 произведений и 5 транзакций. Национальность художника должна иметь одно из трех значений – 'German', 'French' или 'English'.
Напишите хранимую процедуру для чтения данных из таблицы ARTIST и вывода их на экран с помощью команды PRINT.
Напишите хранимую процедуру для чтения данных из таблицы ARTIST и WORK. Пусть имя художника будет входным параметром. Требуется вывести сведения о художнике и всех его работах.
Напишите хранимую процедуру, обновляющую телефон клиента. Путь ваша процедура принимает в качестве входных параметров – имя клиента, старый код города, новый код города, старый номер телефона, новый номер телефона. Сначала необходимо убедиться, что в базе есть только один клиент с таким именем, старым кодом города и старым номером телефона. Если такой клиент не один, то процедура должна выдать сообщение об ошибке и завершить свою работу. В противном случае процедура должна записать новый код региона и новый номер телефона клиента.
Создайте таблицу с именем ALLOWED_NATIONALITY, содержащую один столбец – Nationality. Поместите в эту таблицу значения 'German', 'French' или 'English'. Напишите триггер, который при вставке и обновлении строки в таблице ARTIST будет искать новое значение столбца Nationality в таблице ALLOWED_NATIONALITY. Если поиск завершился неудачно, триггер должен вывести сообщение об ошибке и выполнить откат вставки или изменения. Продемонстрируйте корректную работу триггера, используя Query Analyzer или Management Studio Express.
Напишите триггер, который при удалении записи из таблицы WORK будет проверять – появлялась ли работа в галерее только один раз и при этом не была продана. Если это условие выполняется, то требуется удалить работу и связанную с ней транзакцию, в противном случае надо вывести сообщение об ошибке. Обратите внимание на тип триггера, который вы будете использовать – замещающий или завершающий. По умолчанию в MS SQL Server используется завершающий триггер.
Создайте отчет, в котором отразите для каждого этапа написанный Вами программный код и результаты его выполнения.
4.9Требования к оформлению и содержанию отчета
Отчет оформляется и сдается в бумажном и в электронном виде. Он должен содержать:
титульный лист;
код хранимых процедур для заданий 4-6, а также результат их выполнения;
код триггеров для заданий 7-8, а также результат их выполнения в виде сообщений пользователю.
4.10 Критерии результативности выполнения лабораторной работы
Лабораторная работа считается выполненной, если студент успешно справился со всеми заданиями, продемонстрировал корректную работу хранимых процедур и триггеров, правильно отвечает на все контрольные вопросы.
Контрольные вопросы
Что такое хранимые процедуры? В чем преимущество их использования по сравнению с кодом клиентского приложения?
Что такое триггеры? Для чего они используются?
Объясните, в чем состоит назначение предварительных, замещающих и завершающих триггеров.
Какие типы триггеров поддерживает MS SQL Server, Oracle?
Каким образом в теле триггера, запущенного обновлением столбца, получить значение, которое столбец имел до обновления?
Каким образом в теле триггера, запущенного обновлением столбца, получить значение, которое будет присвоено столбцу?