КІРІСПЕ
SQL – бірқатар фактілер мен олардың арасындағы қатынастармен жұмыс істеуге арналған компьютер тілі. Microsoft Office Access сияқты қатыстық дерекқор бағдарламалары деректермен жұмыс істеу үшін SQL тілін пайдаланады. Көп компьютер тілдеріне ұқсамай, SQL тілі тіпті жаңадан бастаушылардың өздеріне оқуына және түсінуіне қиын емес. Көп компьютер тілдері сияқты, SQL тілі ISO және ANSI сияқты стандарттау органдары таныған халықаралық стандарт болып табылады.
“SQL жаңадан бастаушылардың өздеріне оқуына және түсінуіне қиын емес.” |
|
Сұрақтарға жауап беруге көмектесетін бірқатар деректерді сипаттауға SQL тілін пайдалануға болады. SQL тілін пайдаланғанда, дұрыс синтаксисті пайдалану керек. Синтаксис – тіл элементтері дұрыс біріктірілген ережелер жиынтығы. SQL синтаксисі ағылшын тілінің синтаксисіне негізделген және көптеген бірдей элементтерді Бағдарламаларға арналған Visual Basic (VBA) синтаксисі ретінде пайдаланады.
2.1 Sql реляциялық дқ стандартты тілі
Реляциялық ДҚБЖ (РДҚБЖ) деректердің реляциялық үлгісін қолданады жəне деректерді кесте түрінде көрсетеді. ДҚ ретінде түрлі РДҚБЖ деректердің кестеде сақталуы түсінігі болып табылады, бірақ «Дерекқор» аты тек қана кестелерді біріктірмейді жəне сол кестелерді туындыларын (отчеттер, пішіндер,виртуалды кестелер – көрсетімдер ретінде, сұраныс пішіндері, программалық модульдер жəне т.б.). Кестені екілік массив ретінде немесе жазба жиынтығы ретінде (нақты кесте үшін) бірдей құрылымды жазбаларды жол, қатар деп те атайды. Кестенің бағаналары өрістер немесе атрибуттары деп аталады. Басқаша айтқанда, кесте жазбалардан жəне өрістерден тұрады. Өрістер саны (бағаналар) жəне жазбалар (жол) сандары əр кесте үшін теоретикалық шектелмейді, бірақ практикада шектеулер болады. ДҚ жұмыс жасау үшін арнайы тілдер қолданылады, оларды ДҚ тілдері деп атайды. Тілдік құралдар қолданушылардың ДҚ əрекеттесуі үшін арналған. Олар түрлі компоненттерді сипаттау үшін, ДҚ қажет бөліктеріне əрекет жасау үшін қызмет етеді жəне т.б. ДҚБЖ деректер басқару жүйелерінің шарттары бойынша сипаттау операторларын жəне процедуралық операторларды бөлуге жəне келесі тілдер ретінде көрсетуге болады, олар деректерді сипаттау тілдері жəне ДҚ əрекеттесу тілдері. Деректерді сипаттау тілі (ДСТ)– Data Definition Language (DDL) деректерді логикалық сипаттау үшін қолданылады жəне келесі функцияларды орындау қажет: деректердің типін идентификациялау, деректер элементінің əр типіне уникалды ат меншіктеу, кілттерді анықтау, бір деректердің басқа деректерде кіру ретін спецификациялау, деректер арасында қатынастарды орнату. Олардың арасында сұлбаларды сипаттау тілдерін, бағыныңқы сұлбаларды сипаттау тілдерін, сақтау құрылымдарын сипаттау тілдерін, сыртқы деректерді сипаттау тілдерін ерекшелеуге болады. Сұлбаларды сипаттау тілдері (SDL – Schema Definition Language) деректердің барлық байланыстарымен логикалық құрылмын сипаттауға мүмкіндік береді. Бағыныңқы сұлбаларды сипаттау – сұлбадағы деректердің логикалық сипаттауымен жəне пайдаланушылардың сұранысы бойынша деректердің арасында сəйкестік орнатады. Деректерді сақтау құрылымдарын сипаттау тілдері мекендеу жəне индекстеу əдістерін, деректерді орналастыру тəсілдерін, оларға қатынау тəсілдерін, жадыны басқару тəсілдерін жəне т.б. анықтайды. Сыртқы деректерді сипаттау тілдері өте сирек қолданылады, тек кейбір жоғарғы деңгейлі алгоритмді емес тілдерінде бар. Өте үлкен мəнді дерекқормен əректтесу тілдері болады, олар төменде сипатталған. Базалық тіл – ДҚБЖ құруына қолданылған программалау тілі. Деректерді манипуляциялау тілі (ДМТ) – Data Manipulation Language (DML), ДҚБЖ мен пайдаланушы арасында интерфейсті орнатады. Егер деректерді манипуляциялау базалық тілге құрамдас болса, онда базалық тіл ДҚБЖ программалау тілі болып табылады. Қазіргі кезде автономды программалау тілдері қолданылады, оларға DMT құрамдас болады жəне программалау үрдісін оңайлатады. Сұраныс тілдері – терминалды тілдер, олар программист-мамандарды емес ДҚБЖ əрекеттесуін жасайды. Жаңа ДҚБЖ бұл бөлу функционалды болып табылады. Əдетте, ДСТ жəне ДМТ операторлары жүзеге асырылған кезде біртілдік ортаға бірігеді жəне біріккен интеграцияланған тіл қолданылады, ДҚ жұмыс жасайтын барлық қажет құралдарды қамтитын, құрылуымен бастап жəне ДҚ жұмыс жасайтын базалық пайдаланушылар интерфейсін жасайды. х-Base дерекқор программалау тілі 4 GL (4 Generation Language) 4буынды тілдеріне жатады жəне реляционды d-Base сияқты ДҚБЖ қолданылады. d-Base сияқты ДҚБЖ Ashton-Tate фирмасымен 80 жылдардың басында берілген. Бұл жанұяға d-Base ДҚБЖ тын басқа фирмалармен құрылған дерекқорды басқару жүйелері кіреді. Оларды біріктіретін бірнеше айырмашылықтарымен d-Base сияқты процедуралық типті тіл, ол х-Base программалау тілі. Əрі қарай х-Base программалау тілі негізгі жағдайлары жəне командалары қарастырылады, өйткені ол кез келген d-Base сияқты ДҚБЖ жүзеге асырылуында қолданылады, сонымен қатар объектті бағытталған версияларында программалаудың визуалды құралдарымен. Егер түрлі ДҚБЖ бір команданың бірнеше версияларында қолданылуы мүмкін болса, онда ол команданың версиясы Windows ОЖ Visual FoxPro ДҚБЖ сиппатлған. Visual FoxPro көп таратылған жəне дербес компьютерлер үшін ДҚ басқаратын жоғары жылдамдықты локалды жүйе болып табылады жəне есептеу қорларына төмен сұраулармен сипатталады, ол оны дербес компьютердің кез келген класында қолдануға мүмкіндік береді. Кəзіргі кезде бұл жүйенің бірнеше модификациясы бар, ол кеңауқымда жұмыс істеуге бағытталған, операциялық жүйелерде (MS-DOS тан Unix дейін), жəне аппараттық платформаларда (IBM PC ден жəне олардың аналогтары VAX типті мини ЭЕМ). Қазіргі кезде кең тараған ДҚБЖ xBase жүйесі жатады. Бұл жүйе қатынас аралық (реляциялық) типке қарайды, онда мəліметтер кесте түрінде бейнеленіп, магниттік құрылғылардағы əртүрлі файлдарда сақталады. ДҚ пайдаланатын программалардан тəуелсіз құрастырылған xBase ДҚБЖ мəліметтер файлы (мəліметтер кестесі) бағаналар (өрістер) мен қатарлардан (жазбалар) тұрады да, файл атының тіркеуі .dbf болады. Файлдардағы əрбір өрістің өзіндік аты, типі, көлемі, (бір жазбадағы өрістің символдар саны) жəне дəлдігі – сандардың үтірден кейінгі таңбалар саны болады. Өрістердің типтері символдық (өріс мəндері – кез келген символдар), сандық (өріс мəні - кез келген сан), даталық не мерзімдік (өріс мəні – жылы, күні , айы көрсетілген мерзім), логикалық (өріс мəні - .F. (FALSE жалған) немесе .Т. (TRUE - ақиқат)) түрлерден жəне МЕМО типтес ескертпелерден тұрады. Бір жазбадағы өрістер саны 128-ден, символдар саны 4000-нан, ал бір өрістегі символдар саны 254-тен, ДҚ файлындағы жазбалар саны 1 млрд-тан аспауы тиіс. xBase жүйесінде берілген екі түрлі режимнің (тəртіптің) бірінде жұмыс істеуге болады. Интерактивті жұмыс тəртібі – сұхбаттасу (диалог) режиміндегі команда - жауап арқылы жүргізіледі де, программалық тəртіп xBase программалау тілінде жазылған программаларды орындаудан тұрады. xBase қолданатын барлық ДҚБЖ SQL деректерін басқаратын ендірілген тілді қолдайды. Сондықтан xBase программаларына SQL командаларын қосуға болады. xBase ортасында жұмыс істегенде алгоритмдік тілдердегі сияқты мынадай лексикалық белгілер пайдаланылады: ағылшын алфавитінің үлкен жəне кіші əріптері мен астын сызу таңбасы; 0-ден 9-ға дейінгі ондық цифрлар; +, -, *, /, =, ?, !, >, <, т.с.с арнайы символдар. xBase командасының құрылымы: ЕТІСТІК [<əсер_ету_аймағы>] [<өрнектер _тізімі>] [<FOR/WHILE <шарттар>] мұндағы ЕТІСТІК – команданың аты; <əсер_ету_аймағы> - команданың қандай жазбаларға қатысы бар екенін көрсететін əсер ету аймағы; <өрнектер _тізімі> команданың операндалары болып табылатын ДҚ өрісінің аты. ЭЕМ жадының уақытша айнымалылары, операторлар, тұрақтылар т.б; <шарттар> - FOR жəне WHILE опцияларының (мүмкіндіктерінің) шарттары. Тік жақшаға міндетті түрде қажет емес параметрлер алынады. Əсер ету аймағын көрсету үшін ALL (əсер ету аймағы – ДҚ барлық жазбалары), RECORD N (əсер ету аймағы – ДҚ файлының N-ші жазбасы); NEXT Z (əсер ету аймағы – ішкі жазба сілтемесі көрсетіп тұрған жазбадан бастап келесі Z жазба). Белгілі бір мамандық саласы үшін ДҚ жасау кезеңінде өзімізге керекті объектілермен олардың сипаттамаларын анықтап алуымыз қажет. Мысалы, керекті сала – деканат, объект – студент болсын. Мұндағы бізге қажет студенттің сипаттамалары – фамилиясы, туған жылы, сынақ кірапшасының, номері, семьялық жағдайы, степендиясы болады. ДҚ əрбір студентке сəйкес жазба (қатар), ал оның əрбір сипаттамасына сəйкес - өріс (бағана) болуы тиіс. ДҚ жасау үшін алдымен оның құрамын анықтау керек, яғни кестедегі өріс (бағана) сандары жəне олардың параметрлері: аты, типі, ұзындығы, дəлдігі көрсетілуі тиіс. Бұл үшін CREATE <файл_аты> командасы пайдаланылады. Тағайындалған <файл_аты> ДҚ қойылған атауға сəйкес келеді. Егер ДҚ аты көрсетілмесе, онда xBase жүйесі жасалатын ДҚ қойылатын атты қосымша еңгізуді талап етеді. Одан кейін ДҚ əрбір өрісінің параметрлері – аты, типі, ұзындығы, бөлшекті көрсететін таңбалар саны еңгізілу қажет. Екпінді ДҚ құрылымын өзгерту қажет болған жағдайда MODIFY STRUCTURE командасы орындалады. Ол орындалған кезде экранға бұрынғы ДҚ құрылымы шығады жəне оны өзгерту мүмкіндігі беріледі. Бұл команда жаңа өрістерді енгізу, бұрынғы өрістерді өшіру, өріс аттарын, олардың типін, енін өзгерту мүмкіндігін береді. Жаңа өріс еңгізу үшін курсор сол өріс кіргізілетін жүедегі бұрынғы өрістін алдына жеткізіледі де, CTRL жəне N əріпі пернелері (^N) қатар болады, сонда жаңа өріс ашылып, оның параметрлерін анықтау жүргізіле бастайды. Бұрынғы өрісті өшіру үшін курсор сол өрістің атынын алдына апарылып CTRL жəне U (^U ) пернелері бірге басылады. Тек өрістің атын өзгерту кезінде оның басқа параметрлеріне тиіспеу қажет. Егер оларды да өзгерту керек болғанда, MODIFY STRUCTURE командасын пайдаланамыз. ДҚ жаңа өзгертілген құрылымын есте сақтау CTRL жəне W (^W) пернелерін қатар басу арқылы жүзеге асырылады. Мұндайда бұрынғы файл .bak тіркеуімен дискіде сақталып, ондағы барлық жазбалар өзгертулермен жаңа құрылымға көшіріледі де, ол бұрынғы атпен, бірақ тіркеуі . dbf болып келетін файлға жазылып екпінді күйде қалады. ДҚ соңына жаңа жазба енгізу командасының форматы төмендегідей: APPEND (BLANK) Бұл команда жұмыс істеп екпінді күйде тұрған файл соңына жаңа жазба енгізу үшін қолданылады. Міндетті түрде қолданылмайтын BLANK параметрін жазатын болсақ, ол ДҚ соңына автоматты түрде бір жазба ғана енгізу мүмкіндігін береді. APPEND командасын енгізген соң, экранға өріс аттары шығады. Белгілі бір өрістің мəні болатын мəлімет сол өрістің атының қасына оған қарсы енгізіледі. Əрбір өріс мəні енгізіліп біткен соң, “Enter” пернесі басылады. Бұл командадан шығу, яғни екпінді ДҚ жұмыс істеуді доғару CTRL жəне END (^END) немесе CTRL жəне W (^W) пернелерін қатар басу арқылы жүргізіледі. Экранда ДҚ өрістерін толықтыру кезіндегі ДҚ құрылымы төмендегідей болып көрсетіледі: Екпінді ДҚ басқа ДҚ жазбалар енгізу мүмкіндігі де бар. Ол үшін APPEND FROM <файл>[FOR<шарт>] командасы қолданылады. Бұл команда екпінді ДҚ аты көрсетілген <файлдан> FOR параметрінің <шарт> орындалатын жазбаларды автоматты түрде енгізеді. Егер FOR<шарт> параметрі жазылмаса, онда көрсетілген <файлдағы> барлық жазбалар екпінді ДҚ көшіріледі. FOR<шарт> параметрін файлдың барлық ортақ өрістері үшін қолдану қажет. Жаңа жазбаларды жұмыс істеп тұрған, яғни ішкі сілтеме көрсетіп тұрған екпінді жазбадан кейін де енгізуге болады. Ол үшін INSERT [BEFORE] [BLANK] командасын колдану керек. Оның орындалу барысында экранмен жұмыс істеу APPEND командасына ұқсас болады. Міндетті турде қолданылмайтын BEFORE параметрі жаңа жазбаның екпінді жазбаның алдына енгізуді қамтамасыз етеді. Ал міндетті емес BLANK параметрі ДҚ жаңа бос жазба енгізеді (екпінді жазбаның алдына немесе соңына). ДҚ қажетті жазбаны көріп тауып алу DISPLAY немесе LIST командалары арқылы орындалады. Екпінді ДҚ жазбаларды көру, түзету, өшіру үшін жəне оған жаңа жазбалар енгізу мақсатында BROWSE командасы қолданылады. Оның пішімі: BROWSE [FIELDS <өрістер_тізімі>] [FONT<шрифт_аты>[,<шрифт_размеры>] [FOR <шарты>][REST] [FREEZE<өріс_аты>] [LOCK <өріс_саны>] [NOAPPEND] [NODELETE] [NOEDIT | NOMODIFY] [NOLGRID] [NORGRID] [PARTITION <бағана_нөмері>[LEDIT] [REDIT]] [TITLE <тақырып_тексті>][WIDTH<өрнек>] [VALID [:F]<өрнек>[ERROR<хабарлама_тексті>]] [WHEN<шарт>] Бұл команданың жұмысы кезінде экранға ДҚ жазбалары кесте ретінде шығады жəне өріс аттар (бағаналар) көрсетіледі. Вертикаль бойынша экранға 17 жазба сияды, ал горизонталь бойынша экранның еніне байланысты бірнеше өрістер бағана түрінде бейнеленеді, мұнда экран мəліметтерді көрсететін терезе рөлін атқарады. Терезе бойынша көлденең жəне тік бағытта қозғала отырып жазбаларды көруге, түзетуге жəне өшіруге болады. Оның үстіне BROWSE командасының арнайы менюін (экранға меню қатарын шығару Ғ10 пернесі арқылы жүргізіледі) шығарып, редакциялау ісін Ғ1 пернесімен (редакциялау пернелерін іске қосу/алып тастау – Ғ1 пернесі) орындаймыз. ^W пернелерін басу арқылы енгізілген түзетулерді еске сақтай отырып, BROWSE командасынан шығып кетуге болады. FIELDS <өрістер_тізімі> параметрі экранға тек <өрістер_тізімінде> көрсетілген өрістерді ғана шығару мүмкіндігін береді. LOCK <өрістер> параметрі курсорды басқа өрістерге жылжытқанда да экранның сол жақ шетінде орналасып тұрақтап тұрып қалатын өрістер санын көрсетеді. Бұл өріс аттары экранда олардың мəндерін көріп отырып өзгерту үшін қолданылады. FREEZE<өріс_аты> параметрі тек көрсетілген өрісті ғана редакциялауды қамтамасыз етеді. NOAPPEND параметрі ДҚ жаңа жазбаларды енгізбей тастайды, ол NOMODIFY параметрі мəліметтерге түзету енгізбей, тек оларды көріп тексеру мүмкіндігін ғана береді, яғни ол мəліметтерді көру барысында оларды кездейсоқ өзгертуден сақтауды қамтамасыз етеді. WIDTH<өрнек> параметрі экранға шығатын өрістердің енін белгілі бір көрсетілген таңбаға дейін шектеу жұмысын атқарады. EDIT командасы екпінді ДҚ құрылымындағы кейбір жазбаларды түзету мүмкіндігін береді, бірақ ол жұмыс істеп тұрған екпінді жазбадан бастап түзету енгізеді. Оның пішімі: EDIT [<аймақ>] [FIELDS <өрістер_тізімі>] [FOR/WHILE <шарттар>] Егер бұл команданың тік жақшаға алынған міндетті емес параметрлері көрсетілмесе, оның əсер ету аймағы болып ALL (барлығы), яғни барлық жазбалар есептеледі. Экранға жазбалар біртіндеп шығады. Экрандағы жазбалар бейнеленуі APPEND немесе INSERT командаларындағы сияқты болып көрсетіледі. CHANGE түзету командасының қызметі де осы EDIT командасы тəрізді орындалады.
Екпінді ДҚ жазбалар өшіру жұмысы екі кезеңнен тұрады. Алдымен өшірілетін жазбалар DELETE командасы арқылы белгіленуі тиіс. Оның пішімі: DELETE [<аймақ>] [FOR/WHILE<шарттар>] Егер команданың <аймақ> параметрі көрсетілмесе, онда келісім бойынша команда тек ішкі жазба сілтемесі көрсетіп тұрған екпінді жазбаға ғана əсер етеді. Ал егер FOR<шарттар> параметрі болмаса, онда көрсетілген <аймақтағы> барлық жазбалар өшірілетін болып белгіленеді. Командада WHILE<шарттар> параметрі бар болса, онда жазбалар тізбегін өшіруге белгілеу <шарттар> ақиқат болып отырғанша ғана атқарылады. Белгіленген жазбаларды нақты түрде өшіру РАСК командасымен орындалады. Оның пішімі: РАСК Сонымен, қажет емес жазбалар алдымен DELETE командасымен белгіленеді де, соңынан осы екпінді файлдағы барлық белгіленген жазбалар РАСК командасы арқылы өшіріледі. Егер екпінді ДҚ бір немесе бірнеше индекстелген файлдармен бірге пайдаланылатын болса, онда РАСК командасы индексті файлдарды қайта форматтау ісін де атқарады ZAP командасы екпінді ДҚ барлық жазбаларын, ешқандай алдын ала белгілеусіз – ақ өшіріп тастайды. Бірақ ол екпінді ДҚ құрылымын есте сақтайды. Бұл команданың пішімі: ZAP ZAP командасының атқаратын қызметі DELETE ALL жəне PACK командаларын қатар орындаумен бірдей. ZAP командасымен өшірілген жазбалар RECALL командасымен қалыптағы күйге қайтып оралмайды, өйткені олар бұған жойылып кеткен болатын.
