Оқулық «Білім беруді дамытудың федералды институты»



жүктеу 2,79 Kb.
Pdf просмотр
бет91/101
Дата20.05.2018
өлшемі2,79 Kb.
#15312
түріОқулық
1   ...   87   88   89   90   91   92   93   94   ...   101

оператор  SELECT)  және  шығыс  мәндерін  қоңырау  бағдарламасына 
жібереді. 
Трафиктер  мен  сақталған  процедуралар  операторды  пайдаланған 
кезде  сақталатын  процедураларды  шақыруы  мүмкін  EXECUTE 
PROCEDURE:
 
EXECUTE PROCEDURE <
шара атауы>
 
[(<параметр> [, <параметр>] . . .) ]
 
[RETURNING_VALUES 
(<параметр>[,<параметр>]...)
 
| <параметр>[,<параметр >...]]
 
FOR SELECT DO 
операторы  төмендегідей форматтары бар:
 
FOR
 
<оператор SELECT>
 
DO
 
<оператор>
 
FOR  SELECT  DO 
сөзінің алгоритмі келесідей. SELECT операторы 
орындалады және алынған нәтижелер жиынының әр жолы үшін DO сөзі 
орындалатын операнд орындалады. Бұл оператор жиі SUSPEND болып 
табылады, бұл шығыс параметрлерін шақыру қосымшасына қайтаруға 
әкеледі. 
Бар  сақталған  процедураны  өзгерту  үшін  ALTER  PROCEDURE 
операторын қолданыңыз. Бар сақталған процедураны жою үшін DROP 
PROCEDURE 
операторын  қолданыңыз.  Сақталған  процедураларды 
жасаудың кейбір мысалдары берілген. 
Келесі  рәсім  тауар_кіріс  параметрінің  мазмұнымен  анықталған 
белгілі бір өнімді сатуға арналған барлық фактілерді береді.
 
CREATE PROCEDURE PRODAJA_TOVARA (
Товар_вход VARCHAR 
(20) )
 
RETURNS (
күні_шығыс DATE, Тұтынушы_шығыс VARCHAR (2 0) ,
 
саны_шығыс INTEGER) AS
 
BEGIN
 
FOR SELECT 
Күні, Тұтынушы, Саны FROM Сатылымдар
 
WHERE 
Тауар =:Тауар_кіріс
 
INTO :
Күні_шығыс, :Тұтынушы_шығыс, :Саны_шығыс DO
 
SUSPEND;
 
END 
 
Біріншіден, SELECT мәлімдемесі орындалады, ол сату күнін, сатып 
алушының атын және шығыс сомасын қайтаратын
 
280
 


Тауарлар  үлгілері  Тауар_шығыс  параметрінің  кіріс  параметріндегі 
мәнмен  бірдей  мәнді  қамтитын  әр  енгізу  үшін  тауарлар  Көрсетілген 
мәндер 
шығыс 
параметрлеріне 
жазылады 
(Күні_шығыс, 
тұтынушы_шығыс,  Номер_шығыс).  Нәтижелердің  әрбір  жазбасын 
жазғаннан  кейін,  SUSPEND  мәлімдемесі  орындалады.  Шығарылатын 
параметр  параметрлерін  шақыру  бағдарламасына  қайтарады  және 
шығыс  параметрлерінің  келесі  бөлігін  шақыру  бағдарламасынан 
сұрағанға  дейін  рәсімнің  орындалуын  тоқтатады.  ол  шақырушы 
қосымшаға  кіру  параметрлерін  бірнеше  мәндерді  қайтаруға  болады, 
өйткені бұл процедура таңдау рәсім болып табылады. 
Тағы  бір  процедура  Тұтынушы_кіріс  тауарларды  сатып  алған 
барлық клиенттердің атауын осы өнімнің орташа сатып алу мөлшерінен 
асатын соманы қайтарады. Клиенттік атау клиенттің атауының орнына 
бос мән болса, «Деректер көрсетілмейді».
 
CREATE PROCEDURE 
Тұтынушы_тізім (Тауар_кіріс VAR- 
CHAR(20))
 
RETURNS (
Тұтынушы_шығыс VARCHAR(20)) AS 
DECLARE VARIABLE 
Орта_саны INTEGER;
 
BEGIN
 
SELECT AVG(
саны)
 
FROM 
Сатылымдар
 
WHERE 
Тауар =:Тауар_кіріс 
INTO :
Орташа_саны;
 
FOR
 
SELECT 
Тұтынушылар 
FROM 
Сатылымдар
 
WHERE 
Саны >: Орташа_саны INTO 
:
Тұтынушы_шығыс DO
 
BEGIN
 
IF (: 
Тұтынушы_шығыс IS NULL) THEN 
Тұтынушы_шығыс = «деректер жоқ»;
 
SUSPEND;
 
END
 
END
 
Сақталған  процедуралардың  артықшылығы,  олар  бірінші  кезекте 
серверлік  жағынан  орындалады,  бұл  көптеген  жағдайларда  желілік 
трафикті айтарлықтай төмендетеді; Екіншіден, бір рет жазылған және 
жақсы сақталған сақталған процедураны пайдалануға болады
 
281
 


Көптеген  бағдарламалар  -  сақталатын  процедуралар, 
триггерлер, клиент бағдарламалары. 
Сақталған іріктеу процедурасы, әдетте, дерекқордан жеткілікті 
үлкен  деректерді  таңдау  үшін  пайдаланылады.  Осындай 
жағдайларда  деректерді  іріктеу  алгоритмі  өте  күрделі.  Бұл  рәсім, 
әдетте,  SELECT  мәлімдемесінің  декларативті  құралы  тиісті 
деректерді  кестелерден  немесе  көріністерден  алудың  барлық 
әрекеттерін орындау үшін жеткіліксіз болғанда қолданылады. Бұл 
процедура  кіріс  параметрлерін  және  қайтару  параметрлерін 
қайтара алады. 
Сақталған  процедуралар  қосымшалар  мен  дерекқорлардың 
тұтастығын жақсартады, ұжымдық операциялар мен есептеулердің 
өзектілігіне кепілдік береді. Осындай процедуралардың, сондай-ақ 
қауіпсіздіктің жақсаруы (деректерге тікелей қол жетімділік жоқ). 
Алайда,  қолданбалы  логикамен  сақталатын  процедураларды 
шамадан  тыс  жүктеу  серверді  жүктеуі  мүмкін  екендігін  есте 
сақтаңыз,  бұл  өнімділіктің  жоғалуына  әкеледі.  Бұл  проблема  ірі 
ақпараттық  жүйелерді  дамытуда,  әсіресе,  көптеген  клиенттер  бір 
мезгілде  серверге  қол  жеткізе  алады.  Сондықтан,  көптеген 
жағдайларда,  ымыралы  шешімдер  қабылдау  қажет:  серверлік 
жағынан  қосымшалар  логикасының  бір  бөлігін,  ал  кейбіреулері 
клиенттің тарапынан (сплит логикасы бар жүйелер).
 
12.6.
 
ИНДЕКСТЕРМЕН ЖҰМЫС
 
Индекс  — 
Бұл  нақты  кестенің  көрсетілген  бағандарының 
мәндерін  және  мән  деректерін  қамтитын  кестенің  жолдарына 
сілтемелерді қамтитын дерекқор нысаны. 
Индексі  Осы  кестедегі  деректерді  шығарып  алу  процесін 
жеделдету,  және  кейде  деректер  тапсырыс  жеделдету  көптеген 
жағдайларда  беретін,  белгілі  бір  кестеге  пайдаланушы  немесе 
жүйемен құрылған SELECT есепте ORDER BY құрылымы негізінде 
пайдаланушының  өтініші  бойынша  қабылдады.  Әрбір  индекс 
жолында индексті және көрсеткішті сол баған мәндері бар кестедегі 
жолға жасайтын бағандардың мәні бар. 
Индекстер  болған  жағдайда,  көптеген  жағдайларда  деректерді 
индекстеудің болмауына қарағанда тезірек жасауға болады, себебі 
индекстегі  мәндер  реттеледі  және  индекстің  өзі  аз  болады.  мысал 
бағандар  бағандар  үшін,  атап  айтқанда,  екі  мән,  бар,  осы  үшін 
құндылықтарды саны аз болуы бағандардың көрсеткіштері жасау 
емес,
 
282
 


жүктеу 2,79 Kb.

Достарыңызбен бөлісу:
1   ...   87   88   89   90   91   92   93   94   ...   101




©g.engime.org 2024
әкімшілігінің қараңыз

    Басты бет
рсетілетін қызмет
халықаралық қаржы
Астана халықаралық
қызмет регламенті
бекіту туралы
туралы ережені
орталығы туралы
субсидиялау мемлекеттік
кеңес туралы
ніндегі кеңес
орталығын басқару
қаржы орталығын
қаржы орталығы
құрамын бекіту
неркәсіптік кешен
міндетті құпия
болуына ерікті
тексерілу мемлекеттік
медициналық тексерілу
құпия медициналық
ерікті анонимді
Бастауыш тәлім
қатысуға жолдамалар
қызметшілері арасындағы
академиялық демалыс
алушыларға академиялық
білім алушыларға
ұйымдарында білім
туралы хабарландыру
конкурс туралы
мемлекеттік қызметшілері
мемлекеттік әкімшілік
органдардың мемлекеттік
мемлекеттік органдардың
барлық мемлекеттік
арналған барлық
орналасуға арналған
лауазымына орналасуға
әкімшілік лауазымына
инфекцияның болуына
жәрдемдесудің белсенді
шараларына қатысуға
саласындағы дайындаушы
ленген қосылған
шегінде бюджетке
салығы шегінде
есептелген қосылған
ұйымдарға есептелген
дайындаушы ұйымдарға
кешен саласындағы
сомасын субсидиялау