алмайды, бір немесе бірнеше кестелер терминдерімен анықталады. Ұсынулар деректермен
жұмыс істеудің əртүрлі тəсілдерін шешеді жəне қауіпсіздігін қамтамасыз етеді. Ұсынулардың
мазмұны басқа кестелерден сұраныстар жасау арқылы таңдалады жəне кестедегі мəні
өзгергенде ұсынулардың деректері аутоматты түрде өзгереді. Ұсынулар – қандай-да бір
бұйрықтар көмегімен орындалатын сұраныс. Яғни, олар сұраныстарда жəне DML
сөйлемдерінде қолданылады.
DML (Data Manipulation Language) – деректерді манипуляциялау тілі, яғни
INSERT – жолдарды енгізу;
UPDATE – жолды жаңарту;
DELETE – жолдарды жою.
Қолданушы шын мəнінде кестемен жұмыс істеп отырғандай болады. Бұдан былай негізгі
кестелерді базалық кестелер деп түсінеміз.
Ұсынулар дегеніміз – сақталуы үшін дискілі жадыны қажет етпейтін, дəстүрлі кестелерге
ұқсас, деректер қорында сақталатын сұраныс. Ұсынуларды сақтау үшін тек оперативті жады
қолданылады.
Ұсынулар бірнеше себептерге байланысты қолданылады:
• олар деректер қорын қолданатын əртүрлі қолданушылар оны əртүрлі көреді;
• қолданушыларға кестедегі кейбір жолдар мен бағандарды ғана көруге рұқсат бере
отырып, олардың көмегімен деректерге рұқсатты шектеуге болады;
• əрбір қолданушыға оған қолайлы түрде сақталған деректер құрылымын көрсете
отырып, деректер қорына рұқсатты жеңілдетеді.
Ұсынулардың негізгі жетістіктері:
Қауіпсіздік. Əрбір қолданушыға оған білуге болатын ақпараттан тұратын біраз ұсынуға
рұқсат беруге болады. Осылайша, сақталған ақпаратқа қолданушылардың рұқсатын шектеуге
болады.
Сұраныстың қарапайымдылығы. Көптеген кестелерге сұранысты біркестем сұранысқа
аймастыра отырып, ұсынудың көмегімен деректерді бірнеше кестеден алып жəне оларды бір
кесте ретінде көрсетуге болады.
Құрылымның қарапайымдылығы. Ұсынудың көмегімен виртуалды кесте жиыны
ретінде əрбір қолданушысына деректер қорының меншікті «құрылымын» құруға болады.
Өзгерістерден қорғаныс. Егер берілген кесте бөлінсе де, реструктурияланса да немесе
атын өзгерте алса да, ұсыну деректер қоры құрылымының өзгеріссіз жəне қарама-
қайшылықсыз түрін қайтара алады.
Деректердің тұтастығы. Егер деректерге рұқсат немесе деректерді енгізу ұсыну арқылы
жүзеге асырылса, ДҚБЖ аутоматты түрде тұтастықтықтың анықталған шарттарының
орындалуын тексере алады.
Жоғарыда аталған жетістіктермен қоса, ұсынудың кемшіліктері де бар:
Өнімділігі. Ұсыну сəйкес кестенің бар болуына көзбояшылың жасайды, сондықтан ДҚБЖ
ұсынуға сұранысты берілген нəтижелі кестеге сұранысқа түрлендіруге тұра келеді. Егер ұсыну
көпкестелі сұранысты бейнелесе, онда ұсынуға жай сұраныс қиын бірігу болады, жəне де оның
орындалуына көп уақыт қажет болады.
Жаңартуға шектеулер. Қолданушы ұсынудың жолдарын жаңартуға талпынса, ДҚБЖ
нəтижелі кесте жолдарына сəйкестік бекітіп, ақырғысын жаңартуы тиіс. Бұл жай ұсынуларға
ғана мүмкін; күрделі ұсынуларды жаңартуға болмайды, олар тек іріктеуге ғана рұқсат етіледі
[1, б. 369].
Көрсетілген кемшіліктер жəне жетістіктер ұсынуды таңдап қолдану керектігін білдіреді.
Бақылау сұрақтары:
1. WHERE ұсынысы неліктен тік ұсынуларда орындалмайды?
2. Неліктен ұсынуларды бақылау тəртібі орындалу керек?
3. CASCADE жəне LOCAL параметрлерінің қандай айырмашылықтары бар?
4. Материализацияланған ұсынуларды қай уақытта тиімді қолданған ыңғайлы?
5. Ұсынулардың айырмашылықтарын түсіндір.
Əдебиеттер:[1] 214- 225 бет. [2] 72-76 бет. [3]104-108 бет. қ[1] 38- 41 бет.
2 кредит сағат.
Тақырыбы:
Ұсынулар
Дəріс мазмұны:
1. Ұсынулардың түрлері.
2. Ұсынуларды жаңарту
Ұсынуларды құру
Ұсынуды əртүрлі əдістермен құруға болады: Enterprise Manager, Create View Wizard
шебері, Transact-SQL құралдары. Ұсынуды Transact-SQL-ң көмегімен құру үшін CREATE
VIEW инструкциясы қызмет етеді. Онда оның негізінде жататын ұсыну аты мен сұраныс
көрсетіледі.
{CREATE | ALTER}
VIEW ұсыну_аты [(баған_аты [,…n])]
[WITH ENCRYPTION]
AS SELECT_оператор
[WITH CHEK OPTION]
Ұсынуды құру үшін сұранысқа кіретін барлық кестелерге рұқсат болу керек. Қажетінше
құрылатын ұсынудың əрбір бағанына ат қоюға болады. Егер бағандар аттарының тізімі
көрсетілсе, онда ол сұраныста қанша баған болса, сонша элементтен тұруы тиіс. Берілетін
бағандардың деректер типі, ұзындығы жəне басқа да сипаттамалары берілген кесте
бағандарының анықтауынан алынады. Егер CREATE VIEW инструкциясындағы бағандар тізімі
болмаса, əрбір ұсыну бағаны сұраныстың сəйкес баған атын алады. Нақты көрсетілген баған
аты аттас бағандары бар бірнеше кестенің бірігуі кезінде немесе есептелетін бағандар үшін
қажетті болып табылады.
WITH ENCRYPTION параметрі серверге SQL-код сұранысын шифрлауды белгілейді, ол
оны заңсыз қарауға жəне қолдануға кепілдік береді. Егер ұсынуды анықтауда бағандар немесе
берілген кесте атын, сондай-ақ деректердің бірігу алгоритмін жасыру қажет болса, онда осы
аргументті қолдану қажет.
WITH CHEK OPTION параметрі серверге ұсыну арқылы туындаған SELECT
операторында анықталған критерийге сəйкес өзгерісті тексеруді белгілейді. Ұсынудағы
жолдың жоғалуына соқтыратын өзгерістерді болдырмайды. Егер ұсыну үшін көлденең фильтр
орнатылса жəне деректер өзгерісі фильтрмен орнатылған жолдар сəйкессіздігіне əкелсе,
жоғарыда айтылған орындалады. WITH CHEK OPTION аргументін қолдану жасалған
өзгерістердің ұсынуда бейнеленетіне кепілдік береді. Егер қолданушы ұсынудан жолдың
алынып тасталатын өзгеріс орындағысы келсе, берілген WITH CHEK OPTION аргументінде
сервер қате жайлы хабарлама шығарады да, барлық өзгерістер қабылданбай қалады.
Ұсынуды жою
SQL2 стандартында ұсынуды жою үшін DROP VIEW инструкциясын қолдану бекітілген.
Бақылау сұрақтары:
1. CASCADE жəне LOCAL параметрлерінің қандай айырмашылықтары бар?
2. Материализацияланған ұсынуларды қай уақытта тиімді қолданған ыңғайлы?
3. Ұсынулардың айырмашылықтарын түсіндір.
Əдебиеттер:[1] 214- 225 бет. [2] 72-76 бет. [3]104-108 бет. қ[1] 38- 41 бет.
11- апта
1 кредит сағат.
Тақырыбы:
Сақталатын процедуралар
Дəріс мазмұны:
1.
Сақталатын процедуралар
Достарыңызбен бөлісу: |