SlideShare a Scribd company logo
•Назначение, виды, хранение и вызов хранимых
процедур.
•Написание тела хранимой процедуры.
•Назначение, виды и вызов триггеров
1
2
3
Транза́кция (англ. transaction) — в
информатике, группа
последовательных операций, которая
представляет собой логическую
единицу работы с данными.
Транзакция может быть выполнена либо
целиком и успешно, соблюдая целостность
данных и независимо от параллельно
идущих других транзакций, либо не
выполнена вообще и тогда она не должна
произвести никакого эффекта.
4
Пример транзакции Необходимо перевести с
банковского счёта номер 5 на счёт номер 7 сумму
в 10 денежных единиц. Этого можно достичь, к
примеру, приведённой последовательностью
действий:
•Начать транзакцию
•прочесть баланс на счету номер 5
•уменьшить баланс на 10 денежных единиц
•сохранить новый баланс счёта номер 5
•прочесть баланс на счету номер 7
•увеличить баланс на 10 денежных единиц
•сохранить новый баланс счёта номер 7
•Окончить транзакцию
5
Транзакция – последовательность операций на
данными базы, переводящая БД из одного
непротиворечивого состояния в другое,
которое может быть представлено как одно
«событие» .
Модели транзакций
1.Модель автоматической выполнимой
транзакции;
2.Модель управленческой транзакции
инструкций языка SQL
COMMIMT
ROLLBACK
6
4 - операторы управления транзакциями
(Transaction Control Language, TCL)
• COMMIT применяет транзакцию;
• ROLLBACK откатывает все изменения,
сделанные в контексте текущей
транзакции;
• SAVEPOINT делит транзакцию на более
мелкие участки;
7
8
Процедура — это приложение
(программа), объединяющее
запросы и процедурную логику
(операторы присваивания,
логического ветвления и т. д.) и
хранящееся в базе данных.
9
10
Хранимые процедуры являются
объектами базы данных. Каждая
хранимая процедура компилируется
при первом выполнении, в процессе
компиляции строится оптимальный
план выполнения процедуры.
Описание процедуры совместно с
планом ее выполнения хранится в
системных таблицах БД.
11
Хранимые процедуры позволяют содержать
вместе с базой данных достаточно сложные
программы, выполняющие большой объем
работы без передачи данных по сети и
взаимодействия с клиентом. Как правило,
программы, записываемые в хранимых
процедурах, связаны с обработкой данных. Тем
самым база данных может представлять собой
функционально самостоятельный уровень
приложения, который может
взаимодействовать с другими уровнями для
получения запросов или обновления данных
12
В языке Visual Basic замкнутыми
программными единицами являются
процедуры. Процедура содержит набор
инструкций и методов, с помощью которых
выполняются действия или рассчитывается
значение.
Например, в следующей процедуре
обработки события метод OpenForm
открывает форму «Заказы»:
Private Sub
ОткрытиеФормыЗаказы_Сlick()
DoCmd.OpenForm «Заказы»
End Sub
13
Существуют процедуры двух
типов: процедура-подпрограмма Sub
и процедура-функция Function.
Процедура-подпрограмма Sub,
аналогично инструкциям VB, выполняет
действие или набор действий, но не
возвращает значение. Пользователь
имеет возможность создавать
процедуры Sub самостоятельно или
использовать процедуры обработки
событий, определенные в Microsoft
Access.
14
Каждая форма или отчет в базе данных имеют
встроенный модуль формы или модуль отчета,
содержащий встроенные процедуры обработки
событий, которые выполняются в ответ на события,
возникающие в форме или отчете и в элементах
управления в форме или отчете. После того как
Microsoft Access определит, что событие возникло в
форме, отчете или в элементе управления,
автоматически запускается процедура обработки
события, имя которой образуется как комбинация
имен объекта и события. Например, процедура
обработки события позволяет открыть другую
форму при нажатии кнопки в форме.
15
Примечание. При создании объекта с
помощью мастера часто автоматически
создаются процедуры обработки
событий для данного объекта. Для того
чтобы понять, как работают процедуры,
полезно ознакомиться с такими
процедурами, просмотрев их в окне
редактора Visual Basic.
16
17
18
Процедура-функция Function (часто такие
процедуры называют просто функциями)
возвращает значение, например,
полученное в результате расчетов.
Visual Basic включает ряд встроенных
функций; например, функция Now
возвращает текущее значение даты и
времени.
19
Пример процедуры Function с именем
«НачалоСледующегоМесяца», которая
возвращает дату первого дня следующего
месяца:
Function НачалоСледующегоМесяца()
НачалоСледующегоМесяца=DateSerial(Yе
аг(Now), Month(Now) +1,1)
End Function
Функция состоит из единственной инструкции
присваивания. Результат рассчитывается с
помощью встроенных функций Visual Basic
DateSerial, Year, Now и Month.
20
Оператор создания хранимой процедуры
Для создания хранимой процедуры
применяется оператор SQL - CREATE
PROCEDURE.
CREATE PROCEDURE] <имя_процедуры>
[{параметр1 тип_данных}
Тело процедуры
21
Вызов хранимой процедуры
Хранимая процедура может быть
вызвана несколькими способами.
Простейший способ - это использование
оператора:
ЕХЕС <имя процедуры>
<значение_входного_параметра1>...
<имя_переменной_для_выходного
параметра1>...
22
Триггеры базы данных - процедуры,
которые хранятся в базе данных и
неявно исполняются
("возбуждаются"), когда
модифицируется ассоциированная
таблица.
23
Три́ ггер (англ. trigger) — это хранимая
процедура особого типа, которую
пользователь не вызывает
непосредственно, а исполнение которой
обусловлено наступлением
определенного события (действием) —
по сути добавлением INSERT или
удалением DELETE строки в заданной
таблице, или модификации UPDATE
данных в определенном столбце
заданной таблицы реляционной базы
данных.
24
Триггеры применяются для обеспечения целостности
данных и реализации сложной бизнес-логики. Триггер
запускается сервером автоматически при попытке
изменения данных в таблице, с которой он связан.
25

More Related Content

Similar to 26 27_28_29_30_процедуры и тригеры

Закрытие затратных счетов на практических примерах
Закрытие затратных счетов на практических примерахЗакрытие затратных счетов на практических примерах
Закрытие затратных счетов на практических примерах«ГК ГЭНДАЛЬФ»
 
Бизнес процессы в Битрикс24 семинар часть 1
Бизнес процессы в Битрикс24 семинар часть 1Бизнес процессы в Битрикс24 семинар часть 1
Бизнес процессы в Битрикс24 семинар часть 1
Алексей Модель
 
Нотации оформления требований
Нотации оформления требованийНотации оформления требований
Нотации оформления требованийJaneKozmina
 
C# Desktop. Занятие 16.
C# Desktop. Занятие 16.C# Desktop. Занятие 16.
C# Desktop. Занятие 16.
Igor Shkulipa
 
MWWM
MWWMMWWM
MWWM
Cleveroad
 
Seocrm
SeocrmSeocrm
Seocrm
VladRia
 
семинар Bpmn
семинар Bpmnсеминар Bpmn
семинар Bpmn
Nastya_K
 
CEE-SECR'2011 Бизнес-процессы
CEE-SECR'2011 Бизнес-процессыCEE-SECR'2011 Бизнес-процессы
CEE-SECR'2011 Бизнес-процессы
Yury Kupriyanov
 
лабораторная работа №3 Михалюк В.А.
лабораторная работа №3 Михалюк В.А.лабораторная работа №3 Михалюк В.А.
лабораторная работа №3 Михалюк В.А.Верочка Михалюк
 
Система автоматизации бизнес-процессов на платформе K2 blackpearl
Система автоматизации бизнес-процессов на платформе K2 blackpearlСистема автоматизации бизнес-процессов на платформе K2 blackpearl
Система автоматизации бизнес-процессов на платформе K2 blackpearl
КРОК
 
Redmine презентация
Redmine презентацияRedmine презентация
Redmine презентация
Natalya Cheychenets
 
Автоматизация управления проектами: преднастроенная модель от ГК «ИНТАЛЕВ»
Автоматизация управления проектами: преднастроенная модель от ГК «ИНТАЛЕВ» Автоматизация управления проектами: преднастроенная модель от ГК «ИНТАЛЕВ»
Автоматизация управления проектами: преднастроенная модель от ГК «ИНТАЛЕВ»
Intalev Siberia
 
моделирование бизнес процессов с B pwin 4.0
моделирование бизнес процессов с B pwin 4.0моделирование бизнес процессов с B pwin 4.0
моделирование бизнес процессов с B pwin 4.0vaha1411
 
7 видеошпаргалка+
7 видеошпаргалка+7 видеошпаргалка+
7 видеошпаргалка+RnD_SM
 
7 видеошпаргалка
7 видеошпаргалка7 видеошпаргалка
7 видеошпаргалкаRnD_SM
 
Проектирование и особенности проектирования клиент серверных экономических ин...
Проектирование и особенности проектирования клиент серверных экономических ин...Проектирование и особенности проектирования клиент серверных экономических ин...
Проектирование и особенности проектирования клиент серверных экономических ин...
adam93
 
Enterprise flex pure mvc, slides, russian
Enterprise flex pure mvc, slides, russianEnterprise flex pure mvc, slides, russian
Enterprise flex pure mvc, slides, russian
Sergiy Shychynov
 

Similar to 26 27_28_29_30_процедуры и тригеры (20)

Закрытие затратных счетов на практических примерах
Закрытие затратных счетов на практических примерахЗакрытие затратных счетов на практических примерах
Закрытие затратных счетов на практических примерах
 
Бизнес процессы в Битрикс24 семинар часть 1
Бизнес процессы в Битрикс24 семинар часть 1Бизнес процессы в Битрикс24 семинар часть 1
Бизнес процессы в Битрикс24 семинар часть 1
 
Нотации оформления требований
Нотации оформления требованийНотации оформления требований
Нотации оформления требований
 
C# Desktop. Занятие 16.
C# Desktop. Занятие 16.C# Desktop. Занятие 16.
C# Desktop. Занятие 16.
 
2010-11 (ПБД) Вологжанин Д.Г.
2010-11 (ПБД) Вологжанин Д.Г.2010-11 (ПБД) Вологжанин Д.Г.
2010-11 (ПБД) Вологжанин Д.Г.
 
MWWM
MWWMMWWM
MWWM
 
лекция 9
лекция 9лекция 9
лекция 9
 
Seocrm
SeocrmSeocrm
Seocrm
 
семинар Bpmn
семинар Bpmnсеминар Bpmn
семинар Bpmn
 
CEE-SECR'2011 Бизнес-процессы
CEE-SECR'2011 Бизнес-процессыCEE-SECR'2011 Бизнес-процессы
CEE-SECR'2011 Бизнес-процессы
 
Bpmn
BpmnBpmn
Bpmn
 
лабораторная работа №3 Михалюк В.А.
лабораторная работа №3 Михалюк В.А.лабораторная работа №3 Михалюк В.А.
лабораторная работа №3 Михалюк В.А.
 
Система автоматизации бизнес-процессов на платформе K2 blackpearl
Система автоматизации бизнес-процессов на платформе K2 blackpearlСистема автоматизации бизнес-процессов на платформе K2 blackpearl
Система автоматизации бизнес-процессов на платформе K2 blackpearl
 
Redmine презентация
Redmine презентацияRedmine презентация
Redmine презентация
 
Автоматизация управления проектами: преднастроенная модель от ГК «ИНТАЛЕВ»
Автоматизация управления проектами: преднастроенная модель от ГК «ИНТАЛЕВ» Автоматизация управления проектами: преднастроенная модель от ГК «ИНТАЛЕВ»
Автоматизация управления проектами: преднастроенная модель от ГК «ИНТАЛЕВ»
 
моделирование бизнес процессов с B pwin 4.0
моделирование бизнес процессов с B pwin 4.0моделирование бизнес процессов с B pwin 4.0
моделирование бизнес процессов с B pwin 4.0
 
7 видеошпаргалка+
7 видеошпаргалка+7 видеошпаргалка+
7 видеошпаргалка+
 
7 видеошпаргалка
7 видеошпаргалка7 видеошпаргалка
7 видеошпаргалка
 
Проектирование и особенности проектирования клиент серверных экономических ин...
Проектирование и особенности проектирования клиент серверных экономических ин...Проектирование и особенности проектирования клиент серверных экономических ин...
Проектирование и особенности проектирования клиент серверных экономических ин...
 
Enterprise flex pure mvc, slides, russian
Enterprise flex pure mvc, slides, russianEnterprise flex pure mvc, slides, russian
Enterprise flex pure mvc, slides, russian
 

More from Evgeniy Golendyhin

21 элементы управление
21  элементы управление21  элементы управление
21 элементы управление
Evgeniy Golendyhin
 
20 объект. экранная форма
20  объект. экранная форма20  объект. экранная форма
20 объект. экранная форма
Evgeniy Golendyhin
 
11 ms acces_приемы работыt
11 ms acces_приемы работыt11 ms acces_приемы работыt
11 ms acces_приемы работыt
Evgeniy Golendyhin
 
8 9 этапы проектированиябд
8 9 этапы проектированиябд8 9 этапы проектированиябд
8 9 этапы проектированиябд
Evgeniy Golendyhin
 
7 основные операции реляции
7 основные операции реляции7 основные операции реляции
7 основные операции реляции
Evgeniy Golendyhin
 
5 даталогич модельбд
5 даталогич модельбд5 даталогич модельбд
5 даталогич модельбд
Evgeniy Golendyhin
 
4_Основные понятия и типы модели
4_Основные понятия и типы модели4_Основные понятия и типы модели
4_Основные понятия и типы модели
Evgeniy Golendyhin
 
3_БД_Основные понятия
3_БД_Основные понятия3_БД_Основные понятия
3_БД_Основные понятия
Evgeniy Golendyhin
 
2_Введение_основные_понятия
2_Введение_основные_понятия2_Введение_основные_понятия
2_Введение_основные_понятия
Evgeniy Golendyhin
 

More from Evgeniy Golendyhin (12)

21 элементы управление
21  элементы управление21  элементы управление
21 элементы управление
 
20 объект. экранная форма
20  объект. экранная форма20  объект. экранная форма
20 объект. экранная форма
 
11 ms acces_приемы работыt
11 ms acces_приемы работыt11 ms acces_приемы работыt
11 ms acces_приемы работыt
 
10 субд
10 субд10 субд
10 субд
 
8 9 этапы проектированиябд
8 9 этапы проектированиябд8 9 этапы проектированиябд
8 9 этапы проектированиябд
 
7 основные операции реляции
7 основные операции реляции7 основные операции реляции
7 основные операции реляции
 
6 рмд
6 рмд6 рмд
6 рмд
 
5 даталогич модельбд
5 даталогич модельбд5 даталогич модельбд
5 даталогич модельбд
 
4_Основные понятия и типы модели
4_Основные понятия и типы модели4_Основные понятия и типы модели
4_Основные понятия и типы модели
 
3_БД_Основные понятия
3_БД_Основные понятия3_БД_Основные понятия
3_БД_Основные понятия
 
2_Введение_основные_понятия
2_Введение_основные_понятия2_Введение_основные_понятия
2_Введение_основные_понятия
 
1 Введение
1 Введение1 Введение
1 Введение
 

26 27_28_29_30_процедуры и тригеры

  • 1. •Назначение, виды, хранение и вызов хранимых процедур. •Написание тела хранимой процедуры. •Назначение, виды и вызов триггеров 1
  • 2. 2
  • 3. 3 Транза́кция (англ. transaction) — в информатике, группа последовательных операций, которая представляет собой логическую единицу работы с данными. Транзакция может быть выполнена либо целиком и успешно, соблюдая целостность данных и независимо от параллельно идущих других транзакций, либо не выполнена вообще и тогда она не должна произвести никакого эффекта.
  • 4. 4 Пример транзакции Необходимо перевести с банковского счёта номер 5 на счёт номер 7 сумму в 10 денежных единиц. Этого можно достичь, к примеру, приведённой последовательностью действий: •Начать транзакцию •прочесть баланс на счету номер 5 •уменьшить баланс на 10 денежных единиц •сохранить новый баланс счёта номер 5 •прочесть баланс на счету номер 7 •увеличить баланс на 10 денежных единиц •сохранить новый баланс счёта номер 7 •Окончить транзакцию
  • 5. 5 Транзакция – последовательность операций на данными базы, переводящая БД из одного непротиворечивого состояния в другое, которое может быть представлено как одно «событие» . Модели транзакций 1.Модель автоматической выполнимой транзакции; 2.Модель управленческой транзакции инструкций языка SQL COMMIMT ROLLBACK
  • 6. 6 4 - операторы управления транзакциями (Transaction Control Language, TCL) • COMMIT применяет транзакцию; • ROLLBACK откатывает все изменения, сделанные в контексте текущей транзакции; • SAVEPOINT делит транзакцию на более мелкие участки;
  • 7. 7
  • 8. 8
  • 9. Процедура — это приложение (программа), объединяющее запросы и процедурную логику (операторы присваивания, логического ветвления и т. д.) и хранящееся в базе данных. 9
  • 10. 10 Хранимые процедуры являются объектами базы данных. Каждая хранимая процедура компилируется при первом выполнении, в процессе компиляции строится оптимальный план выполнения процедуры. Описание процедуры совместно с планом ее выполнения хранится в системных таблицах БД.
  • 11. 11 Хранимые процедуры позволяют содержать вместе с базой данных достаточно сложные программы, выполняющие большой объем работы без передачи данных по сети и взаимодействия с клиентом. Как правило, программы, записываемые в хранимых процедурах, связаны с обработкой данных. Тем самым база данных может представлять собой функционально самостоятельный уровень приложения, который может взаимодействовать с другими уровнями для получения запросов или обновления данных
  • 12. 12 В языке Visual Basic замкнутыми программными единицами являются процедуры. Процедура содержит набор инструкций и методов, с помощью которых выполняются действия или рассчитывается значение. Например, в следующей процедуре обработки события метод OpenForm открывает форму «Заказы»: Private Sub ОткрытиеФормыЗаказы_Сlick() DoCmd.OpenForm «Заказы» End Sub
  • 13. 13 Существуют процедуры двух типов: процедура-подпрограмма Sub и процедура-функция Function. Процедура-подпрограмма Sub, аналогично инструкциям VB, выполняет действие или набор действий, но не возвращает значение. Пользователь имеет возможность создавать процедуры Sub самостоятельно или использовать процедуры обработки событий, определенные в Microsoft Access.
  • 14. 14 Каждая форма или отчет в базе данных имеют встроенный модуль формы или модуль отчета, содержащий встроенные процедуры обработки событий, которые выполняются в ответ на события, возникающие в форме или отчете и в элементах управления в форме или отчете. После того как Microsoft Access определит, что событие возникло в форме, отчете или в элементе управления, автоматически запускается процедура обработки события, имя которой образуется как комбинация имен объекта и события. Например, процедура обработки события позволяет открыть другую форму при нажатии кнопки в форме.
  • 15. 15 Примечание. При создании объекта с помощью мастера часто автоматически создаются процедуры обработки событий для данного объекта. Для того чтобы понять, как работают процедуры, полезно ознакомиться с такими процедурами, просмотрев их в окне редактора Visual Basic.
  • 16. 16
  • 17. 17
  • 18. 18 Процедура-функция Function (часто такие процедуры называют просто функциями) возвращает значение, например, полученное в результате расчетов. Visual Basic включает ряд встроенных функций; например, функция Now возвращает текущее значение даты и времени.
  • 19. 19 Пример процедуры Function с именем «НачалоСледующегоМесяца», которая возвращает дату первого дня следующего месяца: Function НачалоСледующегоМесяца() НачалоСледующегоМесяца=DateSerial(Yе аг(Now), Month(Now) +1,1) End Function Функция состоит из единственной инструкции присваивания. Результат рассчитывается с помощью встроенных функций Visual Basic DateSerial, Year, Now и Month.
  • 20. 20 Оператор создания хранимой процедуры Для создания хранимой процедуры применяется оператор SQL - CREATE PROCEDURE. CREATE PROCEDURE] <имя_процедуры> [{параметр1 тип_данных} Тело процедуры
  • 21. 21 Вызов хранимой процедуры Хранимая процедура может быть вызвана несколькими способами. Простейший способ - это использование оператора: ЕХЕС <имя процедуры> <значение_входного_параметра1>... <имя_переменной_для_выходного параметра1>...
  • 22. 22 Триггеры базы данных - процедуры, которые хранятся в базе данных и неявно исполняются ("возбуждаются"), когда модифицируется ассоциированная таблица.
  • 23. 23 Три́ ггер (англ. trigger) — это хранимая процедура особого типа, которую пользователь не вызывает непосредственно, а исполнение которой обусловлено наступлением определенного события (действием) — по сути добавлением INSERT или удалением DELETE строки в заданной таблице, или модификации UPDATE данных в определенном столбце заданной таблицы реляционной базы данных.
  • 24. 24 Триггеры применяются для обеспечения целостности данных и реализации сложной бизнес-логики. Триггер запускается сервером автоматически при попытке изменения данных в таблице, с которой он связан.
  • 25. 25