Презентация, доклад на тему Хранимые процедуры, триггеры, индексы

Содержание

ТриггерЭто программа, которая хранится в области метаданных БД и выполняется на стороне сервера.Обращение напрямую к триггеру невозможно.

Слайд 1Хранимые процедуры, триггеры, индексы

Хранимые процедуры, триггеры, индексы

Слайд 2Триггер
Это программа, которая хранится в области метаданных БД и выполняется на

стороне сервера.
Обращение напрямую к триггеру невозможно.
ТриггерЭто программа, которая хранится в области метаданных БД и выполняется на стороне сервера.Обращение напрямую к триггеру невозможно.

Слайд 3Назначение триггера
выполнение функций по формированию значений искусственного первичного ключа;
выдача информационных сообщений

БД, связанных с изменением данных;
поддержание целостности данных;
выполнение определённых действий при добавлении (изменении) данных в БД.
Назначение триггеравыполнение функций по формированию значений искусственного первичного ключа;выдача информационных сообщений БД, связанных с изменением данных;поддержание целостности

Слайд 4Классификация по типу действия
INSERT TRIGGER – запускаются при выполнении команды INSERT;
UPDATE

TRIGGER – запускаются при выполнении команды UPDATE;
DELETE TRIGGER – запускаются при выполнении команды DELETE.
Классификация по типу действияINSERT TRIGGER – запускаются при выполнении команды INSERT;UPDATE TRIGGER – запускаются при выполнении команды

Слайд 5Классификация по типу поведения
AFTER – триггер выполняется после успешного выполнения команды
INSTEAD

OF – триггер вызывается вместо выполнения команды
Классификация по типу поведенияAFTER – триггер выполняется после успешного выполнения командыINSTEAD OF – триггер вызывается вместо выполнения

Слайд 6Создание триггера
CREATE TRIGGER
ON |
{FOR |

AFTER | INSTEAD OF}
{ [DELETE] [,] [INSERT] [,] [UPDATE]}
AS
[…n]

FOR и AFTER – синонимы.
Создание триггераCREATE TRIGGER ON | {FOR | AFTER | INSTEAD OF}{ [DELETE] [,] [INSERT] [,] [UPDATE]}AS […n]FOR

Слайд 7Создание триггера
CREATE TRIGGER ExemplarsUpdateTrigger
ON Exemplars
AFTER UPDATE
AS


BEGIN

IF (EXISTS (select e.reader_id
FROM Exemplars e WHERE e.reader_id IS NOT NULL
GROUP BY e.reader_id
HAVING count(*) > 2))
BEGIN
ROLLBACK TRANSACTION
PRINT ‘Попытка взять более 2 книг'
END

END
Создание триггераCREATE TRIGGER ExemplarsUpdateTrigger  ON Exemplars  AFTER UPDATEAS BEGINIF (EXISTS (select e.reader_id		FROM Exemplars e WHERE

Слайд 8Вызов триггера
при соединении с БД (CONNECT);
при отсоединении от БД (DISCONNECTED);
при старте

транзакции (TRANSACTION START);
при подтверждении транзакции (TRANSACTION COMMIT);
при отмене транзакции (TRANSACTION ROLLBACK).
Вызов триггерапри соединении с БД (CONNECT);при отсоединении от БД (DISCONNECTED);при старте транзакции (TRANSACTION START);при подтверждении транзакции (TRANSACTION

Слайд 9Структура тела триггера
[объявление локальных переменных]
BEGIN

[…]
END

DROP TRIGGER – удаление триггера.

Структура тела триггера[объявление локальных переменных]BEGIN[…]ENDDROP TRIGGER – удаление триггера.

Слайд 10Хранимая процедура
Это программа, которая хранится в области метаданных БД и выполняется

на стороне сервера.
К ней могут обращаться хранимые процедуры, триггеры, клиентские программы.
Хранимая процедураЭто программа, которая хранится в области метаданных БД и выполняется на стороне сервера.К ней могут обращаться

Слайд 11Виды хранимых процедур
выполняемые хранимые процедуры
хранимые процедуры выбора

Виды хранимых процедурвыполняемые хранимые процедурыхранимые процедуры выбора

Слайд 12Создание хранимой процедуры
CREATE PROC[EDURE]
[{@ } [=

по умолчанию>]
[OUTPUT] ] [,…n]
AS [,…n]
Создание хранимой процедурыCREATE PROC[EDURE]  [{@ } [= ]    [OUTPUT] ] [,…n]AS [,…n]

Слайд 13Создание хранимой процедуры

Создание хранимой процедуры

Слайд 14Вызов хранимой процедуры
EXEC[UTE]
[ @ = ]
[

[ @<параметр> = ] {<значение> | @<переменная> [OUT[PUT]] | [DEFAULT] } ] [,…n]
Вызов хранимой процедурыEXEC[UTE] [ @ = ]  [ [ @ = ] { | @ [OUT[PUT]]

Слайд 15Управление хранимыми процедурами
Изменение (кроме имени):
ALTER PROCEDURE
(далее как в CREATE

PROCEDURE);
Изменение имени – при помощи системной хранимой процедуры:
sp_rename ‘<старое имя>’, ‘<новое имя>’ [, ‘object’]
Удаление хранимой процедуры:
DROP PROCEDURE <имя процедуры>
Управление хранимыми процедурамиИзменение (кроме имени):ALTER PROCEDURE (далее как в CREATE PROCEDURE);Изменение имени – при помощи системной хранимой

Слайд 16Индекс
Это объект базы данных, содержащий значения указанных столбцов конкретной таблицы и

ссылки на строки этой таблицы, содержащие данные значения.
ИндексЭто объект базы данных, содержащий значения указанных столбцов конкретной таблицы и ссылки на строки этой таблицы, содержащие

Слайд 17Правило
Нельзя создавать индекс по структуре и по упорядоченности соответствующий индексу, который

автоматически создаётся системой для первичного, уникального или внешнего ключа.
ПравилоНельзя создавать индекс по структуре и по упорядоченности соответствующий индексу, который автоматически создаётся системой для первичного, уникального

Слайд 18UNIQUE – уникальный индекс;
ASCENDING – упорядочивание индекса по возрастанию (по умолчанию);
DESCENDING

– упорядочивание индекса по убыванию;
ACTIVE – активный индекс;
INACTIVE – неактивный индекс.

Ключевые слова

UNIQUE – уникальный индекс;ASCENDING – упорядочивание индекса по возрастанию (по умолчанию);DESCENDING – упорядочивание индекса по убыванию;ACTIVE –

Слайд 19Создание индекса для существующей таблицы БД
CREATE [UNIQUE] [ASC [ENDING] | DESC

[ENDING]]
INDEX <имя индекса> ON <таблица>
(<столбец> [,<столбец>]…)
Создание индекса для существующей таблицы БДCREATE [UNIQUE] [ASC [ENDING] | DESC [ENDING]]INDEX ON ( [,]…)

Слайд 20Задача
Для таблицы «Продажи» создать возрастающий и убывающий индексы по столбцу, хранящему

наименование товаров «Товары».

CREATE ASCENDING INDEX ON ПРОДАЖИ I_ASC (ТОВАРЫ)
CREATE DESCENDING INDEX ON ПРОДАЖИ I_DESC (ТОВАРЫ)


ЗадачаДля таблицы «Продажи» создать возрастающий и убывающий индексы по столбцу, хранящему наименование товаров «Товары».CREATE ASCENDING INDEX ON

Слайд 21ALTER INDEX {ACTIVE | INACTIVE} – изменение состояния индекса;
DROP

INDEX <имя индекса> - удаление индекса.

Управление индексами

ALTER INDEX {ACTIVE | INACTIVE} – изменение состояния индекса;DROP INDEX - удаление индекса.Управление индексами

Слайд 22Вопросы
Что такое триггер?
Что такое хранимая процедура?
Что такое индекс?
Какие виды триггеров вы

знаете?
Какие виды хранимых процедур вы знаете?
Назовите команды для управления триггерами, хранимыми процедурами, индексами.

ВопросыЧто такое триггер?Что такое хранимая процедура?Что такое индекс?Какие виды триггеров вы знаете?Какие виды хранимых процедур вы знаете?Назовите

Слайд 23Спасибо за внимание!

Спасибо за внимание!

Что такое shareslide.ru?

Это сайт презентаций, где можно хранить и обмениваться своими презентациями, докладами, проектами, шаблонами в формате PowerPoint с другими пользователями. Мы помогаем школьникам, студентам, учителям, преподавателям хранить и обмениваться учебными материалами.


Для правообладателей

Яндекс.Метрика

Обратная связь

Email: Нажмите что бы посмотреть