3 Опис серверної частини
До серверної частини входять процедури, генератори та тригери.
Процедури
Процедура, яка зберігається (ПЗ), – це откомпільований набір операторів SQL, що також зветься функцією або підпрограмою, створений програмістом для зручності використання (збережену процедуру використовувати простіше, ніж кожен раз записувати увесь набір операторів SQL, що в неї входять). Крім того, ПЗ можливо вкладати одну в одну – організувати послідовність програм.
Існують два вида ПЗ, це ПЗ вибору і ПЗ, що виконуються. Додатки мають можливість використовувати ПЗ вибору замість таблиць або уявлень в інструкції SELECT. ПЗ вибору повина бути визначена для повернення одного або більше значень, інакше результатом виконання процедури буде помилка. Виконання такої ПЗ можливо потребує деяких параметрів. Інакше, цей різновид ПЗ зветься функцією, яка зберігається, (ФЗ) – таке позначення будемо використовувати у подальшому.
Тригери
Фактично тригер - це спеціальний вид ПЗ, котру СУБД викликає при виконанні деяких операцій модифікації відповідних таблиць чи уявлень. Тригер автоматично активізується при виконанні операції, з якою він пов’язаний. Тригери зв’язуються з однією чи декількома операціями модифікації над однією таблицею.
За допомогою збережених процедур в даннії базі даних обраховується кількість зароблених коштів, пошук заброньованих номрів на вказану дату та підрахунок кількості відмов від броні. В даннії базі даних за допогою тригерів реалізується перепис інформації з таблиці бронь в таблицю номери при виконанні умови та перепис інформації з таблиці бронь в таблицю кліент при виконанні умови, формування чорного списку.
Опис процедур та тригерів
Процедура DENGI не має вхідний параметр, результатом її виконання буде сума грошей які були використані під час розробки родовищ.
Тригер INS_ISKOP спрацьовує при додаванні нового запису в таблицю , ISKOP автоматично додає або змінює значення поля ID значенням відповідного генератора.
Тригер INS_MESTOROZDENIE спрацьовує при додаванні нового запису в таблицю , MESTOROZDENIE автоматично додає або змінює значення поля ID значенням відповідного генератора.
Тригер INS_ROBOTA спрацьовує при додаванні нового запису в таблицю , ROBOTA автоматично додає або змінює значення поля ID значенням відповідного генератора.
Тригер INS_RYDA спрацьовує при додаванні нового запису в таблицю , RYDA автоматично додає або змінює значення поля ID значенням відповідного генератора.
Тригер PROV_GODA спрацьовує при додаванні нового запису в таблицю ROBOTA і перевіряє щоб рік початку роботи був меньший за рік закінчення, або таким самим, якщо рік початку більше всім полям присвоюється значення NULL, а в поле вид роботи заноситься повідомлення про помилку.
Тригер PROV_MESTOR спрацьовує при додаванні нового запису в таблицю ISKOPAEMOE, якщо новий стан поля «N_MESTOROZDENIYA» дорівнює відємному значенню тоді в поле «NAZVANIE» заноситься повідомлення про помилку, а всім іньшім полям присвоюється значення NULL.
Тригер PROV_RYDU спрацьовує при додаванні нового запису в таблицю ISKOPAEMOE, якщо новий стан поля «N_RYDU» дорівнює відємному значенню тоді в поле «NAZVANIE» заноситься повідомлення про помилку, а всім іньшім полям присвоюється значення NULL.
