31
2.2.2 PHP бағдарламасының негіздері
PHP - сайтты құруға арналған программалау тілі. PHP сайт жұмысын
автоматтандыруға көмектеседі. Бұл серверде орындалатын HTML-ге
ендірілген скрипт. PHP - дің JavaScript- тен айырмашылығы, PHP скрипті
серверде орындалып нәтижені клиентке көрсетеді, ал JavaScript- тің коды
клиенттік машинаға беріліп сол жерде орындалады.
Өткен ғасырда «әлемдік деңгейдегі» сайт жасау үшін HTML тілін біліп
және көркем стильге ие болу жеткілікті еді. Біраз уақыт өте талаптар
күрделене түсті: JavaScript пен Dynamic HTML-ді қолдану ескіре түсті
(кертартпаға айналды), ал оларды қолданбау web- бет дизайнының көркін
кетіреді. Кейін корпоративті сайттарды жасау үшін C++ және Perl тілдерін
қолдану енді. Бірақ web-дизайнерлер мұндай технологияларды пайдалана
алмағандықтан, скриптер тілінің күрделі мүмкіндіктерін қамтитын және де
қолдануға, үйренуге қарапайым тіл php шықты.
PHP мүмкіндіктері. PHP көмегімен барлығын да жасауға болады:
пішіндерде мәліметтерді өңдеу, динамикалық беттерді генерациялау, куки
(cookies) сеанстарын қабылдау және жіберу. Бұдан басқа, PHP көптеген
мәліметтер қорын (databases) қолдайды. Сонымен қатар, PHP- IMAP, SNMP,
NNTP, POP3 және HTTP хаттамаларын түсінеді де, сокеттермен жұмыс істеу
мүмкіндігі бар, және басқа да хаттамалармен қарым қатынас жасай алады.
PHP-дың айқын ерекшеліктерінің бірі – ол серверлердің мәліметтер
қорымен жұмыс істеу үйлесімділігі. Ол үшін web- серверде мәліметтер
қорымен жұмыс істейтін бағдарламаны орнатып (көбіне қолданылатыны
MySQL), онымен жұмыс істейтін команданы PHP скриптің құрамына қосу
керек. Тілдің мүмкіндіктерін түрлі функциялардан тұратын қосымша
модульдердің көмегімен кеңейтуге болады. Олар PHP- интерпретаторы
(түсіндірушісі) орнатылған жерде болады. Мысалы, Zlib модулі PHP
бағдарламасына
.zip форматындағы мұрағаттармен жұмыс істеуге
көмектеседі, ал libswf – Flash роликтерімен.
PHP тілінде жазылған бағдарлама серверде өңделеді. Браузерлер PHP
коды бар бетке сұраныс жібереді. Сервер сұранысты РНР интерпретаторына
орындауға береді, интерпретатор генерацияланған HTML кодты серверге
қайтарады, соңында сервер клиентке нәтижені көрсетеді. Ешқандай PHP код
браузерге түспейді. Бастапқы PHP кодты көру мүмкін емес.
PHP кемшіліктері.Өзінің идеологиясы бойынша алғашында PHP
кішігірім скриптерді жазуға бағытталған еді. PHP интерпретацияланатын тіл
болғандықтан, компиляцияланатын C тілімен жылдамдығы бойынша
салыстырыла алмайды. Алайда, көлемі аз бағдарламаларды жазуға PHP-ға
теңдесі жоқ[11].
РНР-дің қолдануын үш топқа бөлуге болады:
1)
Ең оңайы, бірақ күрделісі – бұл РНР тілінде сайт және модульдерді
құрастыру. Сайттың тұрақты бөліктерін (мәзір, денесін, баннерлерін) жеке
файлдарға жазып, шақырып отыру – әр бетке жазғанша әлдеқайда жеңіл.
Мысалы, мәзірге жаңа бөлімді қосса.
32
2)
Келесісі – кішігірім жеке бағдарламаларды құру. Ол сауалнама,
конференция, форум болуы және қандай да бір ақпаратты серверге сақтау
үшін РНР қолданылуы мүмкін.
3)
Материалды сайтқа FTP арқылы жүктемей, админ панелі арқылы
қонақ кітабының формасын толтыратындай енгізу. Бұл жағдайда 2 бағдарлама
жазылады, бірі администратордың сайтқа ақпаратты ендіруі мен екіншісі,
кірушілерге ақпартты көрсету. Қазіргі заманғы сайттың көбісі осылай
ұйымдастырылған.
Алғашында РНР Personal Home Page сөзінің қысқартылуы болған, енді
Personal Hypertext PreProcessor мағынасында.
PHP желi ғаламтор үшiн программалаудың төңiрегiдегi әйгiлi скрипт
тiлдерiнiң, орындаудың жылдамдығы, бай функционалдықтың бiрi және PHP
лицензиясы негiзiнде бастапқы кодтарды таратуға өз арқасында оңай. Веб-
сайт құрылыстың төңiрегінде мәлiмдiлiк әзiрлеу веб-қосымша үшiн кiрiктiрме
құрал-жабдықтарды үлкен теруi бар болумен анықталады. PHP синтаксисі СИ
тілінiң синтаксисіне ұқсас. Кейбір элементтер, мысалға, ассоциативті массив
және foreach циклі Perl алынған [11].
Бағдарлама жұмыс үшiн модуль пайдаланылатын айнымалы суреттеуге
талап етпейдi. Кез келген бағдарлама PHP тікелей оператордан басталуы
мүмкін. PHP шектегіш ішіндегі кодты орындайды. Ал шектегіш
сыртында тұрғандар ешқандай өзгертулерсіз шығарылады. Сонымен қатар,
?> және деп жазуға да рұқсат бар.
Айнымалылар $ символымен жазылады, айнымалының түрi жариялауға
басталуға ие болу қажеттi емес. Айнымалылар, функциялар және класстар
сезгіш регистрге қатысты. Тұрақты шама да сезгіш регистрге қатысты.
Айнымалы
апостроф
алынған
жолдардағыны
немесе
қосарланған
тырнақшалар және (оператор көмегiмен жасалған жолдар) heredoc-жолдары
орындалады. PHP жаңа жолға өтуді пробел ретінде қарайды, бұл еркiн
форматтағы HTML тағы басқа тiлдер сияқты кемшiлiк. Нұсқау үтiр-нүктенiң
көмегiмен бөлiнедi, кейбір жағдайларды қоспағанда, құрылымды тану if/else
кейiн және айналымдар.
PHP түсiнiктеме үш түрiндегi қолдайды: (шектелген/* */) си, (
бастайтын және жол жүретiн ақырына дейiн) C++ тiлдiң стилiнде және (жол
ақырына дейiн) қабық UNIX.
Мәлiметтерлердi түрлер. PHP динамикалық типтелуi бар бағдарлама
жасау тiлi, талап етпейтiн жөн-жоба түрiндегi айнымалыларды тануда болып
көрiнедi, айнымалы сонымен бiрге хабарлаудың өзiне. Дегенмен, скалярлық
түрлердiң арасындағы өзгерту PHP қосымша күштерсiз (көбiнесе анық емес
жүзеге асыру кең мүмкiндiктердi iлiгедi және айқын түрлердiң өзгеруi үшiн).
Скалярлық түрлерге:
-
бүтін түр (integer);
-
мәліметтердің заттық түрі (float, double);
-
логикалық түр (boolean);
-
жолдар түрі (string);
33
-
арнаулы түрі NULL.
PHP (integer) бүтiн сандардың ауқымы ( 2 147 483 648 «минус» 2 147 483
647 дейiн 32-биттік таңбалы бүтiн сандардың ауқымы әдетте) тұғырдан
бағынышты болады. Санды ондық, сегiздiк және он алтылық есептеу
жүйелерiмен беруге болады. PHP өңдеушiлерге (boolean) логикалық түр,
қабiлеттi («ақиқат») ғана екi мағына TRUE қабылдауға iлiгедi және («жалған»)
FALSE. Жолда 0-шi сан, жаңа жол, нөл логикалық түрге өзгертуде «0», NULL
және бос массив тең FALSE есептейдi. Қалған мағыналар бәрi TRUE
автоматты түрде түрлендiредi. NULL арнаулы түр айнымалылар үшiн белгiлi
бiр мәнсiз арналған. Жалғыз мағына осы NULL тұрақты шама түрiндегi болып
көрiнедi. NULL түр айнымалысы сонымен бiрге құрылым unset көмегiмен
алшақ айнымалы белгiлi емес NULL тұрақты шама белгiлi айнымалыларды
қабылдайды. Сыртқы ресурстарға сiлтеме түрі (resource) «ресурс» ие болады.
Айнымалы осы дерекқор файлдары, динамикалық бейнелер, қорытынды
кестелер сыртқы объектiлермен басқаруға рұқсат беретiн дескриптор.
Массив (array) санмен көрсетiлгенді қолдайды және тiзбектiк кiлттер
және гетерогендi болып көрiнедi. Массив кез-келген түрлердi мағына, басқа
массивтердi қоса асырай алады. Элементтердің тәртiбі және кілтері оларда
сақталады. Foreach орынына санауышы бар for циклда пайдаланудың жанында
мүмкiн
күтпеген
мiнез-құлық.
Мысалы,
үйреншiктi
кiтапханадан
функцияларымен сандық индекстермен массивтiң iрiктеуiнiң жанында
осылай, iрiктейдi.
Жаhандық массивтер. PHP жаhандық массивтермен басшылық нұсқау
global жаhандық көру кеңiстiгiн пайдаланатын алдын ала анықталған
массивтер деп аталады. Көбiнесе бұл (GET-сұраныс, POST әдiстерін
жiберудiң жанында пiшiндердi даланың параметрлерi) қолданушының
сауалына кiретiн мәлiметтерлерi асырау массивiтері.
Жаhандық массивтер бәрi $GLOBALS және $_REQUEST, (алтыншы
версиясында шығаруды олар жоспарлайды) қол жететiн шейiн бесiншi нобай
PHP ұзын есiмдерi бар әлдеқашанғы аналогтерге ие болады. Қорыта келгенде,
$_GET үндеу [year ] және $HTTP_GET_VARS көру кеңiстiгiн қоспағанда [year
] бiрдей: массив есiмі «ұзын» жаhандық болып көрiнбейдi.
Интерпретатордың ерекшелiгi. PHP-скрипты өңделген қосымшаның
кроссплатформасын қамтамасыз ететiн тәртiпте интерпретаторды әдетте
жұмыстанады (бастапқы код лексикалық талдау және лексемалардың ұрпағы,
алынған лексемалар синтаксистiк талдау, кодтың байтын генерациялау,
интерпретатордың код байтын орындау).
Желіге арналған бағдарламалау обылысында PHP
әйгілі скрипттік
тілдердің бірі (JSP, Perl ASP.NET) ол өзінің қарапйымдыолығына, орындалу
жылдамдылығына жоғарғы функционалдылығына және PHP лицензиясының
негізінде таратылатын бастапқы кодтарына байланысты PHP ядроның
болуымен, қосылатын модульдердің болуымен, «кеңейтілулердің» болуымен
ерекшеленеді, олар деректер қорымен, сокеттермен, динамикалық
34
графиктермен, криптографиялық кітапханалармен, PDF түріндегі құжаттар
жіне т.с.с жұмыс істеуге арналған.
Арнаулы бағдарламалық қамтамасыз етудi пайдалану қосымшалардың
тезәрекеттiгiнiң көбеюi үшiн мүмкiн, үдеткiш деп аталатын. Олардың жұмысы
қағидат бiр күнi шығарылған байттың бүркемелеуiнде қосылады
есте код
және/немесе дискте, қорыта келгенде, қосымша жұмыс барысынан кезең
жағдай әйтеуiр жұмыстың елеулi жеделдетуiне шығарылады. Маңызды
ерекшелiктi болып көрiнетін өңдеушi үлестiрудiң қамын жеуге қажеттiсі естiң
босауы. PHP өзегінде си автоматты басқару үшiн қаржыны жүзеге асырады.
Барлық ерекшеленген си скрипті жүйе жұмыс аяғынан кейiн қайтарады.
Кеңейту. Интерпретатор өзектен тұрады және қосылатын модульдар,
«кеңейтулер», таныстыратын өздердiң динамикалық кiтапханалары. Кеңейту
тiлдiң негiзгi мүмкiндiктерi, дерекқормен жұмыс үшiн мүмкiндiк бере
толықтыруға рұқсат береді, қалыпты PDF сокеттермен, динамикалық жазу-
сызумен, крифтографиялық кiтапханалар, құжаттарымен ұқсас [12].
РНР/FI. 1994 жылы дат программисті (қазір Канадада тұратын) расмус
Лердорф (Rasmus Lerdorf) Perl/CGI-да оның онлайн-резюмесінің қараушылар
санын санау және шығару үшін, HTML-құжаттардың шаблондарын өңдейтін
скрипттер жиынын жазды. Лердорф ол жиынды Personal Home Page (Жеке Үй
беті)
деп
атады.
Кейіннен
скрипттер
интерпритаторы
Perl-дың
функционалығы және жылдамдығы жеткіліксіз болғандықтан Лердорф Си
тіліндегі жаңа РНР/FI шаблондар интерпритаторын құрды. РНР/FI - ағыл.
Personal home Page/Forms Interpreter – «Жеке Үй беті/Форма интерпритаторы».
Perl стильіндегі айнымалылар түрі ($айнымалы_аты мәнді шығару үшін),
формалардың автоматты өңделуі және HTML-мәтінге іштей орындалуы және
т.б. Жаңа туған тіл қарапайым және шектелген синтаксисімен ерекшеленеді.
1997 жылы ұзақ бета-тестілеуден кейін өңдеуіштің Си тілінде жазылған
екінші нұсқасы шықты – РНР/FI 2.0.
Оны әлемнің барлық интернет-домендердің 1% (жуық мөлшермен 50
мың) қолданды.
РНР3. Бүгінгі күні біз білетін РНР-ге ұқсас ең алғашқы нұсқасы РНР3.0
болатын. 1997 жылы екі израильдік программистер Энди Гутмас (Andi
Gutmans) және Зив Сураски (Zeev Suraski) кодты басынан бастап жазды:
құраушылар РНР/FI 2.0-ді электронды коммерция бағдарламаларын құруға
жарамсыз деп шешті. РНР 3.0 нұсқасымен бірігіп жұмыс істеу үшін РНР/FI 2.0
құраушыларын біріктіріп, РНР 3.0-ті РНР/FI-дің ресми мұрагері деп
жариялауды шешті, ал РНР/FI-ді құру толығымен тоқтатылды.
РНР3.0-тің күшті жақтарының бірі ядроны кеңейту мүмкіндігі болды.
Кейіннен кеңейтулерді жазу интерфейсі РНР-ға өз модульдерін жазатын
көптеген құраушыларды әкелді. Бұл жағдай РНР-ге үлкен көлемдегі деректер
қорымен, протоколдарымен, API-дің көпшілігін қолдауға мүмкіндік берді.
Негізінен, бұл жағдай сәттіліктің алғашқы кілті болды. Бірақ тағы бір шартты
айта кеткен жөн, ол – жаңа, қуаты жоғарырақ және объектті-бағытталған
программалауды қолдайтын толық синтаксисі.
35
Толығымен жаңа бағдарламалау тілі жаңа атау алды. Құраушылар
РНР/FI абревиатурасындағы жеке қолданым жайлы қосымшаны қолдауданг
бас тартты. Тіл жай ғана РНР (ағыл. РНР: Hypertext Preprocessor- «РНР:
Гипермәтін процессоры») деп аталады.
1998 жылдың соңында ондаған мың пайдаланушылармен қолданыс
тапты. Жүздеген мың веб-сайттар өздерінің РНР-ді қолданаиынын айтты. Сол
кезде РНР 3.0 интернеттің 10% веб-серверлеріне орнатылған болатын.
РНР 3.0 ресми түрде 1998 жылдың маусым айында, 9 ай бұқаралық
тестілеуден кейін жарық көрді.
РНР4. 1998 жылы РНР 3.0 ресми түрде шыққаннан кейін, Энди Гутманс
және Зив Сураски РНР ядросын қайта құрастыра бастады. Оны қарастыру
себебі қиын қосымша программалардың өнімділігін артыру және РНР
кодының базисінің модульдігін жақсарту болды, РНР 3.0-тің кеңейтілуі
деректер қорының жиынымен сәтті жұмыс істеуге және көп көлемде әртүрлі
API мен протоколдарды қолдауға мүмкіндік берді, бірақ РНР 3.0-тің
модульдерді қолдау сапасы төмен болды және тиімсіз жұмыс істеді.
Zend Engine (құрушылардың атынан, Зива және Энди, сонымен қатар
Zend Technologies-ті құрушылар) деп аталған жаңа қозғауыш қойылған
есептерді жақсы шешіп отырды және 1999 жылдың ортасында жарық көрді.
Осы қозғауышқа негізделген және өзімен бірге қосымша функциялар жиынын
алып келген РНР4.0 ресми түрде 2000 жылдың мамыр айында шықты (РНР 3.0
шыққаннан екі жыл өткеннен соң).
РНР5. РНР-дің бесінші нұсқасы құраушылармен 2004 жылы 13 тамызда
шығарылды. Өзгертулерге интерпритатордың тиімділігін арттырытын Zend
(Zend Engine 2) ядросының жаңаруы жатады. XML өлшеуіш тілінің қолдауы
ендірілген. Java-да қолданылатын модельдерге ұқсас обьектті-бағытталған
программалау функциялары толық өзгертілген. Айта кетсек, ашық, жабық
және қорғалған мүшелер мен әдістер, интерфейстер мен обьекттерді клондау
ендірілген. Дегенмен, жаңартулар алдыңғы нұсқалармен кодты сәйкестікті
сақтау үшін жасалған [13]. Қазіргі кезде РНР6 нұсқаларының dev-нұсқасының
болуына қарамастан, ең тұрақты және кең қолданылатын 5.х.х нұсқалары
болып табылады.
Web-қосымша программаларын құрушыларға web-беттер – ол мәтін мен
суреттерге ғана емес екенін айтудың қажеті жоқ. Жақсы сайт
пайдаланушымен қандайда бір деңгейдегі интерактивтілікті қолдау керек:
ақпаратты іздеу өнімді сату, конференциялар және т.б. негізінен бұл
мүмкіншіліктердің барлығы Perl-да жазылған CGI-скрипттермен орындалған.
Бірақ, CGI-скрипттердің масштабталу мүмкіндігі өте төмен. Әрбір CGI
шақыру ядродан жаңа процесстің тууын талап етеді, ал ол процессор уақытын
жоғарылатады және оперативті жадыны жұмсайды.
PHP басқа нұсқаны ұсынады – ол Web-cервер бөлігі ретінде жұмыс
істейді, осындац мүмкіндігімен ол Microsoft-тің ASP-не ұқсас. PHP синтаксисі
Си немесе Perl синтаксисіне өте ұқсас. Бағдарламалаумен таныс адамдар
программаларды PHP тілінде жазуға өте тез үйренуге мүмкіндіктері бар. Бұл
36
тілде деректерді типтеудің арнайы бағыты жоқ және жады бөлу мен
босатудың керегі жоқ [14].
PhpMyAdmin
PhpMyAdmin
PHP
тілінде
жазылған
және
MySQL
ДҚБЖ
администрациялау үшін арналған веб-интерфейс түріндегі ашық кодты веб-
қосымша бағдарламасы.
PhpMyAdmin браузер арқылы MySQL серверін администрациялауды
ұйымдастырады, SQL командаларын орындауға және кестелер мен деректер
қорының құрамын мүмкіндік береді. Бұл бағдарлама веб-қараушылардың
арасында өте әйгілі, себебі ол MySQL ДҚБЖ-ін SQL командаларын енгізбей-
ақ басқаруға мүмкіндік береді.
Бүгінгі күні PhpMyAdmin практикада кең қолданылады. Оның себебі,
құраушылар өз нөмірін MySQL ДҚБЖ-дегі жаңартуларды ескере отырып,
интенсивті түрде дамытуда.
Провайдерлердің басым көпшілігі бұл қосымша программаны өздерінің
пайдаланушыларына
бөлінген
деректер
қорын
администрациялау
мүмкіндігінің құралдар панелі ретінде қолданылады.
Бұл қосымша программаны ойлап тапқан неміс құраушысы – Тобиас
Ратшиллер (Tobias Ratshiller). Бұл жоба қазіргі кезде 50-ден астам тілде
жұмыс істейді.
2.2.3 MySQL деректер қорының сервері
MySQL – үлестірілген мәліметтер қорының жылдам және мықты
басқару жүйесі. Ол ақпаратты тиімді түрде сақтауға, іздеуге, сұрыптауға және
таңдауға мүмкіндік береді.
Артықшылықтары:
-
Web- қосымшаларының файлдық нұсқаларына қарағанда кодтың әлде
қайда кішігірім болуы (2-3 есе). Оның құрастыру уақытысын үнемдеп, өңдеу
үрдісін жеңілдетеді;
-
С тілінде жазылғандықтан МҚБЖ сұраныс процедураларының
жоғары жылдамдығымен орындалуы.
Кемшіліктері:
-
қосымшаның web-сервердің және мәліметтер серверінің жұмыс істеу
тиімділігіне тәуелділігі. Екі сервердің бірі істен шығатындығы, біреуін
қолданғанға қарағанда мүмкіндігі жоғары;
-
МҚБЖ қолданғанға қарағанда файлдық жүйемен жұмыс істеу әлде
қайда жылдам іске асады. Мысалы, сұранысты жылдам өңдейтін әйгілі Google
іздеу жүйесі файлдық жүйеге негізделген және мәліметтер қорын
қолданбайды.
МҚБЖ- сін қолдану 2 себепке байланысты: интернетте ақпарат пассивті
түрде берілуі мүмкін (қолдаушы тек оқи алады) және активті түрде-
қолданушы ақпаратты енгізіп, өңдей алады. Бұл қонақ кітапшасы, форумдар,
чаттар, блогтар, wiki-жобалар, контентті басқару жүйесі және т.б.
37
Аталған жағдайда МҚБЖ-ны қолдану ерекшелігі айқын: ақпаратпен
байланысты барлық іздеу, жазу операцияларын SQL сервер өзіне жүктейді,
программист тек web-қосымшаның логикасын қадағалайды. MySQL
мәліметтерге қатынау құқығын қадағалап отырады, бір уақытта құқығы бар
қолданушылар мәліметпен жұмыс істей алады [18].
Мәліметтерді ұйымдастыру. SQL – қолданушыға мәліметтердің жалпы
құрылысын өзгертуге және мәліметтер базасының элементтері арасындағы
қатынас орнатуға мүмкіндік береді.
Мәліметтерді оқу. SQL – қолданушыға немесе қосымшаға мәліметтер
базасында бар мәліметтерді оқуға және оларды қолдануға мүмкіндік береді.
Мәліметтерді өңдеу. SQL – қолданушыға немесе қосымшаға мәліметтер
базасын өзгертуге, яғни жаңа мәліметтерді қосуға, сонымен қоса бұрыннан
бар мәліметтерді жаңартуға немесе жоюға мүмкіндік береді.
Қатынасты басқару. SQL-дің көмегімен қолданушыға мәліметтерді
оқуда және өзгертуде мүмкіндіктерін шектей отырып санкцияланған
қатынастан қорғау.
Мәліметтерді бірлесе отырып қолдану. SQL – қолданушылар арасында
мәліметтерді бірлесе отырып пайдалануды қамтамасыз етеді. Олар бір-біріне
кедергі келтірмес үшін параллельді түрде жұмыс істейді.
Мәліметтердің тұтастығы. SQL – мәліметтер базасының тұтастығын
қамтамасыз ете отырып, келіспеген өзгертуден және жүйенің бас тартуынан
қорғайды. Сондықтан SQL ДҚБЖ-мен қатынасуда ең мықта тіл болып
табылады.
Екіншіден, SQL – бұл COBOL, FORTRAN немес С типіндегі толық
емес компьютерлік тіл. SQL-де шарттарды тексеретін IF
операторы,
тасмалдауды ұйымдастыратын GOTО және циклдарды құратын DO немесе
FOR операторы жоқ. SQL мәліметтер базасы тілінің астары болып табылады.
Оның құрамына 30-ға жуық мәліметтер қорын басқаратын операторлар кіреді.
SQL операторы базалық тілге қосымша болады. Мысалы, COBOL, FORTRAN
немесе С және мәліметтер базасына қатынас жасауға мүмкіндік береді.
Онымен қоса С сияқты мұндай тілдерден SQL операторын ДҚБЖ-ға анық
түрде жіберуге болады. Ол функцияларды шақыру интерфейімен іске асады.
Қорыта келсек, SQL – бұл С немес Pascal сияқты тілдермен
салыстырғанда әлсіз жүйеленген тіл болып есептелінеді. SQL-дің операторы
ағылшын сөйлемдерін елестетеді және оператордың мәніне әсер етпейтін
сөздерден тұрады. Бірақ бұл сөздер оның оқылуын жеңілдетеді. SQL-де
логикасы жоқ сөздер тіптен кездеспейді. Онымен қоса SQL операторларын
жасамайтын арнайы ережелер тобы кездеседі. Олар дұрыс болғанымен
ешқандай мәні жоқ.
Өзінің нақты аты болмаса, SQL – реляциондық мәліметтер базасымен
жұмыс істейтін жалғыз стандартты тіл болып есептелінеді. SQL – бұл
айтарлықтай мықты және оқуға оңай тіл.
SQL тілінің таралуының жылдам өсуі қазіргі компьютер өндірісінің
ең маңызды бағыттарының бірі болып табылады. Соңғы бірнеше жылда
38
МББЖ
МБ
SQL
өтініштері
Мәліметтер
SQL мәліметтер базасының бірден бір жалғыз әрі негізгі тілі болып
қалыптасты. Бүгінгі күнде SQL персоналды компьютерде үлкен ЭЕМ-
дерде жұмыс істейтін жүзден астам МББЖ-нің қолдануына мүмкіндік
жасап отыр. SQL компьютердің МБ-дағы мәліметтерді өңдеу және оқу
үшін арналған құрал- сайман. SQL – МБ-ның реляциялық түрімен жұмыс
істейді. 2.3-суретте SQL жұмысының схeмасы келтірілген.
2.3 сурет - SQL жұмысының схeмасы
Осы схемаға сәйкес есептеу жүйесінде маңызды ақпаратты сақтайтын
МБ бар. Егер есептеу жүйесі бизнес төңірегіне таяу болса, онда МБ-да
еңбек ақы, сату көлемі, шығарылатын бөлім және басқадай бағалы заттар
туралы ақпарат сақталуы мүмкін. Егер тұтынушы МБ-нан мәліметтерді
оқығысы келсе, онда ол SQL көмегімен МББЖ-ге өтініш жібереді.
Мәліметтерге өтініш жіберу және нәтиже алу процесстері МБ-на өтініш
беру деп аталады. Сондықтан, SQL – құрылымдық өтініш тілі деп аталады.
SQL қызметтері:
1)
Мәліметтерді ұйымдастыру. SQL – тұтынушыға мәліметтерді
көрсету құрылымын өзгертуге және МБ элементтері арасындағы
қатынастарды қалыптастыруға мүмкіндік береді;
2)
Мәліметтерді оқу. SQL – тұтынушыға МБ-дағы мәліметтерді оқуға
және оларды пайдалануға мүмкіндік береді;
3)
Мәліметтерді өңдеу. SQL – тұтынушыға МБ-ны өзгертуге мүмкіндік
береді. SQL өтініштері арқылы оған (МБ-на) жаңа мәліметтерді қосуға, бар
мәліметтерді жаңартуға немесе жоюға болады;
4)
Қол жеткізуді басқару. SQL көмегі арқылы тұтынушының
мәліметтерді оқу және өзгерту мүмкіндіктерін шектеуге және оларды
рұқсат етілмеген жағдайда қол жеткізу мүмкіндіктеріне қорғауға болады;
5)
Мәліметтерді бірлесе пайдалану. SQL – бір-біріне кедергі жасамау
үшін, бір мезгілде (параллель түрде) жұмыс істеген тұтынушылардың
мәліметтерді бірлесе пайдалануын ұйымдастыру;
6)
Мәліметтердің бүтіндігі. SQL – МБ-ын бүтіндігін сақтай отырып,
келісілмеген өзгертулерден немесе жүйенің істен шығуынан туындайтын
мәліметтердің бұзылуынан сақтайды.
Осылайша, SQL МББЖ-ге әсер ете алатын жеткілікті әрі қуатты тіл.
SQL МББЖ-ның ажырамас бөлігі, әрі ол тұтынушымен МББЖ арасын
39
байланыстыратын құрал-сайман. 2.4-суретте SQL-дің құрылымдық схемасы
көрсетілген.
Мұндағы 1 – пішін генераторы, 2 – есептеу генераторы, 3 –
интерактивті өтініштер құрайтын модуль, 4 – қолданбалы программа, 5 –
клиенттік қолданбалы программа.
МБ-ның ядросы МББЖ-ның жүрегі тәріздес болып табылады. Ядро
дискіден мәліметтерді физикалық түрде оқылуына және мәліметтерді
дискіге жазылуына, және мәліметтерді физикалық құрылымдауға жауап
береді. Одан басқа ядро басқа есептеу жүйесінің және тұтынушылар
қосымшасынан МББЖ-нің басқа бөліктерін (генератор, т.б.) туындайтын SQL
өтініштерін қабылдайды.
2.4 сурет - Құрылымдық схема
2.4 - суретте көрсетілгендей SQL көп қызметтер атқарады:
1) SQL интерактивті өтініштер тілі. Тұтынушылар экранда мәліметтерді
көрсетуге арналған және оқуға арналған интерактивті бағдарламаларға SQL
бұйрықтарын енгізеді. Бұл арнайы өтініштерді орындайтын ыңғайлы тәсіл.
2) SQL – МБ-ны бағдарламалайтын тіл. МБ-ға қол жеткізу үшін
бағдарламашы өз бағдарламаларында SQL бұйрықтарын орындайды. Бұл
тұтынушылар жазған бағдарламаларында да, мәліметтердің қызмет
бағдарламаларында да қолданылады.
3) SQL – МБ-н басқаратын тіл. Мини компьютерде де, үлкен ЭЕМ-де
де МБ-н басқарушы мәліметтерге қол жеткізуді басқару үшін және МБ-ның
құрылымын анықтау үшін SQL тілін қолданады.
4) SQL – клиент-сервер қосымшасын жасайтын тіл. Персоналды
компьютер бағдарламаларында SQL бірлесе пайдаланылатын мәліметтер
сақтайтын МБ-ның серверімен бірге локальді, жергілікті торап арқылы
байланыс ұйымдастыру үшін қолданылады.
Басқа
МББЖ-ге
1
2
3
4
5
МБ ядросы
МБ
шлюзі
МБ
Басқа
комп
жүйелерге
40
5) SQL – мәліметтер базасын орналастыратын тіл. Орналастырылған
МБ-н басқару жүйелерінде SQL арқылы өзара әсерлесетін бірнеше есептеу
жүйелеріне мәліметтерді орналастыру көмектеседі. Әрбір жүйенің
бағдарламамен қамтылуы мәліметтерге қол жеткізуге өтініштер жібере
отырып, SQL-ді қолдану арқылы басқа жүйелермен байланыс жасау.
6) SQL МБ-ның шлюз тәріздес тілі. Әртүрлі МББЖ бар есептеу
тораптарында біртүрлі МББЖ-мен екінші түрлі МББЖ-мен байланыстыруға
мүмкіндік беретін шлюзді бағдарламаларда SQL тілі қолданылады.
Сондықтан, SQL адамдарға, бағдарлама және ЕЖ-де реляциялық МБ-ға
ақпаратқа қол жеткізуді қамтамасыз ететін пайдалы әрі қуатты құрал-сайман.
SQL ерекшеліктері:
-
нақты МББЖ-ден тәуелсіздігі;
-
бір есептеу жүйесінен екіншіге ауыстыру мүмкіндігі;
-
стандарттың бар болуы;
-
реляциялық негіз;
-
арнайы интерактивті өтініштер орындау мүмкіндігі;
-
бағдарламалы түрде МБ-на қол жеткізуді қамтамасыз ету;
-
мәліметтерді әр түрде көрсету мүмкіндігі;
-
МБ-ның жұмыс істеуге арналған толық мәнді тіл;
-
мәліметтерді динамикалық түрде анықтау мүмкіндігі;
-
клиент-сервер архитектурасын қолдану мүмкіндігі.
SQL тілінің таралуының жылдам өсуі қазіргі компьютер өндірісінің ең
маңызды бағыттарының бірі болып табылады. Соңғы бірнеше жылда SQL
мәліметтер базасының бірден бір негізгі, әрі жалғыз тіл болып қалыптасты.
Бүгінгі күнде SQL персоналды компьютерде де, үлкен ЭЕМ-де де жұмыс
істейтін жүзден астам МББЖ-дің қолдауға мүмкіндік жасап отыр. SQL
компоненттерінің мәліметтер базасындағы мәліметтерді өңдеу және оқу үшін
арналған құрал-сайман.
Достарыңызбен бөлісу: |