1 SQL сұраныстар тіліне кіріспе. Тілдің мүмкін-діктері, жетістіктері және функциялары. SQL тілінің тарихы, стандарты мен қолданылуы
1
1
3
3
2 Деректер құрылымын анықтау. SQL тілінің нұсқаулары. Деректердің түрлері. Тұрақтылар. Өрнектер. Айнымалылар. SQL-функциялары
2
1
3
3
3 Деректер қорының логикалық құрылымы. Деректер қорын құру және жобалау. Кестені құру, өзгерту және жою
2
1
3
3
4 Деректерді шығару үшін сұраныстарды құру. SELECT, FROM, WHERE, ORDER BY инструкциялары
2
1
3
3
5 Таңдау және проекция операциялары. Декарт-тық көбейтінді. Екі қатынас бойынша қосылу және бірігу операциялары. Қатынастардың қиылысу, айырма және бөлу операциялары
2
1
3
3
6 Статистикалық функцияларды қолдану. Топтау арқылы сұраныс жасау. HAVING инструкциясы
2
1
3
3
7 Бағыныңқы және құрамды сұраныстар. Ішкі сұраныс түсінігі. Бағыныңқы сұраныстың таңдау шарттары. Бағыныңқы сұраныстар және бірігулер
2
1
3
3
8 Деректер қорына өзгерістер енгізу. Қосу сұранысы. Жою сұранысы. Жаңарту сұранысы
2
1
3
3
9 Деректердің тұтастығын қамтамасыз ету. «Деректер тұтастығы» түсінігі
14 Транзакциялар және тосқауылдар. Транзакция және тосқауыл қою түсінігі. Транзакцияларды басқару. Транзакция түрлері. Тосқауылды басқару
2
1
3
3
15 SQL және деректер қорының қауіпсіздігі. Деректерді қорғау принциптері. Қолданушы-ларды басқару. Деректерге қатынауды басқару. Деректер қоры объектілеріне рұқсат құқығын жүзеге асыру
3
1
3
3
Барлығы (сағаттар)
30
15
45
45
Тақырыптық жоспары Барлығы - 3 несие (сырттай қысқартылған – 2 жыл)
Тақырып атауы
Дәрістер
Лабор / семинар
СОӨЖ
СӨЖ
1 SQL сұраныстар тіліне кіріспе. Тілдің мүмкін-діктері, жетістіктері және функциялары. SQL тілінің тарихы, стандарты мен қолданылуы
1
1
3
3
2 Деректер құрылымын анықтау. SQL тілінің нұсқаулары. Деректердің түрлері. Тұрақтылар. Өрнектер. Айнымалылар. SQL-функциялары
2
1
3
3
3 Деректер қорының логикалық құрылымы. Деректер қорын құру және жобалау. Кестені құру, өзгерту және жою
2
1
3
3
4 Деректерді шығару үшін сұраныстарды құру. SELECT, FROM, WHERE, ORDER BY инструкциялары
1
1
3
3
5 Таңдау және проекция операциялары. Декарт-тық көбейтінді. Екі қатынас бойынша қосылу және бірігу операциялары. Қатынастардың қиылысу, айырма және бөлу операциялары
1
1
3
3
6 Статистикалық функцияларды қолдану. Топтау арқылы сұраныс жасау. HAVING инструкциясы
1
1
3
3
7 Бағыныңқы және құрамды сұраныстар. Ішкі сұраныс түсінігі. Бағыныңқы сұраныстың таңдау шарттары. Бағыныңқы сұраныстар және бірігулер
2
2
3
3
8 Деректер қорына өзгерістер енгізу. Қосу сұранысы. Жою сұранысы. Жаңарту сұранысы
1
2
3
3
9 Деректердің тұтастығын қамтамасыз ету. «Деректер тұтастығы» түсінігі
14 Транзакциялар және тосқауылдар. Транзакция және тосқауыл қою түсінігі. Транзакцияларды басқару. Транзакция түрлері. Тосқауылды басқару
2
2
3
3
15 SQL және деректер қорының қауіпсіздігі. Деректерді қорғау принциптері. Қолданушы-ларды басқару. Деректерге қатынауды басқару. Деректер қоры объектілеріне рұқсат құқығын жүзеге асыру
2
2
3
3
Барлығы (сағаттар)
21
24
45
45
Тақырыптық жоспары Барлығы - 3 несие (сырттай қысқартылған – 3 жыл)
Тақырып атауы
Дәрістер
Лабор / семинар
СОӨЖ
СӨЖ
1 SQL сұраныстар тіліне кіріспе. Тілдің мүмкін-діктері, жетістіктері және функциялары. SQL тілінің тарихы, стандарты мен қолданылуы
1
1
2
2
2 Деректер құрылымын анықтау. SQL тілінің нұсқаулары. Деректердің түрлері. Тұрақтылар. Өрнектер. Айнымалылар. SQL-функциялары
1
1
2
2
3 Деректер қорының логикалық құрылымы. Деректер қорын құру және жобалау. Кестені құру, өзгерту және жою
1
1
2
2
4 Деректерді шығару үшін сұраныстарды құру. SELECT, FROM, WHERE, ORDER BY инструкциялары
1
1
2
2
5 Таңдау және проекция операциялары. Декарт-тық көбейтінді. Екі қатынас бойынша қосылу және бірігу операциялары. Қатынастардың қиылысу, айырма және бөлу операциялары
1
1
2
2
6 Статистикалық функцияларды қолдану. Топтау арқылы сұраныс жасау. HAVING инструкциясы
1
1
2
2
7 Бағыныңқы және құрамды сұраныстар. Ішкі сұраныс түсінігі. Бағыныңқы сұраныстың таңдау шарттары. Бағыныңқы сұраныстар және бірігулер
1
1
2
2
8 Деректер қорына өзгерістер енгізу. Қосу сұранысы. Жою сұранысы. Жаңарту сұранысы
1
1
2
2
9 Деректердің тұтастығын қамтамасыз ету. «Деректер тұтастығы» түсінігі
14 Транзакциялар және тосқауылдар. Транзакция және тосқауыл қою түсінігі. Транзакцияларды басқару. Транзакция түрлері. Тосқауылды басқару
1
1
2
2
15 SQL және деректер қорының қауіпсіздігі. Деректерді қорғау принциптері. Қолданушы-ларды басқару. Деректерге қатынауды басқару. Деректер қоры объектілеріне рұқсат құқығын жүзеге асыру
1
1
2
2
Барлығы (сағаттар)
15
15
30
30
2.2 Лекциялық сабақтар тезистері
1 SQL тіліне кіріспе. Тілдің мүмкіндіктері, жетістіктері және функциялары. SQL тілінің тарихы, стандарты мен қолданылуы SQL тілі – компьютердің деректер қорында сақталатын ақпараттарды таңдауға және өңдеуге арналған құрал. SQL (Structured Query Language) – құрылымдалған сұраныстар тілінің аббревиатурасы. SQL аббревиатурасы әдетте «сиквел» деп оқылады, бірақ «эскюэль» альтернативті түрде айтылуы да қолданылады. SQL – қолданушының деректер қорымен өзара қатынасын ұйымдатыру үшін қолданылатын программалау тілі. Деректер қоры (ДҚ) – ұйымның ақпараттық қажеттіліктерін қанағаттандыру үшін арналған логикалы байланысқан деректердің жиынтығы мен оның сипатталуы. SQL реляциялық деп аталатын бір анықталған типтегі деректер қорымен ғана жұмыс жасайды. Есептеу жүйесінде маңызды ақпараттарды сақтайтын деректер қоры болады. Егер қолданушы деректер қорынан ақпараттарды алғысы келсе, онда ол ДҚБЖ–нен (деректер қорын басқару жүйесі – деректер қорын басқаратын компьютердің программасы) SQL көмегімен сұраныс жасайды. SQL Server–ді қолдайтын SQL диалектісі Transact-SQL деп аталады. Бұл Transact–SQL Server қосымшалары қолданатын негізгі тіл. 1-суретте SQL жұмысының сызба–нұсқасы көрсетілген.
Сурет 1 - SQL-серверінің жұмыс принципі
ДҚБЖ сұраныстарды өңдейді де керекті деректерді тауып, оларды қолданушыларға жібереді. Деректерді сұрау және нәтиже алу процесі - деректер қорына сұраныс деп аталады. Осыдан келіп ол құрылымдалған сұраныстар тілі деп аталған.
Бүгінгі күнде бұл атау шындыққа жанаспайды, себебі SQL тілі тек сұраныстар жасауға арналғандығымен қоса әлдеқайда терең түсініктерді де қамти алады. Деректерді таңдау қазірдің өзінде де SQL-дің маңызды функциясы болып табылады. Қазіргі жағдайда тіл барлық функционалды мүмкіндіктерді жүзеге асыру үшін қолданылады және қолданушыға ДҚБЖ–нен атап айтқанда мыналарды ұсына алады:
Деректерді ұйымдастыру. SQL деректерді ұсыну құрылымын және деректер қорының элементтері арасындағы қатынастарды анықтауға мүмкіндік береді.
Деректерді таңдау. SQL қолданушыға немесе қосалқы программаларға деректер қорынан деректерді алуға және оларды қолдануға мүмкіндік береді.
Деректерді өңдеу. SQL қолданушыға немесе қосалқы программаларға деректер қорын өзгертуге: жаңа деректерді қосуға, бар деректерді жаңартуға немесе жоюға мүмкіндік береді.
Деректерге қатынауды басқару. SQL көмегімен қолданушының деректерді өзгерту, таңдап алу және оларды рұқсатсыз кіріп қолданудан қорғау мүмкіндіктерін шектейді.
Деректерді ортақ пайдалану. SQL параллель жұмыс істеуші қолданушылардың деректерді бірге ортақ қолдануын ұйымдастырады.
Деректердің тұтастығы. SQL келісімсіз өзгеруден немесе жүйенің қабылдамауынан қорғай отырып деректер қорының тұтастығын қамтамасыз етеді.
SQL деректер қорының ішкі тілі болып табылады, оған деректер қорын басқаруға арналған қырыққа жуық нұсқаулары кіреді. SQL нұсқаулары негізгі тілге орнатылады және деректер қорына қатынауға мүмкіндік береді. Әсіресе С++, Pascal немесе Java тілдерімен салыстырғанда, SQL әлсіз құрылымдалған тіл. Қазіргі кезеңде SQL реляциялық деректер қорымен жұмыс істейтін жалғыз стандартты тіл болып табылады.
SQL тілінің келесідей жетістіктері бар:
нақты ДҚБЖ–нен тәуелсіздік;
платформа аралық тасымал;
стандарттардың болуы;
IBM (ДҚБЖ DB2) және Microsoft (ДҚБЖ SQL Server, ODBC протоколы және ADO технологиясы) компанияларының мақұлдауы және қолдауы;
реляциялық негіз;
жоғары деңгейлі құрылым;
арнайы интерактивті сұраныстарды орындауға мүмкіндік;
деректер қорына программалық рұқсат етуді қамтамасыздандыру;
деректерді әртүрлі ұсынудың мүмкіндіктері;
деректер қорымен жұмыс істеуге арналған тіл ретінде толықтығы;
деректерді динамикалық анықтау мүмкіндігі;
клиент-сервер архитектурасын қолдау;
бірлескен қосымшаларды қолдау;
объектілі-бағытталған технологияларды қолдау және олардың кеңейтілуі;
Интернеттегі деректерге қатынасу мүмкіндігі;
Java (JDBC протоколы) тілімен интеграция;
өнеркәсіптік инфрақұрылым.
Қазіргі кезде SQL тілі деректерді басқаратын әмбебап программалық құралы, ол әртүрлі типтегі көптеген ДҚБЖ-мен қолдау тауып келеді және түсіну үшін ыңғайлы болады. Ол көптеген әртүрлі функцияларды орындайды:
Интерактивті сұраныстар тілі. Қолданушылар деректерді таңдау және оны экранда көру үшін SQL командаларын интерактивті программаларда қолданып сұраныстар жасайды. Бұл арнайы сұраныстарды орындау үшін ыңғайлы жағдай.
Деректер қорының программалау тілі. Деректер қорына қатынасу үшін программисттер SQL программаларын қолданады. Бұл әдістеме қолданушының өзі жазған программаларымен қатар деректер қорының қызметші программаларында (есеп берулер генераторлары) қолданылады.
Деректер қорын басқару тілі. Жұмыс станциясында немесе серверде тұрған деректер қорының администраторы SQL-ді деректер қорының құрылымын анықтау үшін және деректерге рұқсат алуды басқару үшін қолданады.
Клиент-сервер қосымшалар құру тілі. Дербес компьютерлерге арналған программаларда SQL жергілікті желі бойымен деректер қорының серверімен байланыстын ұйымдастыру құралы ретінде қолданылады. Онда ортақ қолданылған деректер сақталынады. Корпоративті деңгейдегі қосымшаларда клиент-сервер архитектурасы аса қолданылымды.
Интернеттегі деректерге қатынасу тілі. Web-серверлерде SQL корпоративті деректер қорына қатынасуға мүмкіндік беретін стандартты тіл ретінде қолданылады.
Деректер қорын тарату тілі. Таратылған деректер қоры басқару жүйелерінде SQL бірнеше өзара байланысты есептеу жүйелері арасында деректерді таратуға көмектеседі. SQL арқылы әрбір жүйенің программалық қамтамасыз етілуі басқа жүйелермен байланысып, оларға сұраныстар жібере отырып деректерге қатынасады.
Деректер қорының шлюздер тілі. Әртүрлі ДҚБЖ бар есептеу желілерінде бір типтегі ДҚБЖ-мен басқа типтегі ДҚЖБ-ны байланыстыратын шлюздік бағдарламаларында SQL жиі қолданылады [1, б. 30].
Сонымен, SQL тілі қолданушыларға реляциялық деректер қорында бар болатын ақпараттарға қатынасу, оларды өңдеу, сақтау, қолдану, ұсыну және жинақтауды қамтамасыз ететін пайдалы құрал.
SQL тілінің тарихы, стандарты мен қолданылуы
SQL-ді тіл ретінде қабылдаудың алғаш қадамы болып осы тілдің стандарттарының шығуы болып табылады. SQL стандартын Америка ұлттық стандарттар институты (American National Standards Institute - ANSI) мен стандарттар бойынша Халықаралық ұйымы (International Standards Organization - ISO) ресми бекіткен болатын.
Кез-келген стандарттарды қолданумен қатар SQL-дің көптеген артықшылықтарымен қоса кемшіліктері де бар. Стандарттар, нақты бір арнаға сәйкес өндірістік дамуды бағыттайды. Олар SQL тіліне негізделген принциптердің болуы, оның түрлі нақтылықтармен сәйкес жүзеге асуы, деректер қорымен программалық қамсыздандырудың толығымен өтуін, деректер қорының администраторларының жұмысының әмбебаптылығын көрсетеді. Стандарттар нақты жүзеге асудың функционалды мүмкіндіктерін шектейді.
Барлық нақты тілдердің бір–бірінен айырмашылықтары бар, олар деректер қорының серверіне байланысты жетілдіріліп отырады. Әрбір өндірушіге өз өнімін қазіргі ANSI стандартының қолданушылардың жұмыс істеуіне ыңғайлы болғаны пайдалы. SQL тілін жетілдіру немесе кеңейту - қосымша командалар мен опциялар болып табылады.
Ақпараттық қызмет көрсету нарығының дамуына байланысты программалық қамтамасыз ететін өндірушілер әлдеқайда интеллектуалды, яғни көлемді программалық кешендерді шығара бастады. Көптеген ұйымдар және жеке қолданушылар өздерінің ЭЕМ-дарына алған өнімдерін орналастыра алмады. Ақпараттармен алмасу және ақпараттарды тарату үшін пайдаланыла бастады, ал жалпыланған программалар мен деректер арнайы файлдық серверлерде орнатыла бастады.
ДҚБЖ файлдық серверлерімен жұмыс жасаушылардың арқасында көптеген қолданушылар бір деректер қорына қатынау мүмкіндіктеріне ие болды. Көптеген ұйымдар басқарудың әртүрлі аутоматтандырылған жүйелерін өңдеуді қысқартуда. Алайда, программалардан немесе терминалдардан сұраныстарды өңдеу сол жүйелерде орындалады. Сондықтан қарапайым сұранысты орындау кезінде де файлдық серверден оқу немесе оларға толық файылдарды жазу керек. Бұл жағдайларда конфликті жағдайға немесе желінің қайта жүктелуіне әкеліп соғады. Осындай жетіспеушіліктерді жою үшін клиент-сервер технологиясы ұсынылды. Бірақ сервермен қатынас жасау үшін тағы да SQL тілі таңдалды.