162.19K
AI

Saktalatyn_proceduralar_funktsiyalar_triggerler_v2 (1)

1.

ДЕРЕКТЕР БАЗАСЫ · ТАҚЫРЫП №13
Сақталатын процедуралар,
функциялар және
триггерлер
Қолданылуы және деректер базасының
архитектурасына әсері
1

2.

1. Сақталатын процедура дегеніміз не?
Сақталатын процедура (Stored Procedure) —
деректер базасының ішінде сақталатын SQL
командаларының дайын жиынтығы.
Әрекет орындайды
Ол белгілі бір операцияны орындауға арналған:
деректерді қосу, өзгерту, жою немесе бірнеше
әрекетті бірден орындау.
Параметр қабылдайды
қосу, өзгерту, жою
кіріс мәндері арқылы жұмыс
Нәтиже қайтарады
немесе деректерді өзгертеді
Мысал: клиентті тіркеу, тапсырысты рәсімдеу, есеп дайындау.
2

3.

2. Функциялар
Функция — белгілі бір есептеуді орындайтын
және нәтижені қайтаратын деректер базасының
объектісі.
Көбіне SELECT сұраныстарында, есептеулерде
және деректерді түрлендіруде қолданылады.
Негізгі айырмашылық
Функция міндетті түрде мән қайтарады,
ал процедураның негізгі мақсаты —
әрекет орындау.
Мысал: тауар бағасына салық қосу немесе қызметкердің еңбек өтілін есептеу.
3

4.

3. Триггерлер
Триггер (Trigger) — белгілі бір оқиға болған кезде автоматты түрде іске қосылатын арнайы
бағдарлама. Пайдаланушының бөлек команда беруінсіз орындалады.
INSERT
UPDATE
DELETE
жаңа жазба қосу
жазбаны өзгерту
жазбаны жою
Мысал: тауар саны өзгергенде қойма журналын автоматты түрде жаңарту.
4

5.

Триггер түрлері
BEFORE
AFTER
INSTEAD OF
Оқиғаға дейін
Оқиғадан кейін
Оқиғаның орнына
Деректерді тексеру немесе
іске асырылмай тұрып түзету
үшін.
Журнал жүргізу, байланысты
кестелерді жаңарту үшін.
Көбіне көріністер (view)
арқылы өзгерісті басқару үшін.
Қолдау ДББЖ-ге байланысты: BEFORE — MySQL, PostgreSQL; INSTEAD OF — SQL Server.
5

6.

4. Қай кезде қолданылады?
Процедуралар
Функциялар
Триггерлер
Күрделі және қайталанатын
бизнес операциялар үшін.
Есептеу, тексеру және қайта
пайдаланылатын мәндерді
алу үшін.
Автоматты бақылау, журнал
жүргізу және деректер
тұтастығын сақтау үшін.
Үшеуі де деректер базасының логикасын орталықтандыруға мүмкіндік береді.
6

7.

5. Қарапайым SQL мысалдары
Процедура
CREATE PROCEDURE AddStudent AS
INSERT INTO Students ...
Функция
CREATE FUNCTION GetDiscount(@price INT)
RETURNS INT ...
Триггер
CREATE TRIGGER LogUpdate ON Students
AFTER UPDATE AS ...
7

8.

6. Артықшылықтары
Қайталанатын кодты азайтады.
Бизнес-логиканы деректер базасында орталықтандырады.
Қауіпсіздікті арттырады: кестеге тікелей қолжетімділіксіз, процедура арқылы жұмыс.
Кейбір операциялардың орындалуын жылдамдатуы мүмкін.
Деректердің тұтастығын автоматты бақылауға мүмкіндік береді.
8

9.

7. Кемшіліктері мен тәуекелдері
Бизнес-логика деректер базасына тым қатты
тәуелді болуы мүмкін.
Күрделі триггерлерді түсіну және тестілеу қиын.
Көп триггер болса, бір операцияның неге өзгеріс
тудырғанын анықтау қиындайды.
Әртүрлі ДББЖ-лар (MySQL, PostgreSQL, SQL Server,
Oracle) синтаксисі мен мүмкіндіктері бойынша
ерекшеленеді.
9

10.

8. Архитектураға әсері
Бұл объектілер деректер базасын тек
деректер сақталатын орын емес, логика
орналасқан жүйе ретінде қалыптастырады.
Нәтижесінде бизнес-логиканың бір бөлігі
деректер базасына көшеді.
Қолданба деңгейі
Интерфейс және клиенттік логика
Деректер базасы деңгейі
Кестелер, процедуралар, функциялар, триггерлер
Деректерді сақтау деңгейі
Файлдар, индекстер, физикалық сақтау
3 деңгейлі архитектура
10

11.

9. Салыстыру
Процедура
Функция
Триггер
операцияны орындайды
есептеп, мән қайтарады
оқиғаға автоматты жауап
береді
Мысал: процедура тапсырыс жасайды → функция жеңілдікті есептейді → триггер
өзгерісті журналға жазады.
11

12.

Үздік тәжірибелер
01
02
Мағыналы атау
Бір объект — бір міндет
Объект аты оның міндетін көрсетсін (AddStudent,
GetDiscount).
Үлкен кодты шағын, түсінікті бөліктерге бөліңіз.
03
04
Триггерді қарапайым ұстаңыз
Тестілеу және құжаттау
Ауыр есептеулерді және тізбекті триггерлерді
болдырмаңыз.
Өзгерістерді тексеріп, не үшін қажет екенін жазып
қойыңыз.
12

13.

10. Қорытынды
1
Маңызды құралдар Процедуралар, функциялар және триггерлер — қазіргі деректер базасының
маңызды құралдары.
2
Автоматтандыру Қайталанатын операцияларды автоматтандырады, логиканы
орталықтандырады, тұтастықты қорғайды.
3
Тәуекел Шамадан тыс қолдану архитектураны күрделендіруі мүмкін.
4
Қорытынды ереже Әр объектіні нақты міндетке сай пайдалану қажет.
13

14.

Назарларыңызға рақмет!
Сұрақтарыңыз бар ма?
14
English     Русский Rules