11 Сақталатын процедуралар. Сақталатын процедуралар концепциясы. Сақталатын процедуралар типтері. Сақталатын процедураларды құру, өзгерту және жою Сақталатын процедуралар шығысымен тіл барлық программалау тілімен қамтамасыз етілетін, «кеңейтілген SQL»-де нағыз бағдарлама және процедура жазуға мүмкіндік беретін базалық мүмкіндіктерімен байыды. Сақталатын процедуралар SQL операторларымен өзара байланысқан тобы бейнелейді, оларды қолдану программистің жұмысын аса жеңілдетеді және икемді етеді, себебі сақталатын процедураны орындау SQL-ң жеке операторлар тізбегін орындаудан оңай болып табылады. Сақталатын процедуралар дегеніміз – компиляцияланған түрде сақталатын деректер қорында және бір немесе бірнеше SQL операторларынан немесе функцияларынан тұратын командалар жиынтығы. Деректер қорындағы сақталатын процедураның SQL жеке операторлар орнына орындалуы келесі пікірлер бойынша пайдалы:
керекті операторлар деректер қорында алдын-ала болады;
олардың барлығы синтаксистік талдау этапынан өткен және орындалу форматында табылады; SQL Server сақталатын процедураның орындалуы алдында оған орындалу жоспарын белгілеуді, оның тиімділігін және компиляциясын орындайды;
сақталатын процедуралар модульді программалауды қолдайды, себебі үлкен есептерді өзіндік өте ұсақ және басқаруға қолайлы бөліктерге бөледі;
сақталатын процедуралар басқа сақталатын процедураларды және функцияларды шақыра алады;
сақталатын процедуралар басқа типті қолданбалы бағдарламалардан шақыртыла алады;
ереже бойынша, сақталатын процедуралар жеке операторлар тізбегінен жылдам орындалады;
сақталатын процедураларды қолдану оңай: олар ондаған және жүздеген командалардан тұра алады, бірақ оларды іске қосу үшін керекті сақталатын процедура атын көрсету жеткілікті. Бұл клиенттің серверге жіберген сұраныс өлшемін азайтуға көмектеседі, ендеше желіге жүктеме жасауға да көмек береді.
Процедураны орындалатын жерінде сақтау желі бойынша берілетін деректер көлемін азайтады және жүйенің жалпы өнімділігін жоғарылатады. Сақталатын процедураларды қолдану прорграммалық кешендерді және оларға өзгерістер енгізуді жеңілдетеді. Әдетте, барлық тұтастың шектеулері ережелер және деректерді өңдеу алгоритмдері түрінде деректер қоры серверінде жүзеге асырылады және деректерді өңдеу интерфейсін көрсететін ақырғы қосымшаға сақтау процедурасы жиынтығы түрінде рұқсат етіледі. Деректер тұтастығын қамтамасыз ету үшін және қауіпсіздік мақсатында, әдетте, қосымша деректерге тікелей рұқсат алмайды – олармен барлық жұмыс процедураларды шақыру арқылы жүргізіледі. Бұл деректерді өңдеу алгоритмдерінің модификациясын жеңілдетеді, барлық желі қолданушыларына қолайлы және қосымшаның өзіне өзгеріс енгізбестен жүйенің кеңейуіне мүмкіндік береді, деректер қоры серверіндегі сақталатын процедураны өзгертсе болғаны.
Сақталатын процедуралар кестелерге немесе деректер қорындағы басқа объектілерге тәуелсіз болады. Олар клиенттік программамен, басқа сақталу процедурасымен немесе триггермен шақырылады. Өңдеуші сақталатын процедураға рұқсат құқығын басқарады, оның орындалуына рұқсат беріп немесе тыйым салып отырады. Сақталатын процедура кодын өзгерту оның иесіне немесе деректер қорындағы мүшеге ғана рұқсат етіледі. Керек болса қолдану құқығын бір қолданушыдан басқаға беруге болады.
Бағдарламалық кодтың клиенттік қосымшадан тура деректер қорына сақталу процедурасы түрінде көшірілуі көп пайда әкеледі. Бұл келісімнің ерекшелігі: