Хелпикс

Главная

Контакты

Случайная статья





SQL және мәліметтер қорының қауіпсіздігі.



Лекция 15. Мәліметтер қорын программалық жабдықтау. Жүйелік және пайдаланушылық құралдар. Мәліметтер қорын басқару жүйесі

Қарастырылатын сұрақтар:

1. Жүйелік және пайдаланушылық құралдар.

2. Мәліметтер қорын басқару жүйесі (МҚБЖ).

3. МҚБЖ тілдік құралдары.

4. SQL тілі.

5. Жоғарғы деңгейдегі программалау тілдердін пайдаланып мәліметтер қорын программалау.

Қазіргі уақыттағы МҚБЖ-лар мәліметтер қорымен жұмыс істеу бойынша ауқымды есептерді қосымшаны жасамай-ақ шешуге мүмкіндік береді. Дегенмен де, қосымшаны жасау дұрыс болатын жағдайлар да бар. Мысалы, егер мәліметтермен манипуляциялауды автоматтандыру қажет етілсе, МҚБЖ-ның терминалдық интерфейсі жеткілікті түрде дамымаған болса, немесе МҚБЖ-дағы ақпаратты өңдеуден өткізу жөніндегі стандарттық қызметтер пайдаланушының қажеттерін қанағаттандырмайтын болса.

Мәліметтер қорын қолданбалы программалық қамтамасыз ету дегеніміз – бұл нақты мәселелерді шешу үшін пайдаланушылардың өздері құрастыратын программалар мен жүйелер. Қазіргі уақыттағы программалаудың алгоритмдік тілдерінде – Delphi, Cu, Visual Basic және т.б. – SQL тілін пайдалана отырып мәліметтер қорына қол жеткізетін программалау құралдары бар. Сонымен қатар, көптеген МҚБЖ-ларда жүйе ішіне орнатылған программалау тілі бар. Dbase форматындағы мәліметтер қорын программалауға арналған арнайы Clipper алгоритмдік тілі бар.

Қосымшалады жасау үшін МҚБЖ –ның программалық интерфейсі болуы тиіс, оның негізін сәйкес программалау тілінің функциялары және/немесе процедуралар құрайды. Қолданыстағы МҚБЖ –лар қосымшаларды жасаудың келесі технологияларына (және олардың комбинацияларын) қолдау жасайды:

· программаларды қолмен кодтау (Clipper, FoxPro, Paradox);

· генераторлардың көмегімен қосымшалардың мәтіндерін құрастыру (FoxPro-де FoxApp, Paradox-та Personal Programmer);

· визуалды программалау әдістерімен дайын қосымшаны автоматты түрде генерациялау (Delphi, Access, Paradox for Windows).

Қолмен кодтау кезінде программалаушылар қосымшалар программаларын мәтінін қолмен тереді, сосын олардың жұмысын жүргізіп баптайды.

Генераторларды пайдалану қосымшаларды жасауды жеңілдетеді, себебі бұл жағдайда программалық кодты қолмен термей-ақ алуға болады. Қосымшалардың генераторлары қосымшалардың негізгі элементтерін (мәзір, экрандық форма, сұраныстар және т.б.) жасауды жеңілдетеді, алайда көбінесе қолмен кодтауды жоққа шығара алмайды.

Қосымшаларды визуалды программалау құралдары қосымшалардың генераторларын қолдану идеясының дамуы боып табылады. Бұл ретте қосымша ыңғайлы біріктірілген ортаның қөмегімен дайын түрдегі «құрылыс блоктарынан» құрылады. Қажет болған жағдайда жасаушы қосымшаға өзінің кодын оңай енгізеді. Біріктірілген орта, әдетте, қосымшаларды құрастыру, баптау мен өзгертудің күшті құралдарын ұсынады. Визуалды программалау құралдарын пайдалану қысқа мерзім ішінде алғашқы екі әдіспен алынған қосымшалардан да сенімді, тартымды және тиімді қосымшаларды құрастыруға мүмкіндік береді.

Жасалған қосымша әдетте амалдар жүйесінің бір немесе бірнеше файлдарынан құралады.

Егер де қосымшаның негізгі файлы орындалатын файлы (мысалы, ехе-файл) болса, онда бұл қосымша МҚБЖ ортасынан дербес түрде орындалатын тәуелсіз қосымша болып табылады. Іс-жүзінде тәуелсіз қосымшаны алу, мәтінді қолмен теру сияқты, сондай-ақ қосымшаның генераторының немесе визуалды программалау ортасының көмегі сияқты тәсілдерімен алынған программаның бастапқы мәндерін компиляциялау жолымен жүзеге асырылады.

Тәуелсіз қосымшаларды мысалы, FoxPro МҚБЖ-лары және Delphi визуальді программалау жүйесін алуға мүмкіндік береді. Айта кететін нәрсе, Delphi құралдарының көмегімен әдетте, тәуелсіз қосымшаларды жасамайды, себебі бұл өте көп еңбекті қажет ететін үдеріс, оның орнына МҚБЖ ядросының рөлін атқаратын BDE (Borland DataBase Engine) мәліметтер қорының процессорын пайдаланады. Дербес ЭЕМ-дарға арналған қосымшаларды жасаудың ең алғашқы құралының бірі «таза түрдегі компилятор» болып саналатын Clipper жүйесі болып табылады.

Көп жағдайларда қосымша МҚБЖ ортасы болмағанда орындалмайды. Қосымшаны орындау МҚБЖ қосымша файлдарының құрамдас бөлігін (жеке жағдайда бұл бастапқы программаның мәтіні) талдайды және орындалатын қажетті машиналық командаларды автоматты түрде құруына негізделген. Былайша айтқанда, қосымша интерпретациялау әдісі арқылы орындалады.

Интерпретациялау режимі қазіргі заманғы көптеген МҚБЖ-ларда, мысалы, Access, Visual FoxPro және Paradox сияқты сондай-ақ, FoxBase және FoxPro тәрізді бұрынғы МҚБЖ-ларда жүзеге асырылған.

Сонымен қатар, компиляция мен интерпретацияның аралық нұсқасын – былайша айтқанда (псевдокомпиляция) жалған компиляцияны пайдаланатын жүйелер болады. Мұндай жүйелерде бастапқы программа компиляция арқылы аралық кодқа (псевдокодқа) өзгереді және дискіде жазылады. Бұл трүде оны кейбір жүйелерде тіпті редакциялауға рұқсат етіледі, алайда жалған компиляцияның басты мақсаты – программаны оны интерпретациялау үдерісін жылдамдатуға мүмкіндік беретін түрге өзгерту. Мұндай тәсіл DOS басқаруымен жұмыс істейтін МҚБЖ-ларда, мысалы, Foxbase+ және Paradox 4.0/4.5 for DOS-та кеңіннен қолданылған.

Windows басқаруымен жұмыс істейтін МҚБЖ-ларда (псевдокод) жалған код көбінесе қосымшаны модификациялауға тыйым салу үшін қолданылады. Бұл жұмыс істеп жатқан программаны кездейсоқ немесе әдейі бұзудан сақтау үшін пайдалы болады. Мысалы, мұндай тәсіл Paradox for Windows МҚБЖ-да қолданылған, онда әзірленген экрандық формалар мен есеп берулерді редакциялауға сәйкес нысандарға өзгертуге жол беріледі.

Кейбір МҚБЖ-лар пайдаланушыға қосымшаны жасау нұсқасын таңдап алу мүмкіндігін ұсынады: МҚБЖ-мен интерпретацияланатын программалық код ретінде немесе тәуелсіз программа ретінде.

Тәуелсіз қосымшаларда қолданудың артықшылығы – машиналық программаны орындау уақыты, әдетте интерпретация кезіндегі уақытпен салыстырғанда қысқалау болады. Мұндай қосымшаларды әлсіз машиналарда және қосымшаны пайдаланушылардың тарапынан өзгертуге қарсы жабу қажет болатын, жүйелерді, «қолдануға даяр» етіп орнатқан жағдайда пайдаланған дұрыс.

Интерпретацияланатын жүйелердің тағы бір үлкен артықшылығы – жақсы МҚБЖ-ларды әдетте мәліметтердің бүтіндігін бақылау мен оларға рұқсатсыз қол жеткізуден қорғауға арналған күшті құралдар болады, ал компиляциялаушы түрдегі жүйелер туралы олай деп айта алмаймыз. Сонғыларында аталған қызметтерді қолмен программалауға, немесе әкімшелердің құзырына қалдыруға болады.

Қосымша жасау құралдарын таңдау кезінде келесі негізгі үш факторды: компьютердің ресурстарын, қосымшаның ерекшеліктерін (программаның қызметтерін модификациялаудың қажеттігі, жасауға жұмсалатын уақыт, қол жеткізуді бақылаудың қажеттілігі және ақпараттың тұтастығын қамтамасыз ету) және жасаудың мақсатын (шеттетілетін программалық өнім немесе өзінің күнделікті іс-әрекетін автоматтандыру жүйесі) ескерген дұрыс.

Қазіргі заманғы компьютері бар және онша күрделі емес қосымшаны құруды жоспарлап отырған пайдаланушы үшін интерпретациялау типіндегі МҚБЖ көбірек сай болады. Еске сала кейік, мұндай жүйелер жеткілікті дәрежеде күшті болып келеді, олардың жоғары деңгейлі құралы бар, олар жасау мен баптауға ыңғайлы, жасау жұмысын жылдам түрде орындауға мүмкіндік береді және қосымшаға еріп жүру мен оны модификациялаудың ыңғайлы болуын қамтамасыз етеді.

Сипаттамалары нашар компьютерді пайдаланған кезде тәуелсіз қосымшаларды жасау құралдары бар жүйені таңдаған дұрыс.

Бұл ретте ескертетін нәрсе, қосымшадағы кішігірім өзгеріс программалау, программаны компиляциялау және баптау кезеңдерін циклдік түрде қайталануына әкеледі. Тәуелсіз қосымшаны орындау мен қосымшаны интерпретация режиміндегі орындаудан айырмашылығы тәуелсіз қосымшаның пайдасына миллисекунд айналасында тербелуінде болады. Сонымен қатар, қосымшаны оны пайдалануға дайындау уақытындағы айырмашылық әдетте интерпретациялау жүйелерінің пайдасына минуттар-сағаттар дәрежесіндегі шама құрайды.

SQL және мәліметтер қорының қауіпсіздігі.

МҚБЖ-нің қызметтерінің біріне мәліметтер қорының қауіпсіздігін қамтамасыз ету жатады. Реляциялық МҚБЖ-лардың қауіпсіздік жүйесінің негізі SQL тілі болып табылады. Мәліметтерді қорғаудың негізгі үш принципі қолданылады:

1) мәліметтерді оқуға, енгізуге және жаңартуға арналған кез келген SQL-команда қандай да бір пайдаланушының атынан орындалады;

2) қорғау объектілері негізінен кестелер мен бейнелеу болады;

3) әрбір пайдаланушыға қандай да бір әрекеттерді жасауға арналған белгілі бір артықшылықтар (құқықтар) беріледі.

Реляциялық мәліметтер қорының әрбір пайдаланушысына идентификатор – пайдаланушыны бірмәнді анықтайтын қысқаша атау меншіктеледі. Коммерциялық, өнеркәсіптік мәліметтер қорларында пайдаланушыға атауды мәліметтер қорының әкімшісі береді. Дербес ЭЕМ-дарда мәліметтер қорында мәліметтер қорын құрған пайдаланушының тек бір ғана идентификаторы болуы мүмкін. Көптеген МҚБЖ-лар үшін идентификатор ретінде операциялық жүйеде тіркелген пайдаланушылардың атаулары қолданылады. Әдетте, пайдаланушы жұмыс алдында идентификаторды және сонымен байланысты парольді енгізуі тиіс. Әртүрлі пайдаланушылардың бірдей идентификаторлары болуы мүмкін.

 

Артықшылықтар. SQL стандарттарында төмендегідей артықшылықтар анықталған:

· оқуға (SELECT);

· жазбаларды енгізуге (INSERT);

· жазбаларды жоюға (DELETE);

· жазбаларды өзгертуге (UPDATE).

CREATE TABLE және CREATE VIEW операторлары көмегімен кестені немесе бейнелеуді құрған пайдаланушы автоматты түрде осы объектілердің иесіне айналады және осыларға қатысты жоғарыда аталған барлық артықшылықтарға ие болады. Кестенің немесе көрсетімнің иесі басқа пайдаланушыларға осы мәліметтерге қол жеткізуге рұқсат ете алады. Ол үшін GRANT операторы қолданылады, оның синтаксистік диаграммасы төмендегідей (4.35-сурет)

 

 

 


4.35-сурет. GRANT операторының синтаксистік диаграммасы

Командада PUBLIC кілттік сөзі артықшылықтарды әрбір пайдаланушыға жекелеп берудің орнына, бірден барлық пайдаланушыларға артықшылықтар беру үшін қолданылады.

Егер GRANT операторында WITH GRANT OPTION сөйлемі көрсетілсе, онда артықшылықтарға ие болатын пайдаланушылар өз кезегінде оларды басқа пайдаланушыларға беруі мүмкін.

 


4.36-сурет. REVOКE операторының синтаксистік диаграммасы

Мысал

Smith агентіне өз артықшылықтарын басқа пайдаланушыларға ұсыну мүмкіндігін беріп Orders кестесіне ақпаратты қосуға және жоюға рұқса ету

GRANT INSERT, DELETE

ON Orders

TO Smith WITH GRANT OPTION

Артықшылықтардың күшін жою. Көптеген реляциялық МҚБЖ-ларда GRANT операторы арқылы ұсынылған артықшылықтар REVOКE операторының көмегімен алынып тастауға болады. REVORE операторының синтаксистік диаграммасы төмендегідей (4.36-сурет)

Мысал

Smith, Pol агенттерінің Orders кестесіне сұраныстар мен өзгерістер енгізуге қатысты артықшылықтарын алып тастау.

REVOКE SELECT, UPDATE

ON Orders

FROM Smith, Pol

Бақылау сұрақтары:

1. SQL тілі қандай мәліметтерді өңдеу құралы болып табылады?

2. SQL қандай тіл болып табылады?

3. 1992 жылы SQL тілінің қандай стандарты пайда болды?

4. SQL тілінде белгісіз немесе анықталмаған мәліметтер қалай белгіленеді?

5. SQL тілінің теориялық негізі не болып табылады?

6. SQL тілінің функцияларын атаңыз

7. SQL тілінің қай операторы МҚ-ға қол жеткізуді басқарады?

8. SELECT, INSERT, DELETE, UPDATE операторлары не болып табылады?

9. REVOКE операторы нені орындайды?

10. SQL тілінің алғашқы стандартын кім және қашан жасаған?

Әдебиеттер:

1. Бидайбеков Е.Ы., Елубаев К., Шекербекова Ш.Т. Мәліметтер қоры және ақпараттық жүйелер. Алматы., 2010.

2. Глушаков С.В., Ломотько Д.В. Базы данных.-Харковь: Фолио; М.:ООО «Издательство АСТ», 2002.

3. Хомоненко А. Д., Цыганков В. М., Мальцев М. Г. Базы данных. Учебник для высших учебных заведений. Под редакцией проф. А. Д. Хомоненко. – Санкт-Петербург: «КОРОНА

 

Қосымша әдебиеттер

1. Б. Бурибаев, Р. Дузбаева, А. Махметова. Основы информатики и вычислительной техники. Сборник задач и упражнений. Алматы: «Мектеп», 2005.

 



  

© helpiks.su При использовании или копировании материалов прямая ссылка на сайт обязательна.