SQL құрылымдық сұранымдар тілі



Мазмұны.

Кіріспе ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... 3

1 тарау. SQLқұрылымдық сұранымдар тілі
1.1 SQL мүмкіндіктері мен артықшылықтары ... ... ... ... ... ... ... .5
1.2 SQL даму тарихынан ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ..
1.3 SQL көмегімен мәліметтер қоры басқару ... ... ... ... ... ... ... ..
1.4 Оқу мәліметтер қорының сипаьамасы ... ... ... ... ... ... ... ... ...

2тарау. SQL командаларының типтері.
2.1.SQL мәліметтерінің типтері ... ... ... ... ... ... ... ... ... ... ... ... ... .
2.2. Сандық типтер ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ..
2.3. Дата мен уақытты беру үшін арналған типтер ... ... ... ... ... ..
2.4. Мәліметтер қорының объектілерін басқару ... ... ... ... ... ... ..
2.5. Индестарды құру және жою ... ... ... ... ... ... ... ... ... ... ... ... ...
2.6. Ұсыныстармен жұмыс ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... .
2.7. Сақталатын процедуралар, оларды құру,
орындау және жою ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ..
2.8. Триггерлер, құру және жою операторлары ... ... ... ... ... ... ...
2.9.Мәліметтерді басқару,кестедегі
берілгендерді өңдеу ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ...
2.10. Мәліметтер қорының қауіпсіздігін басқару ... ... ... ... ... ...
2.11. Мәліметтер қорына кіру рұқсатын басқару ... ... ... ... ... ...
Кіріспе.
Бүгінгі таңда коммуникация және мәліметтерді сақтау облысындағы компьютерлік жүйелер басқаларына қарағанда жылдамырақ дамып келе жатыр, өйткені оларға жаңа технологиялармен бірге және әлемдегі әлеуметтік өзгерістермен бірге жүруге тура келеді. Сақталуға арналған ақпараттың көлемінің жоғары ырғақпен ұлғаюына байланысты, программалық жабдықтаушыларға мәліметтердің үлкен көлемін басқарудың жаңа жолдарын өңдеуге тура келеді.
Мәліметтер қоры ақпараттық технологиялар облысында алдағы орындарды алатындықтан, олар адам өмірінің бір бөлігіне айналды. Осы процестерді, басқару жүйелерінің дамуы интеграция жолымен тұтас бүтінге келе жатыр, осыған үлкен қадам мәліметтерді өңдеу стандартын SQL құрылымдық сұранымдар тілі көмегімен пайдалану болып табылады. SQL-ді пайдаланып жұмыс істейтін программалық жабдықтар, қолданушыға білінбей қызмет етеді, және ақпаратты басқаратын қажетті негізді береді. Қазіргі кезде клиент/сервер архитектурасына негізделген желілік ақпараттық технологияны пайдалануға көп көңіл бөлініп отыр.
Осы күндері адам өмірі әртүрлі типті ақпараттармен қаныққан, ал оларды басқару үшін әртүрлі қызметті мәліметтер қоры мен банктерін құру қажет. Кез-келген есеп мәліметтерді және ақпараттарды басқарумен байланысты. Осы себепті соңғы жылдары осы мақсатқа арналған көптеген компьютерлік жүйелер-мәліметтер қорын басқару жүйелері пайда болды.
Мәліметтердің санының өсуі, оларды сақтау және өңдеу қажеттілігінен, әртүрлі компьютерлік жүйелерде қызмет ететін МҚ-ң стандартты тілін құру сұранысы туындады. Шынында да, мұндай стандартты тіл қолданушыға мәліметтерді дербес компьютерден, желілік жұмыс станциясынан немесе әмбебап ЭЕМ-да жұмыс істей отырып басқару мүмкіндігін береді.
SQL (Structured Query Language)-бұл құрылымдық мұранымдар тілінің қысқартылған атауы, реляциялық МҚ-да мәліметтерді құру және өңдеу құралдарын береді. Компьютерлік технологиялардан ерекшелігінен тәуелсіздігі, және SQL-ді реляциялық мәліметтер қорының технологиясы облысындағы өндіріс жетекшілерімен қолдауы оны МҚ стандартты тіліне айландырды.
Реляциялық МҚ пайда болғанға дейін, көптеген МҚБЖ үшін құрылған барлық мәліметтерді басқару тілдері, файлдардың логикалық жазулары түрінде берілген мәліметтермен жүргізілетін операцияларға бағытталған. Әрине, бұл қолданушыдан мәліметтердің сақталуын, қандай мәліметтер қажеттігін, олардың қайда орналасқанын және қалай алу жолдарын білу талапді етеді.
Қарастырылып отырған SQL тілі логикалық байланысқан кесте-қатынастар жиынтығы түрінде берілген мәліметтермен операциялар жүргізуге бағытталған. Осы тілдің құрылымының ерекшелігі өңдеу процедурасына емес, мәліметтерді өңдеудің соңғы нәтижесіне бағытталуында. SQL мәліметтердің, индекстердің қайда орналасқанын, және нәтиже алу үшін қандай операциялар тізбегін пайдалану керектігін өзі анықтайды, сондықтан бұларды МҚ-на сұранымдарда көрсетудің қажеті жоқ.
Реляциялы МҚ теориясының пайда болуы екі кластарға бөлуге болатын, сұранымдар тілінің қатарын өндіруге түрткі болды:
 Қатынастарға қолданылатын, сұранымдарды арнайы операторлармен бейнелеуге мүмкіндік беретін алгебралық тілдер;
 Предикаттарды санау тілдері, берілген қатынастар жиынтығынан жаңа қатынасты анықтайтын, ережелер жиынтығы. Яғни, МҚ-ғы сұранымға жауап ретінде алынатын қатынастарды анықтау әдісі.

Мазмұны.
Кіріспе ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ..
... ... ... ... ... ... ... ... ... 3
1 тарау. SQLқұрылымдық сұранымдар тілі
1.1 SQL мүмкіндіктері мен
артықшылықтары ... ... ... ... ... . ... ... 5
1.2 SQL даму
тарихынан ... ... ... ... ... ... .. ... ... ... ... ... ... ... ... ... ... .
1.3 SQL көмегімен мәліметтер қоры
басқару ... ... ... ... ... ... ... ..
1.4 Оқу мәліметтер қорының
сипаьамасы ... ... ... ... ... ... . ... ... ...
2тарау. SQL командаларының типтері.
2.1.SQL мәліметтерінің
типтері ... ... ... ... ... ... ... ... ... ... ... ... ... .
2.2. Сандық
типтер ... ... ... ... ... ... ... . ... ... ... ... ... ... ... ... ... ... ..
...
2.3. Дата мен уақытты беру үшін арналған типтер ... ... ... ... ... ..
2.4. Мәліметтер қорының объектілерін басқару ... ... ... ... ... ... ..
2.5. Индестарды құру және
жою ... ... ... ... ... ... ... ... ... ... ... ... ...
2.6. Ұсыныстармен
жұмыс ... ... ... ... ... ... ... .. ... ... ... ... ... ... ... ...
2.7. Сақталатын процедуралар, оларды құру,
орындау және
жою ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... .
.
2.8. Триггерлер, құру және жою операторлары ... ... ... ... ... ... ...
2.9.Мәліметтерді басқару,кестедегі
берілгендерді
өңдеу ... ... ... ... ... ... ... .. ... ... ... ... ... ... ... ... ... ... ..

2.10. Мәліметтер қорының қауіпсіздігін басқару ... ... ... ... ... ...
2.11. Мәліметтер қорына кіру рұқсатын басқару ... ... ... ... ... ...

Кіріспе.
Бүгінгі таңда коммуникация және мәліметтерді сақтау облысындағы
компьютерлік жүйелер басқаларына қарағанда жылдамырақ дамып келе жатыр,
өйткені оларға жаңа технологиялармен бірге және әлемдегі әлеуметтік
өзгерістермен бірге жүруге тура келеді. Сақталуға арналған ақпараттың
көлемінің жоғары ырғақпен ұлғаюына байланысты, программалық
жабдықтаушыларға мәліметтердің үлкен көлемін басқарудың жаңа жолдарын
өңдеуге тура келеді.
Мәліметтер қоры ақпараттық технологиялар облысында алдағы орындарды
алатындықтан, олар адам өмірінің бір бөлігіне айналды. Осы процестерді,
басқару жүйелерінің дамуы интеграция жолымен тұтас бүтінге келе жатыр,
осыған үлкен қадам мәліметтерді өңдеу стандартын SQL құрылымдық сұранымдар
тілі көмегімен пайдалану болып табылады. SQL-ді пайдаланып жұмыс істейтін
программалық жабдықтар, қолданушыға білінбей қызмет етеді, және ақпаратты
басқаратын қажетті негізді береді. Қазіргі кезде клиентсервер
архитектурасына негізделген желілік ақпараттық технологияны пайдалануға көп
көңіл бөлініп отыр.
Осы күндері адам өмірі әртүрлі типті ақпараттармен қаныққан, ал оларды
басқару үшін әртүрлі қызметті мәліметтер қоры мен банктерін құру қажет. Кез-
келген есеп мәліметтерді және ақпараттарды басқарумен байланысты. Осы
себепті соңғы жылдары осы мақсатқа арналған көптеген компьютерлік жүйелер-
мәліметтер қорын басқару жүйелері пайда болды.
Мәліметтердің санының өсуі, оларды сақтау және өңдеу қажеттілігінен,
әртүрлі компьютерлік жүйелерде қызмет ететін МҚ-ң стандартты тілін құру
сұранысы туындады. Шынында да, мұндай стандартты тіл қолданушыға
мәліметтерді дербес компьютерден, желілік жұмыс станциясынан немесе әмбебап
ЭЕМ-да жұмыс істей отырып басқару мүмкіндігін береді.
SQL (Structured Query Language)-бұл құрылымдық мұранымдар тілінің
қысқартылған атауы, реляциялық МҚ-да мәліметтерді құру және өңдеу
құралдарын береді. Компьютерлік технологиялардан ерекшелігінен
тәуелсіздігі, және SQL-ді реляциялық мәліметтер қорының технологиясы
облысындағы өндіріс жетекшілерімен қолдауы оны МҚ стандартты тіліне
айландырды.
Реляциялық МҚ пайда болғанға дейін, көптеген МҚБЖ үшін құрылған
барлық мәліметтерді басқару тілдері, файлдардың логикалық жазулары түрінде
берілген мәліметтермен жүргізілетін операцияларға бағытталған. Әрине, бұл
қолданушыдан мәліметтердің сақталуын, қандай мәліметтер қажеттігін, олардың
қайда орналасқанын және қалай алу жолдарын білу талапді етеді.
Қарастырылып отырған SQL тілі логикалық байланысқан кесте-қатынастар
жиынтығы түрінде берілген мәліметтермен операциялар жүргізуге бағытталған.
Осы тілдің құрылымының ерекшелігі өңдеу процедурасына емес, мәліметтерді
өңдеудің соңғы нәтижесіне бағытталуында. SQL мәліметтердің, индекстердің
қайда орналасқанын, және нәтиже алу үшін қандай операциялар тізбегін
пайдалану керектігін өзі анықтайды, сондықтан бұларды МҚ-на сұранымдарда
көрсетудің қажеті жоқ.
Реляциялы МҚ теориясының пайда болуы екі кластарға бөлуге болатын,
сұранымдар тілінің қатарын өндіруге түрткі болды:
▪ Қатынастарға қолданылатын, сұранымдарды арнайы операторлармен
бейнелеуге мүмкіндік беретін алгебралық тілдер;
▪ Предикаттарды санау тілдері, берілген қатынастар жиынтығынан
жаңа қатынасты анықтайтын, ережелер жиынтығы. Яғни, МҚ-ғы
сұранымға жауап ретінде алынатын қатынастарды анықтау әдісі.

І тарау.SQL құрылымдық сұранымдар тілі
SQL мүмкіндіктері мен артықшылықтары
1987 жылы SQL маманданған реляциялық МҚБЖ үшін стандартты тіл болып
барлық кең таралған жүйелерге ене бастады. Ол келесі момнеттерімен
байланысты. Тез әрекеттіліктің өсуі, және энергияны тұтынудың,компьютер
өлшемдері мен бағаларының төмендеуі, тұтыну нарығының, қолданушылар
ортасының және түрлері мен бағаларының кеңеюіне әкеліп соқты. Сондай-ақ,
әртүрлі программалық жабдықтауларға да сұраныс көбейді. Сатып алушы
фирмаларға күресте, программалық жабдықтаушылар нарыққа интеллектуалды, әрі
көлемді программалар кешенін шығара бастады. Олар сатып ала отырып,
көптеген ұжымдар мен жеке қолданушылар ол программаларды өз компьютерлеріне
орната алмадй. Ақпаратпен алмасу және оларды тарату үшін ЭЕМ желілері
құрылды, онда программалар мен мәліметтерді арнайы файлдық сервер лерге
орналастырды.
Файлдық серверлермен жұмыс істейтін МҚБЖ, бір-бірінен алыс ара-
қашықтықта орналасқан әртүрлі ЭЕМ қолданушыларына бір МҚ кіру мүмкіндігін
берді. Мұндай жағдайда ұжымдарды, оқу кешендерін, ақпараттық және басқа
жүйелерді әртүрлі автоматталған басқару жүйелерін өндіру оңайлатылады.
Бірақ бұл кезде қарапайым сұраным құру үшін де файлдық серверден немесе
серверге файлдарды жазу керек болады, ал ол конфликтілік ситуайияларды
туғызуы мүмкін. Мұндай кемшіліктерді бодырмау үшін клиентсервер
технологиясы ұсынылған боатын, бірақ ол үшін сервермен хабарласу тілі қажет-
мұндай тіл ретінде SQL таңдалды.
SQL концепцияларында операциялардың мәліметтердің кесте түрінде
берілуіне бағытталуы, аз сөйлемді жинақы тілді құруға мүмкіндік берді. SQL
сұранымдарды орындау үшін, және де қолданбалы программаларды құру үшін де
пайдаланылуы мүмкін. Онда келесі сөйлемдер бар:
▪ Мәліметтерді анықтау тілі-МҚ анықтау, және де кестелер мен
индекстерді анықтау және жою;
▪ Мәліметтерді таңдау сұранымы-SELECT сөйлемі;
▪ Мәліметтерді түрлендіру сөйлемі-мәліметтер қосу, жою және өзгерту;
▪ Мәліметтерді басқару сөйлемі-мәліметтерге кіру артықшылығн беру
немесе қайтару, транзакцияларды басқару және т.б.
Сондай-ақ SQL бұл сөйлемдерде келесі есептерді орындау мүмкіндігін
береді:
▪ Арифметикалық есептеулер, функционалдық түрлендірулер, және
арифметикалық өрнектер мен текстерді салыстыру операцияларын
орындау;
▪ Кесте мазмұнын экран дисплейіне немесе баспаға шығарар кезде
жолдар мен бағаналарды реттеу;
▪ Қолданушыларғы МҚ-да мәліметтердің көлемін өзгертпей
интерпретациялау мүмкіндігін беретін ұсыныстар құру;
▪ Сұраным бойынша шығарылатын бір немесе бірнеше кестелер және
ұсыныстар мазмұнын басқа кестеде сақтау;
▪ Мәліметтерді топтау, және осы топтарға арифметикалық орта,
сумма, максимум, минимум операцияларын қолдану;
SQL тілі көптеген МҚБЖ-ң негізі болып табылад, өйткені ол
мәліметтердің физикалық құрылымдануына және дискіге жазылуына сондай-ақ
мәліметтерді дискіден физикалық оқуға жауап береді, және МҚБЖ-ң басқа
компоненттерінен және қолданушы қосымшаларынан SQL-сұранымдарды қабылдау
мүмкіндігін береді.Олай болса, SQL қолданушыларға, программаларға реляциялы
МҚ ақпараттарына кіруді қамтамасыз ететін мықты құрал.
SQL даму тарихынан
Реляцияла МҚ басқару жүйелері 80 жылдардың аяғында кеңінен т анымал
болды. Мұндай мәліметтер қорында ақпарат қарапайым кестеде
сақталатындықтан, мәліметтерді беретін басқа модельдерге қарағанда
артықшылығы көп. SQL реляциялы МҚ тілі болғандықтан, оның тарихы да
мәліметтерді осы тәсілмен берудің дамуымен тығыз байланысты.
Жоғарыда айтылғандай, реляциялы МҚ түсінігі 70 жылдардың басында IBM
компаниясының ғылыми қызметкері Э.Ф.Кодпен енгізілді.Осыдан кейін
реляциялық мәліметтер қоры одбысында IBM компаниясының SystemR деп аталған
жобасымен бірге зерттеулер жүргізіле бастады, мұнда реляциялық модельдің
жұмыс істеу қабілеті тексеріліп және дәлелденді. Сондай-ақ МҚБЖ-ін өңдеуден
басқа жоба көлемінде МҚ-на сұранымдар тілін құру жұмысы жүргізілді, олардың
бірі SEQUEL (Structured English Query Language-ағылшын құрылымдық
сұранымдар тілі)-деп аталды.
70 ж соңында SystemR жобасының екінші таралымы жүзеге асырылды,
нәтижесінде жүйе ІВМ компаниясының бірнеше тапсырушыларының
компьютерлерінде орнатылды. Ол SystemR МҚБЖ-мен және оның МҚ тілімен
жұмыста алғашқы нақты тәжірибеге әкелді, ал оның аты SQL деп ауыстырылды.
Нятижесінде ІВМ компаниясы реляциялық МҚ жұмыс істеуге қабілетті және
программалық өнімдер құрудың негізі болып қызмет ете алады деген
қорытындыға келді.
SystemR жобасы және оның шеңберінде құрылған МҚ-мен жұмыс істейтін
тіл, дүние жүзінің мамандарының назарын аудартты. Осылайша, 1977 ж SQL-ға
негізделген, реляциялық МҚБЖ-ін құру үшін Relational Software Inc(қазір
Oracle Corporation) компаниясы ұйымдастырылды. Oracle деп аталған бұл МҚБЖ,
бірінші юолып 1979 ж нарыққа шықты.
Беркли қаласының университетінде (Калифорния штаты) ІВМ компаниясының
зерттеушілер тобыреляциялық МҚБЖ-нің протатибін құрды, QUEL сұранымдар
тілін қосқан өз жүйелерін Ingres деп атады. 1980 ж бірнеше мамандар
Берклиді тастап, Ingres жүйесінің коммерциялық жүйесін құру үшін Relational
Technology Inc компаниясының негізін құрды, оны нарыққа шығару 1981 ж
басталды. 1989 ж аты Ingres Corporation болып ауысқан Relational Technology
компаниясы жүйеге өзгерістер қатарын енгізген реляциялық МҚБЖ жетекші
таратушысы болып қалды. Мысалы, 1986 ж алғашқы QUEL сұранымдар тілі
табыспен SQL болып ауыстырылды.
1981 ж ІВМ фримасы SystemR негізінде, SQLDataSystem(SQLDS) деген
атпен коммерциялық өнім шығарды, ал 1983 ж тағы бір МҚБЖ-Database(DB2)
пайда болды. DB2 ІВМ компаниясының жетекші реляциялық МҚБЖ болды, және осы
жүйенің SQL тілі МҚ үшін стандарты болды. DB2-де іске асырылған технология,
кейін ІВМ компаниясының барлық бағыттарының программалық өнімдерінде,
дербес компьютерден бастап, желілік серверлерге және үлкен ЭЕМ
пайдаланылды.
80 жылдардың бірінші жартысында реляциялық МҚ таратушылар өз
өнімдерін мойындату үшін күрес жүргізді, өйткені дәстүрлі МҚ
архитектурасымен салыстырғанда, реляицлық программалық өнімдердің бірқатар
кемшіліктері болды. Бірақ реляциялық жүйелердің үлкенартықшылығы болды:
олардың реляциялық сұранымлар тілі МҚ-на сұранымлы жазбай орындау және
нәтижені бірден жазу мүмкіндігін берді.
80жылдардың екінші жартысында реляциялық МҚ болашақ технологиясы
болып санала бастады, алдыңғы версияларына қарағанда өнімділіг 2-3 есе
артық болған МҚБЖ-нің жаңа версиялары Ingres және Oracle пайда болды. 1986
ж ANSIISO-мен қабылданған SQL стандартын жариялау, SQL-ға стандарт
статусын ресми түрде жариялады. Сондай-ақ , бұл статус компьютерлік жүйелер
үшін UNIX ОЖ-сі негізінде анықталды.
Компьютердің қуатының күшеюі мен олардың жергілікті желіге
бірігуінен, дербес компьютерлер үшін күрделі МҚБЖ қажеттігі туды. Мұндай
МҚБЖ-нің таратушылары жаңа жүйелерді құруды оларға SQL-ды негіз етіп қойды,
ал мини-компьютерлердің МҚБЖ-сін таратушылар жергілікті есептеу желісінің
нарығына шықты. 90ж басында SQL таратуын жаңашаландыру және қуатты
процессорлардың пайда болуы бұл тілді транзакцияны өңдеу қосымшаларында
қолдануға мүмкіндік берді. Енді SQL ақпаратты өңдеу салыстырмалы аз шығымен
жүзеге асатын жүйеге желілік сервер ен дербес компьютерді байланыстыратын
клиентсервер архитектурасыныңкілттік бөлігі болды. Осы себепті барлық жаңа
МҚБЖ-не SQL-қолдауын енгізе бастады, SQL-ді мойындаудың маңызды қадамы бұл
тілге стандарттардың пайда болуы. SQL сьандартын ескертуде дәстүр бойынша
ANSIISO –мен тағайындалған ресми стандарт туралы сөз болады. Бірақ басқа
да маңызды SQL стандарттары бар, соның ішінде ІВМ компаниясының DB2 жүйесі,
және UNIX ортасындағы SQL үшін XOPENстандарты. 1982 ж реляциялық МҚ
тілінің ресми стандартымен ANSI-дің жұмысы басталды, және комитет өз
таңдауын SQL-ға тоқтатты. Стандарт негізі ретінде DB2 жүйесінің SQL алынды
1989 ж стандарт SQL-89 немесе SQL1 деп аталды. Осыдан кейін ANSI жұмысын
жалғастырып, жаңа жоба SQL2-ні құрды, ал одан кейінгі стандарт SQL3 үшін
басқа өзгерістер ұсынылды. SQL2 стандарты ANSI-де бекітілді және толығымен
1992 ж қазанда қабылданды.
SQL көмегімен мәліметтер қоры басқару
Реляциялық МҚ –ол жолдар мен бағандардан тұратын екі өлшемді кестеде
сақталатын байланысқан ақпарат. МҚБЖ терминінде жазу деп аталатын әрбір жол
мәліметтердің қандай да бір ерекшелігіне сәйкес келеді. Өріс деп аталатын
кестенің әрбір бағаны мәліметтердің әрбір типінің мәнінен тұрады. Олай
болса, реляциялық МҚ негізі ақпараты бар екі өлшемді кесте болып табылады.
Бірақ МҚ бір кестеден тұратын реляциялық МҚ сирек кездеседі.
Мәліметтермен күрделі және қуатты операцияларды өрнектеу үшін өзара
байланысқан ақпаратты фрагменттері арасындағы байланысқа байланысты.
Жүйенің максималды иілгіштігін қолдау үшін кестенің жолдары арнайы ретпен
орналаспауы керек. Реляциялық МҚ жүйелерінде ақпаратты реттейтін қуатты
функция бар.
Жолдардан айырмашылығы, кестенің өрістері реттеледі және оларға ат
беріледі. Яғни, кестенің әрбір бағанының кереметаты болуы керек.
Әдетте SQL бірден көп қолдаушылары бар компьютерлік жүйелерде жұмыс
істейді, сәйкесінше оларды өзара ажырату қажеттілігі туады. Әдетте мұнда
жүйеде әрбір қолданушының хұқын тексеру коды болады. Компьютермен сеанстың
басында қолданушы жүйеге өзінің арнайы ID(идентификатор) айтып кіреді.
Кірудің ID-ін пайдаланатын кез-келген адамдар саны, жеке қолданушы болып
табылады.
Көптеген SQL орталарындағы әрекеттер арнайы идентификатор- лармен
сәйкес рұқмат етілген. Кесте немесе басқа объект толық билігі бар
қолданушыға тәуелді. Және де қолданушыда объектілермен әрекеттер жүргізу
артықшылығ бар. Төменде келтірілетін мысалдарда кез-келген қолданушының
әрекеттер жасауға артықшылығы бар деп санаймыз.
Оқу мәліметтер қорының сипатамасы
Осыдан былай мысал ретінде шағын МҚ пайдаланамыз. Онда 4 кесте бар:
STUDENTS кестесі студенттер туралы ақпараттың 5 өрісінен тұрады:
▪ SNUM-студенттік билет номері;
▪ SFAM-студент фамилиясы;
▪ SIMA-студент аты;
▪ SOTCH-студенттің әкесінің аты;
▪ STIP-студент алатын стипендия көлемі;
PREDMET кестесі оқу пәндері туралы ақпараттан тұрады:
▪ PNUM-пән номері;
▪ PNAME-пән атауы;
▪ TNUM-
▪ HOURS-сағат саны;
▪ COURS-курс;
TEACHERS кестесі оқытушылар туралы ақпараттан тұрады:
▪ TNUM-
▪ TFAM-оқытушы фасмилиясы;
▪ TIMA- оқытушы аты;
▪ TOTCH- оқытушының әкесінің аты;
▪ TDATE-
USP кестесі студенттердің үлгірімі туралы ақпараттан тұрады:
▪ UNUM-
▪ OCENKA-
▪ UDATE-
▪ SNUM-
▪ PNUM-

ІІ тарау.SQL -командаларының типтері
Әдетте SQL -тілінің командалары бірнеше топқа бөлінеді. Командалардың
негізгі типтері келесідей:
□ DDL(Data Definition Language )- мәліметтердің анықталу тілі. Бұл
топтың командалары мәліметтер қорының объектілерінің құрылымын құру және
өзгерту(мысалы, кестелерді құру және жою үшін) үшін пайдаланылады.
□ DML(Data Manipulation Language)- мәліметтердә басқару (манипуляция)
тілі. DMLкомандалары мәліметтер қоры объектілеріндегі ақпараттарды
басқару үшін пайдаланылады.
□ DCL (Data Control Language)-мәліметтерді басқару тілі. Сәйкес
командалар мәліметтер қорында сақталған ақпаратқа кіруді басқаруға
арналған.
□ DQL (Data Query Language)-тілі. Бұл жиі қолданылатын командалар,
мәліиеттер қорына сұранымды құруға арналған.(Сұраным дегеніміз сәйкес
ақпаратты алу мақсатында мәліметтер қорына хабарласу.
□ Мәліметтер қорын администрациялау командалары әрекеттердің орындалуына
бақылауды жүзеге асыру және өндірілетін операцияларыды анализдеуге
арналған.
SQL мәліметтерінің типі.
Стандартты SQL- де пайдаланылатын мәліметтер типтерін келесі топтарға
бөлуге болады:
□ Жолдық типтер;
□ Сандық типтер;
□ Дата мен уақытты көрсетуге арналған типтар.
Бұл типтердің нақтырақ сипаттамасы.
Жолдық типтер.
SQL-де екі жолдық типтер анықталған:
□ Белгіленген ұзындықты символдық жолдар;
□ Айнымалы ұзындықты символдық жолдар.
Белгіленген ұзындықты символдық жолдар.
Белгіленген ұзындықты символдық жолдар түрінде сақталған мәліметтер,
өріске енгізілгенжолдың нақты өлшемінен тәуелсіз, жадының бір ғана көлемін
алады. ANSI-SQL-92-ге сәйкес белгіленген ұзындықты символдық жолдарды
хабарлау түрі келесідей:
Character(n)
Мұндағы n бұл хабарлау қатысты болатын өріс өлшемін анықтайтын жол
ұзындығы.
Белгіленген ұзындықты жолдарды пайдаланғанда , әдетте, бос жолдар
пробелдармен толтырылады. Мысалы, егер өлшемі 10 тең өріс беріліп, ал
оған 3 символдан тұратын жол енгізілсе, онда 7 символ пробелдармен
толтырылады.
Айнымалы ұзындықты символдық жолдар.
Айнымалы ұзындықты жолдың ұзындығы барлық мәліметтер үшін тұрақты
емес, ол мәліметтер қорының кестесі өрісінде сақталған жолдың нақты
өлшеміне тәуелді. Айнымалы ұзындықты жолды хабарлау келесі түрде болады:
Varchar(n)
n-максималды мүмкіндікті жолды анықтайтын сан.
Character типінен айырмашылығы Varchar пайдалану дискідегі кеңістікті
үнемді шығындауды қамтамасыз етеді. Хабарландыруда көрсетілген жол өлшеміне
қарамастан, өріс, енгізілген ақпаратты сақтауға қанша орын қажет болса,
сонша алады. Мысалы, егер Varchar(10) өрісі хабарланып және оған 3
символдан тұратын жол енгізілсе, онда бұл жолды сақтау үшін белгіленген
ұзындықты жол жағдайындағы сияқты 10 емес, 3 байт қана пайдаланылады.
Сандық типтер.
Сандық типтер былай бөлінеді:
□ Бүтін санды типтер;
□ Белгіленген нүктелі заттық типтер;
□ Жүзуші нүктелі заттық типтер;
□ Белгіленген және айнымалы ұзындықты екілік жолдар;
Бүтін санды типтер.
ANSI SQL стандартымен екі бүтін санды типтер орнатылады:
□ INTEGER-4 байтты пайдаланатын таңбалы бүтін сан. 2147483648-ден
2147483647-ге дейінгі диапазондағы сандарды бере алады;
□ SMALLINT–2 байтты пайдалантын таңбалы қысқа бүтін сан. 32768-ден 32647-
ге дейінгі диапазондағы бүтін сандарды бере алады.
Белгіленген нүктелі заттық типтер.
Белгіленген нүктелі заттық типтер бөлшек сандарды нақты беру үшін
арналған. Көп жағдайда бұл типтер қателіктер жіберілмейтін екілік формада
жүзгімелі нүктелі заттық сандарды беруде пайдаланылады. (Мысалы, ақшалай
шамадағы мәндерді сақтауда). Белгіленген нүктелі заттық типтер шын
мәнісінде ондық нүкте түрінде бейнеленетін бүтін санды типтер болып
табылады.

Белгіленген үтірлі типті хабарлау синтаксисі келесідей:
DECIMAL (n.m)
Мұндағы n-дәлділік; m-масштаб
Дәлділік -ол сандық мәннің жалпы ұзындығы, масштаб-ол ондық нүктеден оң
жақта орналасқан белгілер саны.
Жүзгімелі нүктелі заттық типтер.
Жүзгімелі нүктелі типтер әдетте ғылыми және инженерлік есептеулерде
пайдаланылады. Бұл типтерді пайдалануда қандай да бір санды жүзгімелі
нүктелі екілік формаға өзгерту кезінде мәліметтер қорына енгізуде үнемі
қандай да бір қателік жіберіледі. Бұл қателік өте аз болса да, кейбір
жағдайларда кешірілмейді және үлкен қателік әкелуі мүмкін, мысалы, үлкен
санды мәндерді сомалауда. Сондықтан, жүзгімелі нүктелі типтер ақшалай
шамалы мәндерді сақтауға қолданылмайды.
Көп жағдайда екі жүзгімелі нүктелі заттық типтер пайдаланылады:
□ FLOAT-бірлік дәлділікті сандар;
□ DOUBLE-екілік дәлділікті сандар.

Екілік жолдар.
Екілік жолдар салыстырмалы сирек қолданылады. Әдетте мұндай типті өрістер
жалаулар немесе екілік маскалар ретінде қолданылады.
Символдық жолдар сияқты, екілік жолдар белгіленген және айнымалы ұзындықты
болады. Белгіленген ұзындықты екілік жолдар келесі жолмен хабарланады:
BIT (n)-
Мұндағы n-байтпен берілген жол ұзындығы.
Айнымалы ұзындықты жолды хабарлау түрі мынадай:
BIT VARYING (n)
Мұндағы n- байтпен берілген жолдың максималды ұзындығы.
Дата мен уақытты берілген типтер.
Аты айтып тұрғандай бұл типтер дата мен уақытқа қатысты ақпараттарды
сақтау үшін пайдаланылады.
SQL-стандартында дата мен уақыт туралы ақпаратты сақтауға арналған келесі
мәліметтер типтері анықталған:
□ DATE-датаны сақтау үшін пайдаланылады;
□ TIME-уақытты сақтау үшін пайдаланылады;
□ TIME STAMP-дата мен уақытты сақтайды;
□ INTERVAL-екі дата мен уақыт моментіндегі уақыт аралығын сақтайды.
Мәліметтер қорының объектілерін басқару.
Мәліметтер қорының объектісі дегеніміз мәліметтер қорында анықталған және
ақпаратты сақтауда немесе ақпаратқа хабарласуда пайдаланылатын кез-келген
объект. Мәліметтер қорының объектісінің мысалдары ретінде кестелер,
ұсыныстар мен индекстер қызмет етеді.
Мәліметтер қорының объектілерін басқару үшін SQLтілінің DDL командаларының
жиындары пайдаланылады.
Кестелерді құру, түрлендіру және жою.
Кесте, ақпаратты реляционды мәліметтер қорында сақтаудың негізгі
объектісі болып келеді. Кестені құруда міндетті түрде кестедегі өріс аты,
және өрістерге сәйкес мәліметтер типі көрсетіледі. Сондай-ақ, кестені құру
кезінде өрістер үшін үндемей қабылданатын шекаралық шарттар мен мәндер
ескертілуі мүмкін.
Шектік шарттар- мәліметтер қорының кестесінің өрісінде шама мәнін шектейтін
ереже.
Үндемей қабылданатын мәндер- жаңа жазу қосқанда, егер пайдаланушы осы
өрістің мәнін көрсетпесе, мәліметтер қорының кестесінің өрісіне автоматты
түрде енгізілетін шама.
CREATE TABLE операторы.
Кестені құру үшін CREATE TABLE операторы пайдаланылады. Бұл
оператордың синтаксисі келесі түрде болады:
CREATE TABLE имя_таблицы (
Имя_поля_1 тип_данных.
Имя_поля_2 тип_данных.
_
имя_поля_N тип_данных)
Мысал, ФИЗИЧЕСКИЕ ЛИЦА кестесін құру операторы мына түрде болады:
CREATE TABLE STUDENTS
SNUM INTEGER.
SIMA CHAR (25).
SFAM CHAR (25).
SOTCH CHAR (25).
SROZH DATE.
SADR CHAR (25).
STEL VARCHAR (25).
ALTER TRABLE операторы.
Құрылған кестені ALTER TABLE операторын пайдаланып түрлендірге болады.
Осы оператор көмегімен кестеге жаңа өрістерді қосуға және жоюға, өрістер
мәліметтерінің типін өзгертуге, шектеулерді қосып немесе жоюға болады.
Жалпы түрде ALTER TABLE операторының синтаксисі былай болады:
ALTER TABLE имя_таблицы [MODIFY][имя_поля тип_данных]
[ADD][имя_поля тип_данных]
[DROP][имя_поля тип_данных]
ALTER TABLE операторымен орындалатын әрекет кесте атынан кейін көрсетіоіп
негізгі сөзбен анықталады:
□ MODIFY- өріс анықтамасын береді;
□ ADD- кесмтеге жаңа өріс қосады;
□ DROP-кестеден өрісті жояды.
Өрістің мәліметтерінің типін өзгерту үшін ALTER TABLE операторының келесі
синтаксисі пайдаланылады:
ALTER TABLE имя_таблицы ADD (имя_поля тип_данных)
Мысалы,STUDENTS кестесінестуденттің электронды почтасынан тұратын
өрісті қосу үшін келесі операторды пайдаланған жөн:
ALTER TABLE STUDENTS ADD (E-mail CHARACTER (25))
Егер бар өрістің мәліметтерінің типін өзгерту қажет болса, ALTER TABLE
операторымен бірге MODIFY негізгі сөзін пайдаланған жөн:
ALTER TABLE имя_таблицы MODIFY(имя_поля тип_данных)
Мысалы, STUDENTS кестесіне E-mail өрісін енгізгеннен кейін CHARACTER
типінің пайдаланылуының тиімсіздігі анықталады-студенттердің көбінде
электронды почта жоқ, сондықтан дискілік кеңістіктің бөлігі пайдаланылмай,
бос қалады. Бұл өріс үшін VARCHAR мәліметтер типін қолданған дұрыс.
Мәліметтер типін өзгерту үшін ALTER TABLE операторын пайдаланамыз:
ALTER TABLE STUDENTS MODIFY(E-mail VARCHAR(25))
Бар өрісті өшіру үшін ALTER TABLE операторын DROP негізгі сөзбен бірге
шақыруды орындаумен жүзеге асырылады:
ALTER TABLE имя_таблицы DROP (имя_поля)
DROP TABLE операторы.
Кестелерді жою үшін DROP TABLE операторы пайдаланылады. Бұл оператордың
синтаксисі мына түрде болады:
DROP TABLE имя_таблицы [RESTRICT CASCADE]
Егер DROP TABLE операторын шақыру кезінде RESTRICT негізгі сөзі
пайдаланылып, және жойылатын кестеге қандай да бір ұсыныс немесе шектеу
сілтелінсе, онда кестені жою операторы орындалуы кезінде қате туралы
хабарлама шығарылады (генерацияланады). Егер де CASCADE негізгі сөзін
пайдаланса, онда кестені жою орындалады және кестемен бірге оған
сілтелінетін ұсыныстар мен шектеулер де жойылады.
Шектеулерді беру.
Шектеулер мәліметтер қорындағы ақпараттың сенімдігі мен қайшылығын
қамтамасыз ету үшін пайдаланылады. Әртүрлі текті шектеулерлің көп саны бар,
солардың тек негізгілерін ғана қарастырамыз:
□ NOT NULL шектеуі;
□ Бірінші кілт шектеуі;
□ UNOQUE шектеуі;
□ Сыртқы кілт шектеуі;
□ CHECK шектеуі.
NOT NULL шектеуі.
NOT NULL шектеуі реляционды кестенің кез-келген өрісі үшін орнатылуы
мүмкін. Осы шектеу болса шектеу орнатылған өріске NULL мәнін енгізуге
болады.
NOT NULL шектеуі CREATE TABLE операторының көмегімен кестені құру
кезінде орнатылады. Қандай да бір өріс үшін NOT NULL шектеуін беру үшін NOT
NULL-деп өріс типін көрсеткеннен кейін көрсету керек.:
CREATE TABLE имя_таблицы (
Имя_поля_1 тип_данных NOT NULL.
Имя_поля_2 тип данных NULL.
-
имя_поля_N тип_данных NOT NULL)
Егер өрістің мәліметтерінің типін көрсеткеннен кейін NULLсөзі тұрса,
онда бұл өріс бос мәндерден тұрады. Бірақ NULL атрибуты әдетте үндемей
қабылданады, сондықтан оны анық көрсетудің қажеттілігі жоқ.
NOT NULL шектеуі, кестеге мәліметтер енгізуде міндетті түрде ақпарат
енгізуі тиіс өрістер үшін орнатылады. Мысалы,факультет студенттерінің жеке
мәліметтерінен тұратын кестеде, студенттің аты мен фамилиясынан тұратын
өріс үшін NOT NULL шектеуін беруге болады.
Сондықтан STUDENTS кестесін құру операторын келесідей өзгерткен жөн:
CREATE TABLE STUDENTS (
SNUM INTEGER
SIMA Varchar (25) NOT NULL
SFAM Varchar (25) NOT NULL
SOTCH Varchar (25).
SROZH DATE.
SADR Varchar (50).
STEL Varchar (25)).
Бірінші кілт шектеуі.
Алғашқы кілттер кестені құру кезінде орнатылады. Бірінші кілт құрамына
кіретін өрістер NULL мәнін қабылдамайтындықтан, оларға NOT NULL шектеуі
міндетті түрде қойылуы керек. Алғашқы кілт шектеуі екі жолмен берілуі
мүмкін:
□ Алғашқы кілт бір ғана өрістен тұрса, онда ол CREATE TABLE операторында
өрісті сипаттауда көрсетілген PRIMARY KEY негізгі сөз көмегімен берілуі
мүмкін:
CREATE TABLE имя_таблицы (
Имя_поля_1 тип_данных NOT NULL PRIMARY KEY.
Имя_поля_2 тип_данных.
-
имя_поля_N тип_данных NOT NULL).
□ Алғашқы кілт барлық өрістер анықталған соң кестені сипаттаудың соңында
берілуі мүмкін. Ол үшін PRIMARY KEY кілттік фразасы пайдаланылады, одан
кейін домалақ жақшалардың ішінде алғашқы кілт құрамына кіретін өріс аты
көрсетіледі:
CREATE TABLE имя_таблицы (
Имя_поля_1 тип_данных NOT NULL.
Имя_поля_2 тип_данных.
-
имя_поля_N тип_данных NOT NULL.
PRIMARY KEY(имя_поля_1))
Екінші тәсіл құрамдас алғашқы кілтті беру үшін ерекше ыңғайлы. Бұл
жағдайда жақшада үтір арқылы алғашқы кілт құрамына кіретін барлық
өрістердің атын көрсету керек:
CREATE TABLE имя_таблицы (
Имя_поля_1 тип_ данных NOT NULL.
Имя_поля_2 тип_данных.
Имя_поля_3 тип_данных NOT NULL.
-
имя_поля_N тип данных NOT NULL.
PRIMARY KEY (имя_поля_1. Имя_поля_3))
UNIQUE шектеуі.
UNIQUE шектеуі алғашқы кілт шектеуіне ұқсас. Бірақ алғашқы кілттен
айырмашылығы UNIQUE шектеуі өрісnің бос мәндерінің болуына рұқсат етеді
(әрине, егер де осы өріс үшін NOT NULL шектеуі орнатылмаса).
UNIQUE шектеуі кестені құру кезінде өрісті сипаттау кезінде
көрсетілетін UNIQUE негізгі сөзінің көмегімен беріледі:
CREATE TABLE имя_таблицы (
Имя_поля_1 тип_данных NOT NULL PRIMARY KEY.
Имя_поля_2 тип_данных UNIQUE.
Имя_поля_3 тип_данных NOT NULL.
-
имя_поля_N тип_данных NOT NULL UNIQUE).
Сондай-ақ UNIQUE шектеуін бір өріс үшін емес, өрістер тобы үшін де
беруге болады. Басқаларға ұқсамайтын өрістер тобын хабарлау ұқсас емес жеке
өрістерді хабарлаудан өзгешеленеді,өйткені жеке мәндер емес, мәндер
комбинациясы басқаларға ұқсас емес болуы міндетті. Яғни топқа кіретін әрбір
өрістің мәні керемет болуы міндетті емес, ал өрістердің мәндерінің
комбинациясы үнемі керемет болуы тиіс.
Өрістер тобы үшін UNIQUE шектеуі алғашқы кілттің құрамдасы сияқты
кестенің барлық өрістері сиппатталған соң беріледі:
CREATE TABLE имя_таблицы (
Имя_поля_1 тип_данных NOT NULL PRIMARY KEY.
Имя_поля_2 тип_данных.
Имя_поля_3 тип_данных NOT NULL.
-
имя_поля_N тип_данных NOT NULL UNIQUE.
UNIQUE(имя_поля_2.имя_поля_3))
Сыртқы кілт шектеуі.
Сыртқы кілт шектеуі мәліметтер қорының сілтемелік тұтастығын қолдаудың
негізгі механизмі болып табылады. Сыртқы кілт болып анықталған өріс, басқа
кестенің өрісіне сілтеме ретінде пайдаланылады, әдетте ол ата-аналық кілт
деп аталады, ал сыртқы кілт сілтелетін кесте ата-аналық кесте деп аталады
(көп жағдайда ата-аналық кілт ата-аналық кілті болып табылады).
Сыртқы және ата-аналық кілттің өрістерінің типтері міндетті түрде
сәйкес болуы мүмкін. Бірақ шатыс болмас үшін сыртқы және ата-аналық кілттер
өрістерінің атын да бірдей берген жөн.
Сыртқы кілт бір өрістен тұруы міндетті емес. Алғашқы кілт сияқты
сыртқы кілт те бір объект болып өңделетін өрістердің кез-келген санынан
тұруы мүмкін. Құрамдас сыртқы кілт сілтелетін ата-аналық кілт өрістері
сыртқы кілттегі сияқты ретпен тізбектелуі керек.
Кесте өрісі сыртқы кілт болған кезде, ол қандай да бір жолмен осы кілт
сілтелетін кестемен байланыста болады. Ол дегеніміз сыртқы кілттің әрбір
мәні ата-аналық кілттегі мәнмен тікелей байланысқан.
Сыртық кілт шектеуін пайдалану иллюстрациясы ретінде қандай да бір ұжым
қызметкерлерін есептеу мәліметтер қорын мысалға ... жалғасы

Сіз бұл жұмысты біздің қосымшамыз арқылы толығымен тегін көре аласыз.
Ұқсас жұмыстар
LINQ технологиясының ерекшеліктері мен қолданылуы
SQL серверін қолданып қосымшалар жүйесін жетілдіру
Кадрлар бөлімінің мәліметтер қорын құру
Кафе жұмысын автоматтандыру (Delphi ортасында)
Реляциялық мәліметтер қоры
Мәліметтер қорын басқару жүйесі
Мәліметтер қорын басқару жүйесі бойынша дәрістер
Денсаулық сақтау саласының бірыңғай ақпараттық жүйесі
SQL кестелеріндегі мәліметтердің модификациясы
Турфирма
Пәндер