
- •Лабораторная работа № 3 Использование диаграмм для графического представления структуры базы данных
- •Теоретическое обоснование
- •Методика и порядок выполнения работы Методика и порядок выполнения задания 1
- •Методика и порядок выполнения задания 2
- •Содержание отчета и его форма
- •Методика и порядок выполнения работы
- •Select ...
- •Методика и порядок выполнения работы
- •Контрольные вопросы
- •Лабораторная работа № 7 Использование ограничений в sql – совместимых базах данных
- •Теоретическое обоснование
- •Контрольные вопросы
- •Лабораторная работа № 8 Хранимые процедуры в sql Server
- •Теоретическое обоснование
- •Задания к лабораторной работе № 7
- •Контрольные вопросы
- •Лабораторная работа № 9 Триггеры в sql Server
- •Использование триггеров
- •Срабатывание триггеров
- •Создание триггеров
- •Удаление триггеров
- •Таблицы deleted и inserted
- •Просмотр таблиц deleted и inserted
- •Вставка и удаление нескольких записей
- •Триггер вставки
- •Условный триггер вставки
- •Триггер обновления
- •Задание к лабораторной работе № 9
- •Методика и порядок выполнения работы Методика и порядок выполнения задания 1
- •Методика и порядок выполнения задания 2
- •Содержание отчета и его форма
- •Контрольные вопросы и защита работы
- •Лабораторная работа № 11
- •Обеспечение безопасности пользователей в sql Server
- •Цель и содержание:изучить основные приемы администрирования баз данных вSqlServer, рассмотреть возможность добавления новых пользователей в систему и разграничения их полномочий.
- •Теоретическое обоснование
- •Методика и порядок выполнения работы Методика и порядок выполнения задания 1
- •Методика и порядок выполнения задания 2
- •Методика и порядок выполнения задания 3
- •Содержание отчета и его форма
- •Методика и порядок выполнения работы Методика и порядок выполнения задания 1
- •Методика и порядок выполнения задания 2
- •Методика и порядок выполнения задания 3
- •Содержание отчета и его форма
- •Контрольные вопросы
- •Лабораторная работа № 14 Организация обмена данными. Взаимодействие sql-сервера с Word и Excel
- •Контрольные вопросы
- •Лабораторная работа № 15 Организация обмена данными. Взаимодействие sql-сервера и локальных баз данных Access и FoxPro
- •Взаимодействие sql-сервера и Visual FoxPro
- •Контрольные вопросы
Задания к лабораторной работе № 7
Разобраться в примерах хранимых процедур, приведенных в тексте лабораторной работы.
Самостоятельно сформулировать задачу, решаемую с помощью механизма хранимых процедур. Разработать соответствующую процедуру.
Контрольные вопросы
Дайте определение хранимой процедуры.
Порядок действий при разработке хранимой процедуры.
Лабораторная работа № 9 Триггеры в sql Server
Цель работы: познакомить студентов с основными понятиями проверки целостности данных в SQL – Server: триггер, вставленная таблица, удаленная таблица, журнал транзакций, изучить основные типы триггеров (вставки, удаления).
Триггеры (trigger) являются особой разновидностью хранимых процедур, выполняемых автоматически (срабатывающих) при модификации данных таблицы. Триггеры находят разное применение — от проверки данных до обеспечения сложных деловых правил. Особенно полезным свойством триггеров является то, что они имеют доступ к образам записи до и после модификации; таким образом, можно сравнить две записи и принять соответствующее решение.
При создании триггеров следует обращать внимание на следующие моменты.
1. Рекомендуется самостоятельно создать таблицы, для которых создаются триггеры в данной лабораторной, и проследить их выполнение.
2. При создании первичных ключей в свойствах ключа нужно убрать галочки "Enable relationship for INSERT and UPDATE" и " Enable relationship for replication".
3. Добавление, удаление и модификацию данных рекомендуется производить в Query Analyzer при включенном режиме Hide Result Pane для просмотра итоговых сообщений
Использование триггеров
Триггеры используются для различных целей. В том числе:
Обеспечения ссылочной целостности. Триггеры используются для поддержания ссылочной целостности, когда ее критерии слишком сложны для определения на уровне таблиц. В частности, сидя относится возможность каскадных обновлений и удалений первичных ключей.
комплексного обеспечения целостности доменов. При необходимости триггеры могут использоваться для проверки значений в других таблицах и базах данных, а также для сравнения образов данных до и после обновления.
Обеспечения сложных деловых правил. С помощью триггеров решаются такие задачи, как автоматическое оформление заказов на покупку при малом количестве товара на складе или отмена поставки при задержке платежей.
Выбор сложных значений по умолчанию. Триггеры позволяют принимать решения при выборе значения по умолчанию для столбцов. Это полезная возможность, поскольку пользовательские значения по умолчанию допускают лишь одно конкретное значение для каждого столбца.
Обработки дубликатов. Триггеры используются для обеспечения целостности данных. Такая возможность бывает полезной при логическом сегментировании данных или при обработке дубликатов данных по соображениям быстродействия (например, для получения сводной информации).
Срабатывание триггеров
Триггеры закрепляются за таблицей и срабатывают в ответ на определенные команды DМL (Data Modification Language, поднабор команд, Тгаnsact-SQL). Иначе говоря, выполнение команды, модифицирующей запись, всегда приводит к срабатыванию триггера. Поскольку триггер является частью исходной транзакции, он может вызвать откат отдельной команды или всей транзакции. Благодаря этому у вас появляется возможность контролировать модификацию таблиц с помощью логики, связанной с таблицей.
Чтобы пояснить сказанное, рассмотрим пример — удаление записей из таблицы publishers командой DELЕТЕ.
При удалении записи таблицы в игру может вступить любое ограничение ссылочной целостности, являющееся частью таблицы publishers. Если ограничение ссылочной целостности существует, оно будет проверено. Если ограничение не нарушается (или не существует), запись удаляется. Если команда не является частью отдельной транзакции, в этот момент происходит закрепление транзакции.
Сначала происходит проверка всех ограничений. Если ограничение не нарушено (или не существует), запись удаляется. Затем перед завершением транзакции выполняется триггер, который принимает решение об откате или закреплении транзакций.