
- •Введение в курс “Базы данных”
- •Классификация бд по способу хранения данных
- •Факультет
- •Классификация бд по их использованию
- •Реляционные бд (ms Access)
- •Типы полей в реляционных бд
- •Связи между таблицами
- •Поддержка целостности данных
- •Нормализация бд
- •Неформальные методы приведения таблиц к третьей нормальной форме
- •Операции в бд (vba) Операции над отношениями/таблицами
- •Операции над записями
- •Типы данных используемых в sql
- •Операторы манипулирования данными Оператор Select
- •Группировка
- •Объединение таблиц
- •Параметры
- •Перекрёстные запросы
- •Обновление данных (запрос Update)
- •Удаление данных (запрос Delete)
- •Подчинённые запросы
- •Создание таблиц
- •Добавление новых полей
- •Технология разработки программного обеспечения, использующего базы данных
- •Доступ к данным в Visual Basic 6.0
- •Работа с записями
- •Создание многоуровневых приложений
- •Д Fill оступ к данным в c# (Visual Studio 2005)
- •Создание отчётов
- •Olap технологии. Xml язык
- •Клиент-серверные системы
- •Триггер
- •Программирование триггера
Триггер
Триггер – разновидность хранимой процедуры, исполнение которой обусловлено наступлением определённых событий внутри реляционных БД.
Каждый триггер привязывается к конкретной таблице.
Все проводимые триггером модификации данных рассматриваются как одна транзакция.
Триггер создаётся только владельцем БД. У триггера есть понятие “кодирование триггера”.
Синтаксис:
Create trigger имя_триггера
Before|After <триггерное событие> – до или после возникновения события
On <имя таблицы>
[Referencing <список старых или новых псевдонимов>]
[for each{row | statement}]
[when (условие триггера)]
<тело триггера>
Если возникает событие обновление строки, то можно указать имена полей, к которым применим этот триггер.
Выполнение действий, задающихся для каждой строки – For each Row – для каждой строки; Statement – только 1 раз при возникновении события.
Список старых и новых псевдонимов позволяет изменять псевдонимы (имена полей, используемых в программе): старый_псевдоним/новый_псевдоним.
(Полный синтаксис описания триггера для MySql другой)
With Encryption – с использованием кодирования.
В SQL Server существует 2 параметра:
After – Триггер выполняется после успешного выполнения вызвавших его команд.
Instead of – триггер вызывается вместо выполнения команд.
Существует 3 типа триггеров:
Insert Trigger – запускается при попытке вставки с помощью Insert.
Update Trigger – при попытке изменения данных командой Update.
Delete Trigger – при попытке выполнения команды Delete.
Внутри триггера не допускаются операции, которые не могут быть восстановлены в случае отката транзакций:
Создание, изменение и удаление БД.
Восстановление резервной копии БД или журнала транзакций.
Программирование триггера
При выполнении команд изменения, добавления, вставки сервер создаёт 2 специальные таблицы: inserted и deleted. Структура таблиц аналогична таблице, к которой прикреплён триггер. В зависимости от команды их содержимое изменяется:
Команда Insert – таблица inserted содержит все строки, которые мы пытаемся добавить в таблицу (deleted – пустая).
После завершения триггера записи в таблице inserted удаляются.
Команда Delete – в таблице Deleted помещаются строки к удалению (inserted – пустая).
Команда Update – в deleted – старые значения строк; в inserted – новые значения строк.
@@ROWCOUNT – определяет количество строк в таблице (Inserted и Deleted).
Пример на триггер на команду Insert:
Create Trigger Триггер <n>
On Сделка For Insert
As
If @@ROWCOUNT = 1
Begin
If not Exist {Select * From Inserted Where Inserted.Количество <= ALL
(Select * From Склад, Сделка Where Код1 = Код2)}
Begin
RollBack Throw
Print “s”
End
End
Триггер, в основном, используется
Для сбора статистических данных.
Для записи журнала сообщений.
Для поддержки целостности данных с точки зрения логики программы.
XML
Язык SGML – средство, использующееся для описания языков разметки. Язык разметки описывает то, как располагаются данные, текст, показывает только внешний вид, только внешнее представление.
Одним из подмножеств этого языка является язык HTML – язык для размещения объектов на экране. На клиентский компьютер передаётсяЕЬД текст в виде HTML файла.
Язык XML – язык разметки – позволяет передавать структуры данных и сами данные. Он предоставляет возможность создавать кросс-платформенные системы. Для преобразования БД в XML используются специальные XML Parser, который проверяет правильность кода и выдаёт правильный текст. Так как XML представляет собой текстовый файл, то его достаточно легко кодировать.
Для преобразования Access базы необходимо выбрать: Файл → Экспорт. Выбрать тип XML. Подобным образом (через Импорт) можно подключить XML базу.
Отличия XML от HTML:в XML неограниченное количество тегов.