9.2-сур. SQL операторларын клиентте орындау ҥрдісі жəне
сақталатын
рəсімді орындау ҥрдісі
Сақталатын рəсімдер де клиент-сервер сəулетімен желіде жҧмыс
істеу кезінде жылдам əрекет етуін арттыруда өзекті рөлді атқарады.
9.2-суретте SQL операторларын ―клиентте‖ орындау ҥрдісі жəне
сақталатын рəсімді орындау ҥрдісі ҧсынылған.
Бҧл жағдайда клиент серверге тек сақталатын рəсімді іске қосу
командасын орындау ҥшін ғана жҥгінеді. Сақталатын рəсімнің өзі
серверде орындалады. Желі бойынша жіберілетін ақпарат көлемі
қысқартылады.
9.6.
Триггерлер
Триггер — бҧл SQL Server тиісті кестелерді тҥрлендіру
операцияларын орындау кезінде шақыратын, сақталатын рəсімнің
арнайы тҥрі. Триггер байланысты болатын операцияны орындау
кезінде автоматты тҥрде активтендіріледі. Триггерлер бір кестенің
ҥстінде
тҥрлендірудің
бір
немесе
бірнеше
операциясымен
байланысады.
.
Әртҥрлі
коммерциялық
ДҚБЖ-де
əртҥрлі
триггер
қарастырылады. Сонымен MS 5QL Server-де триггерлер тек пост
сҥзгілер ретінде ғана, яғни оқиға өткеннен кейін орындалатын
триггерлер айқындалған.
ДҚБЖ Oracle-да триггердің екі тҥрі айқындалған:
• тҥрлендіру операциясын іске асырудан бҧрын іске қосылуы
мҥмкін триггерлер (олар BEFORE-триггерлер деп аталады);
• MS SQL Server триггерлеріне баламалы, тиісті тҥрлендіруді
орындағаннан кейін белсендірілетін триггерлер (олар AFTER-
триггерлер деп аталады).
Триггерлер ДҚ-дың семантикалық тҧтастығын сақтау ҥшін тиімді
пайдаланылуы мҥмкін, алайда олардың басымдылығы кестелерді
сипаттау деңгейінде жəне кестелер арасындағы байланыстар
деңгейінде
белгіленетін
шектеу
-
ережелер
(constraints)
басымдылығынан кем. Әрқашан триггерлерді жазу кезінде осыны есте
сақтау керек. Байланыстар бойынша біртҧтастық ережелерін бҧзған
кезде (DRI — Declarative Referential Integrity) триггер ешқашан іске
қосылмауы мҥмкін.
Триггерлерді жасау ҥшін арнайы команда пайдаланылады:
CREATE TRIGGER <триггердің_аты>
ON <кестенің_аты>
FOR {[INSERT][, UPDATE] [, DELETE]}
[WITH ENCRIPTING]
AS
SQL-операторлар (бағдарламаның мəтіні)
Триггердің аты ДҚБЖ бағдарламалаудың кіріктірілген тіліндегі
сəйкестендіруші болып табылады жəне тиісті талаптарға сəйкес келу
керек.
FOR параметрінде триггерді іске қосатын, бір немесе бірнеше
тҥрлендіру операциясы белгіленеді.
WITH ENCRIPTING параметрінің мəні сақталатын рəсімдердің
мəнімен бірдей. Ол триггердің бастапқы мəтінін жасырады.
Триггер операторларының қҧрамын шектейтін келесі ережелер бар:
• триггердің денесінде жаңа ДҚ объекттерін қҧру операцияларын
пайдалануға болмайды;
• триггерде ДҚ объектілерінің барлық тҥрлері ҥшін DROP
объекттерін жою командасын пайдалануға болмайды;
• триггердің денесінде
• ДҚ-дың ALTER TABLE, ALTER DATABASE объекттерін
өзгерту
командаларын пайдалануға болмайды;
• ДҚ объекттеріне белгіленген қолжетімдік қҧқықтарын өзгертуге,
яғни GRAND немесе REVOKE командаларын
орындауға болмайды;
• триггер ҧсыну ҥшін жасалмайды (VIEW);
• триггер сақталатын рəсімдерге қарағанда ешқандай мəнді қайтара
алмайды, ол сервермен автоматты тҥрде іске қосылады жəне өз бетімен
бірден бір клиентпен байланыса алмайды.
Бақылау сұрақтары
1. SQL тілінің қҧралдарымен ДҚ-қа
қолжетімдік қандай екі
режимде жҥзеге асырылуы мҥмкін?
2. Әмбебап бағдарламалау тілдеріне тəн қандай операторлар SQL
тілінде жоқ?
3. SQL операторларының сҧраныстарды орындау ҥрдісі шартты
тҥрде қандай кезеңдерге бөлінуі мҥмкін?
4. Кіріктірілген SQL-дегі сҧраныстар қандай екі тҥрге бөлінеді?
5. INTO операторының мақсаты қандай?
6. «Меңзер» ҧғымы нені білдіреді?
7. Қолданбалы бағдарламаларда меңзер не ҥшін пайдаланылады?
8. Мына операторлар нені білдіреді:
• DECLARE CURSOR;
• OPEN;
• FETCH;
• CLOSE?
9. «Сақталатын рəсім» (Stored Procedure) ҧғымы нені білдіреді?
10. Сақталатын рəсім мəтіндерін жазу ҥшін коммерциялық ДҚБЖ-
де бағдарламалаудың қандай тілдері пайдаланылады?
11. Триггер сақталатын рəсімнен немен ерекшеленеді?
I I I Б Ө Л І М
БӚЛІНГЕН ДЕРЕКҚОРЛАРДЫ БАСҚАРУ ЖҤЙЕЛЕРІ
1 0 т а р а у
ДЕРЕКТЕРДІ БӚЛІП ӚҢДЕУ
10.1.
Негізгі ҧғымдар
ДҚБЖ желіде орналаспаған дербес компьютерде орналасқан кезде,
ДҚ əрқашан монополиялық режимде пайдаланылады. Онымен бірнеше
пайдаланушы жҧмыс істесе де, олар тек ретімен жҧмыс істей алады.
Алайда,
жергілікті
дерекқорларды
қолдану
тəжірибесі
көрсеткендей, көптеген жағдайда қҧрамындағы ақпарат көп
пайдаланушылық сипатқа ие, сондықтан пайдаланушылардың
дерекқорлармен бір уақытта жҧмыс істеу мҥмкіндігін қамтамасыз
ететін ДҚБЖ жасап шығару қажеттігі туындайды. Бҧған қоса, барлық
қазіргі заманға сай кəсіпорындар ақпараттық жасақтау саласындағы өз
саясатын CALS-технологияларының қағидаттары негізінде қҧрады (4
тарауды қараңыз).
Әртҥрлі пайдаланушының ақпаратқа бір уақытта қолжетімдік
мҥмкіндігін қамтамасыз ететін дерекқорларды басқару жҥйелері
бӛлінген дерекқорларды басқару жүйелері деп атайды. Жалпы
жағдайда ДҚ пайдалану режимдері 10.1-суретте келтірілген тҥріне ие.
Бөлінген дерекқорларды басқару жҥйелерінде
қолданылатын негізгі
ҧғымдарды қарастырайық.
10.1-сур. Дерекқормен жҧмыс істеу режимдері