![](/user_photo/1642_T3gTB.jpg)
- •Концепция баз данных
- •Понятие СУБД
- •Функции СУБД
- •3. Основные свойства баз данных.
- •Различие уровней представления данных на каждом этапе проектирования реляционной базы данных:
- •Примеры
- •Классификация моделей данных
- •Состав и назначение
- •Синтаксис
- •Пример
- •Синтаксис
- •Пример
- •Синтаксис
- •Пример
- •Синтаксис
- •Пример
- •Пример
- •Типы хранимых процедур
- •Создание, изменение и удаление хранимых процедур
- •Типы триггеров
- •Операторы создания, изменения
- •DML Trigger
- •DDL Trigger
- •Logon Trigger
- •DML Trigger
- •DDL Trigger
- •Logon Trigger
- •Поддержка ссылочной целостности с помощью триггеров
- •Агрегатные функции
- •Предложение GROUP BY
- •Вариант двумерного статистического запроса к БД
- •40. Общая характеристика и возможности системы.
- •43. Средства создания и коррекции структуры базы данных. Примеры.
- •45. Способы ускорения поиска данных: индексация и сортировка. Примеры.
- •40.13. Установка связей между таблицами
- •40.14. Импорт БД и установка связи с таблицами вне БД
- •40.15. Инструмент для установки связей
- •47. Средства создания приложений Примеры.
- •48. Средства задания ссылочной целостности.
- •Подуровни логического уровня модели данных
- •53. Генерация отчетов.
- •Использование Crystal Reports для создания отчетов
- •ACID-свойства транзакций
- •SET TRANSACTION ISOLATION LEVEL (SQL Server 2008 R2)
- •Оператор CREATE TABLE
- •Оператор ALTER TABLE
- •Оператор DROP TABLE
- •1. Сравнение
- •3. Принадлежность множеству
- •4. Соответствие шаблону
- •5. Значение NULL
- •Типы представлений:
- •Ограничения представлений:
- •Создание представлений
- •Использование T-SQL для изменения и удаления представлений
- •Объектно-ориентированная парадигма.
- •Многомерные базы данных (Multi-value Database)
- •Основные преимущества многомерных СУБД
- •Иерархическая модель данных
- •Сетевая модель данных
- •Реляционная структура данных
- •1. Уникальность: в произвольный заданный момент времени никакие два различных кортежа R не имеют одного и того же значения для Ai, Aj, ..., Ak.
- •Example.
- •Основные функции группы администратора БД
23. Т-SQL.Триггеры и ихназначение.Типы триггеров. Операторы создания, изменения,включения/отключения,удаления триггеров. Ограничения использования триггеров. Примеры.
Триггер(англ. trigger) — это хранимая процедура особого типа, которую пользователь не вызывает непосредственно, а исполнение которой обусловлено наступлением определенного события (действием) Основное назначение триггеровсостоит в автоматическом использовании их в качестве реакции на некоторые события, происходящие с таблицами, с которыми связанны триггеры. Это свойство триггеров позволяет использовать их для реализации сложных форм ограничений целостности данных. Кроме того, рассматриваемое свойство превращает сервер из пассивного наблюдателя за происходящими изменениями данных в систему,оперативно реагирующую на такие изменения. Правила,в соответствие с которыми осуществляются активные действия сервера,определяются триггерами
Типы триггеров
SQL Server поддерживает три основных типа триггеров: триггеры DML, триггеры DDL и триггеры входа.
•Триггеры DDLвыполняются, когда на сервере или в базе данных возникает событие языка определения данных (DDL). Эти события в основном соответствуют инструкциям языка Transact-SQL, начинающимся ключевыми словами CREATE, ALTER или DROP. Системные хранимые процедуры, выполняющие операции, подобные операциям DDL, также могут запускать триггеры DDL.
Пример
Вследующем примере показано, как триггер DDL может быть использован для предотвращения изменения или удаления любой таблицы базы данных.
CREATE TRIGGER safety ON DATABASE
FOR DROP_TABLE, ALTER_TABLE AS
PRINT 'You must disable Trigger "safety" to drop or alter tables!' ROLLBACK ;
•Триггеры входавызывают срабатывание хранимыхпроцедур в ответ на событие LOGON. Это событие вызывается при установке пользовательского сеанса с экземпляром SQL Server.Можно использовать триггеры входа для проверки и управления сеансами сервера, например для отслеживания входов в систему, ограничения входов в SQL Server или ограничения числа сеансов для конкретного имени входа
•DML-триггерывыполняются при возникновении событий языка обработки данных (DDL) в базе данных. DML-события возникают при выполненииинструкций INSERT, UPDATE или DELETE, изменяющих данные в указанной таблице или представлении. DML-триггеры могут обращаться к другим таблицам и содержать сложные инструкцииTransact-SQL. Триггер и инструкция,при выполнении которой он срабатывает,считаются одной транзакцией,которуюможно откатить назад внутри триггера. При обнаружении серьезной ошибки (например, нехватки пространства на диске) вся транзакция автоматически откатывается назад.
Пример
CREATE TRIGGER reminder1 ON Sales.Customer
AFTER INSERT, UPDATE
AS RAISERROR ('Notify Customer Relations', 16, 10);
Чтобы управлять срабатыванием DML-триггера,можно указать один из двух параметров.
•Триггеры AFTERсрабатывают после обработки действия,вызывающего срабатывание (INSERT, UPDATE или DELETE), триггеров INSTEAD OF и ограничений. Триггеры AFTER можно устанавливать путем указания ключевых слов AFTER или FOR. Так как эффект от ключевого слова FOR тот же, что и от AFTER, DML-триггеры с ключевым словом FOR также относятся к триггерам AFTER.
•Триггеры INSTEAD OFсрабатывают вместо действия,вызывающего срабатывание,и перед обработкой ограничений. Если в таблице имеются триггеры AFTER, они сработают после обработки ограничений. В случае нарушения ограничений выполняется откат действий триггеров INSTEAD OF, а триггер AFTER не срабатывает.