SQL тілі туралы ақпарат
I .ТАРАУ. SQL ТІЛІНІҢ ТЕОРИЯЛЫҚ АСПЕКТІЛЕРІ
1.1РЕЛЯЦИОНДЫ МӘЛІМЕТТЕР БАЗАСЫ
1.2МӘЛІМЕТТЕР БАЗАСЫН БАСҚАРУ ЖҮЙЕСІНДЕГІ SQL ТІЛІНІҢ
ТҮСІНІГІ, ЕРЕКШЕЛІКТЕРІ
1.3 SQL СТАНДАРТТАРЫ ЖӘНЕ ОНЫҢ ҚАЗІРГІ КЕЗДЕГІ ЖАҒДАЙЫ
II.ТАРАУ. ЖҰМЫС ІСТЕУ ПРИНЦИПТЕРІ
2.1 МICROSOFT SQL SERVER
2.2 SQL.СЕРВЕРДЕ ЖҰМЫС ІСТЕУ ПРИНЦИПТЕРІ
III.ТАРАУ. Лабораториялық жұмыс
1.1РЕЛЯЦИОНДЫ МӘЛІМЕТТЕР БАЗАСЫ
1.2МӘЛІМЕТТЕР БАЗАСЫН БАСҚАРУ ЖҮЙЕСІНДЕГІ SQL ТІЛІНІҢ
ТҮСІНІГІ, ЕРЕКШЕЛІКТЕРІ
1.3 SQL СТАНДАРТТАРЫ ЖӘНЕ ОНЫҢ ҚАЗІРГІ КЕЗДЕГІ ЖАҒДАЙЫ
II.ТАРАУ. ЖҰМЫС ІСТЕУ ПРИНЦИПТЕРІ
2.1 МICROSOFT SQL SERVER
2.2 SQL.СЕРВЕРДЕ ЖҰМЫС ІСТЕУ ПРИНЦИПТЕРІ
III.ТАРАУ. Лабораториялық жұмыс
Кез-келген мәліметтердің құрылымын қарапайым екі деңгейлі кестеде түрлендіруге болады. Мәліметтерді мұндай екі деңгейлі кестеде көрсетілуі пайдаланушы үшін де, машина үшін де ыңғайлы болып табылады. Қазіргі кезде көптеген ақпараттық жүйелер осындай кестелермен жұмыс істейді. Екі деңгейлі кестеден тұратын мәліметтер базасы реляционды деп аталады.
Реляционды әдістеменің негізгі идеясы - мәліметтердің еркін құрылымын қарапайым екі деңгейлі кесте түрінде көрсету болып табылады немесе басқаша айтқанда, мәліметтердің құрылымын бірыңғайлау.
Әлемдегі барлық мәліметтер базасының жүйесінің ішінде ең көп таралғаны - реляционды мәліметтер базасы. Бұл жүйелер осығанға дейінгі пайдаланушылардың реляциондық емес өнімдермен жұмыс істеуде пайда болған көпетеген мәселелерін шешуге қабілетті. Реляционды емес мәліметтер базасының программистері мен администраторлары ақпарат қалай құрылымдағандығын және ақпараттың мәліметтер базасында қалай көрсетілгендігін жете білуі керек болды, ал бұл қосымшаларды өңдеуді және программалардың модификациялауды маңызды дәрежеде күрделендірді Реляционды жүйелер жоғары деңгейде жұмыс істеуге қабілетті. Реляционды жүйеде мәліметтермен барлық операциялар DBMS (МББЖ) деп аталынатын программа арқылы жүзеге асырылады. МББЖ-сін тек қана жоғарғы деңгейдегі операторлар тілінің көмегімен басқаруға болады. Бірақ та, кейбір өнімдер бұрынғысынша өздерінің жеке тілдерінің терминдерін қолдайды. Бірақ, соған қарамастан SQL тілі технологиялық стандартқа айналды, оның базасында әйгілі немесе онша әйгілі емес реляциондық өнімдер құрылды.
Реляционды мәліметтер базасын басқару жүйесі (РМББЖ немесе RDMS) - бұл кесте түрінде сақталынатын, ақпараттарды басқаратын жүйе. Мұндай кестелер бір-бірімен өзара байланыста болады. Байланыстар бір кестенің мәліметтер жиыны мен сәйкесінше, басқа кестенің мәліметтер жиынының арасындағы қатынастардан кұрылады.
Мәліметтер базасын өңдегеннен кейін реляционды мәліметтер базасын нормалдауға кірісу керек. Нормализденген мәліметтер базасы келесідей шарттарға сәйкес болу керек:
- барлық кестелер кестедегі әрбір жолдың қасиеттері (мәліметтер типі) анықталатын атрибуттардан (бағаналар/өрістер) тұруы керек;
- кестенің әрбір жолы бөлек оқиғаны немесе пәнді анықтауы керек; - әрбір жол бір ғана жолмен бастапқы кілтті (primary key) қолдану арқылы идентификацияланады;
- бастапқы кілт бір немесе бірнеше бағаналардан тұруы мүмкін;
- бастапқы кілттің мәні null-мәнді болмауы керек.
Реляционды әдістеменің негізгі идеясы - мәліметтердің еркін құрылымын қарапайым екі деңгейлі кесте түрінде көрсету болып табылады немесе басқаша айтқанда, мәліметтердің құрылымын бірыңғайлау.
Әлемдегі барлық мәліметтер базасының жүйесінің ішінде ең көп таралғаны - реляционды мәліметтер базасы. Бұл жүйелер осығанға дейінгі пайдаланушылардың реляциондық емес өнімдермен жұмыс істеуде пайда болған көпетеген мәселелерін шешуге қабілетті. Реляционды емес мәліметтер базасының программистері мен администраторлары ақпарат қалай құрылымдағандығын және ақпараттың мәліметтер базасында қалай көрсетілгендігін жете білуі керек болды, ал бұл қосымшаларды өңдеуді және программалардың модификациялауды маңызды дәрежеде күрделендірді Реляционды жүйелер жоғары деңгейде жұмыс істеуге қабілетті. Реляционды жүйеде мәліметтермен барлық операциялар DBMS (МББЖ) деп аталынатын программа арқылы жүзеге асырылады. МББЖ-сін тек қана жоғарғы деңгейдегі операторлар тілінің көмегімен басқаруға болады. Бірақ та, кейбір өнімдер бұрынғысынша өздерінің жеке тілдерінің терминдерін қолдайды. Бірақ, соған қарамастан SQL тілі технологиялық стандартқа айналды, оның базасында әйгілі немесе онша әйгілі емес реляциондық өнімдер құрылды.
Реляционды мәліметтер базасын басқару жүйесі (РМББЖ немесе RDMS) - бұл кесте түрінде сақталынатын, ақпараттарды басқаратын жүйе. Мұндай кестелер бір-бірімен өзара байланыста болады. Байланыстар бір кестенің мәліметтер жиыны мен сәйкесінше, басқа кестенің мәліметтер жиынының арасындағы қатынастардан кұрылады.
Мәліметтер базасын өңдегеннен кейін реляционды мәліметтер базасын нормалдауға кірісу керек. Нормализденген мәліметтер базасы келесідей шарттарға сәйкес болу керек:
- барлық кестелер кестедегі әрбір жолдың қасиеттері (мәліметтер типі) анықталатын атрибуттардан (бағаналар/өрістер) тұруы керек;
- кестенің әрбір жолы бөлек оқиғаны немесе пәнді анықтауы керек; - әрбір жол бір ғана жолмен бастапқы кілтті (primary key) қолдану арқылы идентификацияланады;
- бастапқы кілт бір немесе бірнеше бағаналардан тұруы мүмкін;
- бастапқы кілттің мәні null-мәнді болмауы керек.
Пән: Информатика, Программалау, Мәліметтер қоры
Жұмыс түрі: Курстық жұмыс
Тегін: Антиплагиат
Көлемі: 38 бет
Таңдаулыға:
Жұмыс түрі: Курстық жұмыс
Тегін: Антиплагиат
Көлемі: 38 бет
Таңдаулыға:
Қазақстан Республикасының Білім және Ғылым Министрлігі
әл-Фараби атындағы Қазақ Ұлттық университеті колледжі
Курстық жұмыс
Тақырыбы: SQL тілі
Орындаған:Ақпараттықжүйелер
мамандығының 3 курс
студенті
Сағымбекова В.Т.
Тексерген:Тұрарбек Ә.Т.
Алматы, 2007 жыл
ЖОСПАР:
I -тарау. SQL тілінің ТЕОРИЯЛЫҚ АСПЕКТІЛЕРІ
1.1Реляционды мӘліметтер базасы
1.2МӘЛІМЕТТЕР БАЗАСЫН БАСҚАРУ ЖҮЙЕСІНДЕГІ SQL
тілінің
ТҮСІНІГІ, ЕРЕКШЕЛІКТЕРІ
1.3 SQL стандарттары жӘне оның қазіргі кездегі
жағдайы
II-ТАРАУ. ЖҰМЫС ІСТЕУ ПРИНЦИПТЕРІ
1. Мicrosoft sql server
2. SQL-серверде жұмыс істеу принциптері
III-ТАРАУ. Лабораториялық жұмыс
I -тарау. SQL тілінің ТЕОРИЯЛЫҚ АСПЕКТІЛЕРІ
1. Реляционды мӘліметтер базасы
Кез-келген мәліметтердің құрылымын қарапайым екі деңгейлі кестеде
түрлендіруге болады. Мәліметтерді мұндай екі деңгейлі кестеде көрсетілуі
пайдаланушы үшін де, машина үшін де ыңғайлы болып табылады. Қазіргі кезде
көптеген ақпараттық жүйелер осындай кестелермен жұмыс істейді. Екі деңгейлі
кестеден тұратын мәліметтер базасы реляционды деп аталады.
Реляционды әдістеменің негізгі идеясы - мәліметтердің еркін құрылымын
қарапайым екі деңгейлі кесте түрінде көрсету болып табылады немесе басқаша
айтқанда, мәліметтердің құрылымын бірыңғайлау.
Әлемдегі барлық мәліметтер базасының жүйесінің ішінде ең көп таралғаны
- реляционды мәліметтер базасы. Бұл жүйелер осығанға дейінгі
пайдаланушылардың реляциондық емес өнімдермен жұмыс істеуде пайда болған
көпетеген мәселелерін шешуге қабілетті. Реляционды емес мәліметтер
базасының программистері мен администраторлары ақпарат қалай
құрылымдағандығын және ақпараттың мәліметтер базасында қалай
көрсетілгендігін жете білуі керек болды, ал бұл қосымшаларды өңдеуді және
программалардың модификациялауды маңызды дәрежеде күрделендірді
Реляционды жүйелер жоғары деңгейде жұмыс істеуге қабілетті. Реляционды
жүйеде мәліметтермен барлық операциялар DBMS (МББЖ) деп аталынатын
программа арқылы жүзеге асырылады. МББЖ-сін тек қана жоғарғы деңгейдегі
операторлар тілінің көмегімен басқаруға болады. Бірақ та, кейбір өнімдер
бұрынғысынша өздерінің жеке тілдерінің терминдерін қолдайды. Бірақ, соған
қарамастан SQL тілі технологиялық стандартқа айналды, оның базасында әйгілі
немесе онша әйгілі емес реляциондық өнімдер құрылды.
Реляционды мәліметтер базасын басқару жүйесі (РМББЖ немесе RDMS) - бұл
кесте түрінде сақталынатын, ақпараттарды басқаратын жүйе. Мұндай кестелер
бір-бірімен өзара байланыста болады. Байланыстар бір кестенің мәліметтер
жиыны мен сәйкесінше, басқа кестенің мәліметтер жиынының арасындағы
қатынастардан кұрылады.
Мәліметтер базасын өңдегеннен кейін реляционды мәліметтер базасын
нормалдауға кірісу керек. Нормализденген мәліметтер базасы келесідей
шарттарға сәйкес болу керек:
- барлық кестелер кестедегі әрбір жолдың қасиеттері (мәліметтер типі)
анықталатын атрибуттардан (бағаналарөрістер) тұруы керек;
- кестенің әрбір жолы бөлек оқиғаны немесе пәнді анықтауы керек;
- әрбір жол бір ғана жолмен бастапқы кілтті (primary key) қолдану арқылы
идентификацияланады;
- бастапқы кілт бір немесе бірнеше бағаналардан тұруы мүмкін;
- бастапқы кілттің мәні null-мәнді болмауы керек.
1-сурет. Реляционды мәліметтер базасы
Мұндағы:
❖ Қатынас – Кесте (кейде Файл)
❖ Кортеж – Жол (кейде Жазылым)
❖ Атрибут – Бағана, Өріс
Реляционды мәліметтер базасы қатынастармен байланыстырылған кестелер
тобы ретінде бейнеленген. Жақсы МБ-сы кестелерде ұйымдастырылған
мәліметтердің жиынтығын білдіреді. Әрбір кесте бастапқы кілт деп аталынатын
бағананы қолданады.
Мәліметтер арасында байланыс кестеде екі кестеге де ортақ
мәліметтерден тұратын мәліметтер арасында орнатылады. Көптеген қатынастар
бастапқы және сыртқы кілттерге арналған арнайы шектеулердің көмегімен
құрылады. Анықтама бойынша, бастапқы кілт кесте үшін бірегей болып табылады
және кестедегі барлық мәліметтер осы өріс бойынша автоматты түрде
индексацияланады және бір ретке келтіріледі. Бастапқы кілттің өрісінде NULL
мәнін қолдануға болмайды. Сыртқы кілт – бұл басқа кестенің бастапқы кілтіне
сәйкес келетін өріс. Сыртқы кілттің өрісі NULL мәнін қабылдай алады.
“Бастапқы кілт” қатынасымен өзара байланысқан кестеден тұратын МБ-н
құрғаннан кейін кестелер арасында ақпаратты логикалық түрде бөлу оңайға
түседі.
Мәліметерде көрсетілгендерді іздегеу кезінде барлық файлдарды
қарастырған кезде қолданылатын жалпақ файл деп аталатын файлдармен
салыстырғанда реляционды МБ-да көрсетілгендерді іздегенде SQL тілін
қолдануға болады.
Бұл тіл қандай ақпарат керек екендігін нақты түрде анықтау үшін
қолданылады. SQL нәтижесінде SQL-сұрату операторында көрсетілген шарттарды
қанағаттандыратын көптеген ақпараттарды береді.
Реляционды мәліметтер базасы – МБ-да сақталынуы керек барлық ақпараттан
тұратын қатынастардың жиынтығы. Бірақ та, пайдаланушылар мұндай МБ-н
кестелердің жиынтығы ретінлде қабылдауы мүмкін. Реляционды МБ-да :
❖ Әрбір кесте бір типті жолдардан тұрады және олардың бірегей аттары
болады.
❖ Жолдарда белгіленген өрістердің сандары (бағаналар) мен мәндері
(қайталанатын топтар жіберілмейді) болады.
❖ Кестенің жолдары бір-бірінен міндетті түрде ең болмағанда бір мәнге
өзгешеленеді, бұл мұндай кестенің кез-келген жолын идентификациялауға
мүмкіндік береді.
❖ Кестенің бағаналарына аттар беріледі және олардың әрқайсысында
мәліметтердің біртектес мәндері (даталар, фамилиялары, бүтін сандар
немесе ақша сомалары) орналасады.
❖ МБ-ң толық ақпараттық құрылымы мәліметтердің нақты мәндері түрінде
беріледі және мұндай әдіс жалғыз болып табылады. Әсіресе, бір кестені
басқамен байланыстыратын қандай да бір арнайы “байланыстар” немесе
көрсеткіштер жоқ.
❖ Кестемен операцияларды орындаған кезде оның жолдары мен бағаналарын оның
ақпараттық мазмұнына қарамастан кез-келген тәртіпте өңдеуге болады.
Кестенің аттары мен оның бағаналарынаң аттарының болуы бұған негіз болып
табылады.
2. МӘЛІМЕТТЕР БАЗАСЫН БАСҚАРУ ЖҮЙЕСІНДЕГІ SQL тілінің ТҮСІНІГІ,
ЕРЕКШЕЛІКТЕРІ
МББЖ-ң клиенттік қосымшасы мен серверлік қосымшасы бір-бірімен өзара
әсерлесуі үшін олар ортақ тілді қолдануы керек. Бұл тіл Structured Query
Language (құрылымданған сұратулар тілі) немесе SQL деп аталады. SQL -
компьютердің мәліметтер базасындағы мәліметтерді оқуға және өңдеуге
арналған құрал. SQL – бұл пайдаланушының мәліметтер базасымен әрекеттесуін
ұйымдастыру үшін қолданылатын программалау тілі. SQL тек нақты бір түрдегі
мәліметтер базасымен ғана, яғни реляционды мәліметтер базасымен ғана жұмыс
істеуге арналған программа.
МБ-ң SQL–мен өзара әрекеттесу тілі 1970-ші жылдардың ортасында IBM
корпорациясының өңдеуімен пайда болды және тәжірибелі реляционды System
R МББЖ–ң жобалау рамкасында өңделінді. Тілдің бастапқы аты SEQUEL
(Structured English Query Language) деп аталды, ол осы тілдің мағынасын тек
қана жартылай бейнеледі. Әрине, тілдің басты мақсаты пайдаланушының
реляционды МБ-да сұратуларды қалыптастыруы ыңғайлы және түсінікті болуы
үшін бағдарланды. Бұл тілде МБ-ң объекттеріне кіру мүмкіндігінің
синхронизациялау құралдары болған жоқ.
SQL – сұратуларды құруға және орындауға арналған әмбебап тіл. Сонымен
қатар, SQL реляционды мәліметтер базасын басқару үшін қолданылады.
SQL бұл МББЖ-ң жүйесі немесе бөлек программалық өнім емес, оны
компьютерлік дүкеннен сатып ала алмаймыз, өйткені SQL МББЖ-ң бір бөлігі.
SQL тілінің ерекшеліктері:
• нақты бір МББЖ-нен тәуелсіздігі. МББЖ-н басқарушы барлық
мердігерлер SQL-ді қолданады. SQL-ді қолдамайтын бірде-бір
жаңа МББЖ табыстылыққа сене алмайды. Реляционды мәліметтер
базасын және сонымен бірге жұмыс істейтін программаларды
минималды түрде жөндеу арқылы бір МББЖ-дан басқа МББЖ-ға
тасуға болады. Дербес компьютерлерге арналған, МББЖ-ң құрамына
кіретін программалық құралдар (мысалы, сұратуларды құруға
арналған программалар, есеп берудің генераторлары және
қосымшаның генераторлары) әр түрлі реляционды мәліметтер
базалармен жұмыс істейді. Осылайша, SQL нақты бір МББЖ-нен
тәуелсіздікті қамтамасыз етеді, ал бұл оның әйгілілігінің ең
маңызды себептерінің бірі болып табылады.
• бір есептеуші жүйеден басқа жүйеге көшіру. МББЖ-нің
мердігерлері әр түрлі есептегіш жүйелерге программалық өнімді
ұсынады: дербес компьютерлер мен жұмыс станцияларынан локальді
желілер, миникомпьютерлер мен үлкен ЭЕМ-ге дейін. SQL арқылы
құрылған және бір рет пайдаланылатын жүйелерге есептелген
қосымшалар өзінің дамуы бойынша үлкенірек жүйелерге
ауыстырылуы мүмкін. Реляционды мәліметтер базасына арналған
қосымшаларды дербес компьютерлерде басында модельдеп алуға
болады, содан кейін қымбат тұратын, көпшілік қолданылатын
жүйелерге ауыстыруға болады.
• стандарттардың бар болуы. SQL тілінің ресми стандарты
Американың ұлттық стандарттар институтында (American National
Standards Institute - ANSI) және стандарттар бойынша
Халықаралық ұйымда (International Standards Organization –
ISO) 1986 жылы жарияланған болатын және 1992 жылы кеңейтілген
болатын.
• Microsoft компаниясының қолдау көрсетуі және ODBS хаттамасы.
Microsoft компаниясы мәліметтер базасына кіру мүмкіндікті
өзінің Windows операционды жүйесінің маңызды бөлігі ретінде
қарастырады. Бұл компанияның мәліметтер базасына кіру
мүмкіндікті қамтамасыз ету бойынша стандарты болып ODBS (Open
Database Connectivity – ашық мәліметтер базасымен әрекеттесу)
табылады. ODBS – бұл SQL-ге негізделген программалық
интерфейс. ODBS-тің қолдау көрсетуі реляционды МБ-сын
басқарушылардың барлығымен қамтамасыз етіледі.
• реляционды негіздің бар болуы. SQL реляционды МБ-ның тілі
болып табылады. Сондықтан да, мәліметтерді реляционды
модельмен көрсету әйгілі болған кезде SQL де әйгілі бола
бастады. Реляционды МБ-ның кестелік құрылымы интуитивті
түсінікті, сондықтан да SQL тілі қарапайым және оны зерттеу
оңайға түседі.
• ағылшын тілін еске түсіретін жоғарғы деңгейдегі құрылымның
бар болуы. SQL-дің операторлары қарапайым ағылшын
сөйлемдеріне ұқсайды, ал бұл оны зерттеу мен түсінуді
оңайлатады. SQL операторлары мәліметтерді іздеу әдісін емес,
алуға қажетті мәліметтерді бейнелейді. Реляционды мәліметтер
базасының кестелері мен бағаналарында ұзақ аттар бейнеленуі
мүмкін. Көптеген SQL операторларының қорытындысы олардың
аттарына сәйкес келетіндігін білдіреді, сондықтан оларды
қарапайым, түсінікті сөйлемдер ретінде түсінуге болады.
• МБ-сын программалық кіру мүмкіндігімен қамтамасыз етуі.
Программистер SQL тілін МБ-сын айнымалылардан тұратын
қосымшаларды жазу үшін қолданады. Программа кіру мүмкіндігіне
арналған дәстүрлі мәліметтер базасында тек қана программалық
құралдар қолданылады, ал дереу сұратуларды орындау үшін бұл
екі кіру мүмкіндік режимдерінің арасында қандай да бір
байланыс болмайтын басқа программалар қолданылады.
• мәліметтерді динамикалық түрде анықтау мүмкіндігі.
Пайдаланушылар мәліметтер базасының құрылымын қарастырғанның
өзінде SQL-дің көмегімен мәліметтер базасының құрылымын
динамикалық түрде өзгеруге және кеңейтуге болады. Осылайша,
SQL мәліметтер базасын максималды иілгіштікпен қамтамасыз ете
алады.
Сақталынатын мәліметтердің көлемінің ұлғаюы мен құрылымының күрделенуі
және ақпараттық жүйелерді пайдаланушылардың аумағының ұлғаюы - ыңғайлырақ
және салыстырмалы түрде түсінуге жеңілірек реляционды (кестелік) МББЖ-н кең
түрде таралуына әкеп соқтырды. Мәліметтерге бір уақытта кіру мүмкіндігін
қамтамасыз ету үшін көптеген пайдаланушыларға, көбінесе бір-бірінен және
мәліметтер базасы сақталынатын орыннан жеткілікті түрде алыс орналасқан
пайдаланушыларға МББЖ-ң тораптық мультипайдаланушы түрі құрылған. Оларда
параллельді процестердің спецификалық мәселелері, бүтіндігі (дұрыстылығы)
және мәліметтердің қауіпсіздігі, сонымен қатар мәліметтерге кіру
мүмкіндігінің санкционирлену мәселелері шешіледі.
SQL-дің ерекше өзгешелігі – SQL-дің комьютерлік ортадан
(операциялық жүйеден және архитектурадан) тәуелсіздігі болып табылады.
2-суретте SQL-мен жұмыс істеу схемасы бейнеленген. Осы схемаға сәйкес
есептеуші жүйеде маңызды ақпарат сақталынатын мәліметтер базасы болады.
Егер де МБ-сы бизнеске қатысты болса, онда МБ-да материалды құндылықтар
туралы ақпараттар сақталынуы мүмкін. Дербес компьютердің мәліметтер
базасында чектер, телефондар және адрестер туралы ақпараттар сақталынуы
мүмкін. Мәліметтер базасын басқаратын компьютерлік программа МББЖ деп
аталады.
2-сурет. SQL-мен жұмыс істеу схемасы
Егер де пайдаланушыға МБ-нан мәліметтерді оқу керек болса, ол
мәліметтерді МББЖ-ң көмегімен SQL-ден сұратады. SQL сұратуды өңдеп, қажетті
мәліметтерді табады да, оны пайдаланушыға жібереді. Мәліметтерді сұрату
және нәтижелерді алу процесі мәліметтер базасына сұрату деп аталады, яғни
сұратудың құрылымданған тілі.
Бірақ та, бұл ат шындыққа толығымен сәйкес келмейді. Бүгінгі күні SQL
жай сұратуларды құратын құрал ғана емес, бұл тілдің бұдан да үлкен
мүмкіндіктері бар. Мәліметтерді оқу бұрынғысынша SQL-дің ең маңызды
қызметтерінің бірі болғанымен, қазіргі кезде МББЖ-нің пайдаланушыға
көрсететін барлық функционалдық мүмкіндіктері жүзеге асырылуы үшін SQL
қолданылады. Мұндағы функционалдық мүмкіндіктер дегеніміз:
Мәліметтерді ұйымдастыру. SQL пайдаланушыға көрсетілетін мәліметтердің
құрылымын өзгертуге, сонымен қатар МБ-ң элементтерінің арасында
байланыстарды орнатуға мүмкіндік береді.
Мәліметтерді оқу. SQL пайдаланушыға немесе қосымшаға МБ-ғы
мәліметтерді оқуға және оларды қолдануға мүмкіндік береді.
Мәліметтерді өңдеу. SQL пайдаланушыға немесе қосымшаға мәліметтер
базасын өзгертуге, яғни мәліметтер базасына жаңа мәліметтерді қосуға,
сонымен қатар мәліметтер базасындағы мәліметтерді өшіруге немесе жаңартуға
мүмкіндік береді.
Мәліметтерге кіру мүмкіндігін басқару. SQL-дің көмегімен
пайдаланушының мәліметтерді оқуын немесе өзгертуін шектеуге болады, сонымен
қатар мәліметтерді санкцияланбаған кіру мүмкіндігінен қорғауға болады.
Мәліметтерді бірігіп қолдану. SQL параллельді жұмыс істейтін
пайдаланушылар бір-біріне кедергі жасамауы үшін пайдаланушылардың
мәліметтерді бірігіп қолдануын үйлестіреді.
Мәліметтердің бүтіндігі. SQL мәліметтер базасының бүтіндігін
қамтамасыз етуге мүмкіндік береді, яғни жүйенің бас тартуынан немесе
келісілмеген өзгерістерден мәліметтердің бұзылуын қорғайды.
1.3 SQL стандарттары жӘне оның қазіргі кездегі жағдайы
Қазіргі кезде нарықта SQL тілін мойындаудың ең маңызды қадамдарының
бірі - осы тілде стандарттардың пайда болуы. Әдетте, SQL стандарттарын
еске алғанда Американың Ұлттық Стандарттар Институтымен (American National
Standards Institute — ANSI) және Стандарттар Бойынша Халықаралық Ұйыммен
(International Standards Organization — ISO) бекітілген ресми стандарттар
айтылады. Бірақ та, SQL-дің басқа да маңызды стандарттары бар – SQL-ді
қосқанда IBM компаниясының DB2 жүйесінде жүзеге асырылған стандарты және
UNIX аумағында SQL-ге арналған XOPEN стандарты. ANSIISO
стандарттары. SQL-дің ресми стандартымен жұмыс 1982 жылы басталды, ол кезде
ANSI өзінің клиентіне ХЗН2 реляционды мәліметтер базасына стандартты тілді
құруға тапсырма берді. Бастапқыда комитетте ұсынылған әр түрлі тілдердің
артықшылықтары талқыланды. Бірақ та, сол уақыттарда SQL іс жүзінде
стандартқа айналған еді, ХЗН2 комитеті өзінің таңдауын осы тілді таңдауымен
тоқтатты және SQL-дің стандартталуымен айналыса бастады.
Нәтижесінде құрастырылған стандарт үлкен дәрежеде SQL диалектісінің
DB2 жүйесіне негізделген болатын, бірақ та бұл диалекттен маңызды
ерекшеліктері болды. Бірнеше жөндеуден кейін 1986 жылы стандарт ресми
түрде номері Х3.135 ANSI стандарты түрінде бекітілген болатын, ал 1987 жылы
ISO стандарты түрінде бекітілген болатын. Содан кейін ANSIISO стандарты
АҚШ-ның үкіметімен ақпаратты өңдеу бойынша (FIPS — Federal Information
Processing Standard) АҚШ-ң федералды стандарты ретінде қабылданды. Бұл
стандарт 1989 жылы қайта қарастырылды, әдетте бұл стандарт “SQL-89” немесе
“SQLI” стандарты деп аталынады.
ANSI және ISO стандарттары бойынша комитеттің көптеген мүшелерінен әр
түрлі МББЖ-ң фирмалары – мердігерлері көрсетті, олардың әрқайсысында SQL-
дің өзіндік нұсқасы құрастырылған болатын. Адам тілінің диалектісі сияқты
SQL тілінің диалектісі де негізінде бір-біріне ұқсас болған, бірақ та
бөлшектері бір-біріне сәйкес келмейтін. Көптеген жағдайларда комитет бұл
сәйкессіздіктерге мән бермеді және тілдің кейбір бөліктерін стандарттаған
жоқ. Бұл әдіс стандартқа сәйкес келетін көптеген SQL тілінің жүзеге асуына
себеп болды, бірақ та стандарт салыстырмалы түрде әлсіз болып қалды.
Бұл мәселелерді шешу үшін ANSI комитеті SQL2 стандартын құрды. 1989
жылғы стандартпен салыстырғанда SQL2 жобасы нақты коммерциялық өнімдердің
шектеуінен шығатын мүмкіндіктерді қарастырды. Ал одан кейінгі SQL3
стандартында одан да терең өзгерістер енгізілді. Нәтижесінде ұсынылған SQL2
және SQL3 стандарттары бастапқы стандартпен салыстырғанда бір-біріне қарама-
қарсы болды. SQL2 стандарты ANSI-мен бекітілді және 1992 жылдың қараша
айында бір жола қабылданды. 1986 жылғы бірінші стандарт жүз парақтай орынды
алса, SQL2 ресми стандарты алты жүздей парақтан тұрды.
SQL2 стандартына қарамастан бүгінгі күндегі коммерциялық өнімдер
SQL–дің өзіндік диалекттерін қолдайды. Сонымен қатар, МББЖ-ң мердігерлері
өздерінің өнімдеріне жаңа мүмкіндіктерді қосады және SQL-дің өзіндік
диалекттерін кеңейтеді, ал бұл стандарттан одан да бөлектетеді. Бірақ та
SQL-дің негізі қатаң түрде стандартталған. МББЖ-ң мердігерлері өздерінің
өнімдерін SQL-89 стандартына сәйкестендірді, уақыт өте келе SQL2
стандартына да сәйкестендірді.
ANSIISO стандарты кең таралғанымен, SQL-дің жалғыз стандарты емес.
XOPEN европалық мердігерлер тобы “көшірілетін қосымшалар аумағы” үшін UNIX
негізінде SQL–дің өзінің стандарттарын қабылдады. XOPEN тобының
стандарттары европалық стандарттар нарығында үлкен рөл атқарады, бұл
стандарттың негізгі мәселесі - әр түрлі өндірушілердің компьютерлік
жүйелердің арасында қосымшалардың тасымалдануы болып табылады.
Бақытсыздыққа орай, XOPEN стандарты ANSIISO стандартынан өзгешеленеді.
Сонымен қатар, IBM компаниясы SQL-ге өзінің Systems Application
Architecture (қолданбалы программаның қосымшасы) спецификациясын қосты және
барлық өнімдер SQL диалектісіне аударылатындығына уәде берді. Бірақа та бұл
спецификация Хотя данная спецификация и не оправдала надежд на унификацию
линии продуктов компании IBM, движение в сторону унификации SQL в IBM
продолжается. Система DB2 остается основной СУБД компании IBM для
мэйнфреймов. Однако компания выпустила реализацию DB2 и для OS2
(собственной операционной системы для персональных компьютеров), и для
линии серверов и рабочих станций RS6000, работающих под управлением UNIX.
Таким образом, диалект DB2 языка SQL является мощным стандартом де-факто.
Мәліметтер базасының технологиясында ресми стандарттар тимейтін
маңызды аймақ бар. Бұл басқа МБ-мен өзара әсерлесуде болу қабілеттілігі –
бұл әдістердің көмегімен әр түрлі МБ-ры бір-бірімен ақпараттарды алмастыра
алады (ереже бойынша желіде). 1989 жылы бірнеше мердігерлер осы мәселені
шешу үшін арнайы SQL Access Group концорциумды топтастырды. 1991 жылы
консорциум RDA (Remote Database Access — мәліметтер базасына өшірілген кіру
мүмкіндігі) спецификациясын жариялады. Бұл спецификация OSI протоколдарымен
тығыз байланысты. Бұл OSI протоколдары кең түрде таралған жоқ, сондықтан да
ол нарыққа мағынасыз әсер етеді.
Бірақ та, SQL Access Group-ң екінші стандарты нарықта үлкен орын
алады. Microsoft компаниясының қайсарлы талаптарының нәтижесінде SQL Access
Group консорциумы стандартқа SQL функцияларды шақыру интерфейсін қосты.
Microsoft компаниясының өңдеулеріне негізделген CLI (Call Level Interface)
спецификациясы 1992 жылы жарыққа шықты. Осы жылы CLI стандартына
негізделген ODBC (Open Database Connectivity — ашық мәліметтер базасымен
өзара әсерлесу) жеке спецификациясы жарияланған болатын. Microsoft-тың
нарықтағы орнының арқасында, яғни SQL Access Group-тан алған “ашық
стандартының” арқасында ODBC де-факто стандартына айналды. 1993 жылы
көктемде Apple және Microsoft компаниялары MacOS және Windows-тағы ODBC-дің
қолдауына келісетіндігін жариялады.
SQL стандартының пайда болуы SQL-дің және оның қосымшаларын
қолданылатындардың көшірілуі туралы жеткілікті түрде қуанышты мәлімдемесіне
алып келді. Шындығында да, SQL-89 стандартының кемтігі және SQL
диалектісінің арасындағы айырмашылық жеткілікті түрде үлкен болды,
сондықтан да, қосымшаларды басқа МББЖ-не көшірген кезде SQL-89 стандартын
әрдайым модификациялау керек болды. SQL2 стандартында көбісі жойылған бұл
айырмашылықтар мыналарды өзіне қосады:
Қателердің кодтары. SQL-89 стандартында қателер болған жағдайда SQL
операторларын қайтаратын кодтар анықталмаған және коммерциялық іске
асырулардың әрқайсысында мұндай кодтардың жеке терімі қолданылады. SQL2
стандартында қателердің стандартты кодтары анықталған.
Мәліметтер типі. SQL-89 стандартында мәліметтер типінің минималды
жиыны анықталған, бірақ та онда кең таралған және пайдалы типтердің
кейбіреулері жоқ, мысалы, ауыспалы ұзындықтың символдық жолдары, уақыт пен
дата, сонымен қатар, ақша бірліктері. SQL2 стандартында бұл типтер бар,
бірақ та “жаңа” мәліметтер типі жоқ, мысалы, графикалық және мультимедиялық
объекттер.
Жүйелік кестелер. SQL-89 стандартында МБ-ның құрылымы туралы
ақпараттан тұратын жүйелік кестелер қарастырылмады. Сондықтан да, әрбір
мердігер жеке жүйелік кестелерді құру керек болды. SQL2 стандартында
жүйелік кестелер стандартталған.
Интерактивті SQL. SQL-89 стандартында қолданбалы программада
қолданылатын тек программалық SQL (интерактивті SQL емес) ғана анықталған.
Мысалы, интерактивті тәртіпте МБ-на сұратуларды орындауға арналған select
операторы стандартта жоқ.
Программалық интерфейс. Бірінші стандартта COBOL, FORTRAN және тағы
басқа программалау тілдерінде жазылған программаларда SQL-ді қолданудың
абстарктілі әдісі анықталған. Бұл әдіс бірде-бір коммерциялық өнімде
қолданылмайды, ал программалық интерфейстерде үлекн айырмашылықтар бар.
SQL2 стандартында әйгілі программалау тілдері үшін (бірақ та, функцияларды
шақыру интерфейсінде емес) кірістірілген SQL интерфейсі анықталған.
Динамикалық SQL. SQL-89 стандартында жалпы арнаудағы қосымшаларды
өңдеу үшін (мысалы, есеп беру генераторлары және сұратуларды құру және
орындау программалыры) SQL-дің элементтері бейнеленбеген. Бірақ та,
динамикалық SQL атымен белгілі бұл элементтер барлық дерлік МББЖ-де бар
және әр түрлі жүйелерде үлкен айырмашылықтары бар. SQL2-ге динамикалық SQL
стандартына кіреді.
Семантикалық айырмашылықтар. Стандарттағы кейбір элементтер
анықталғандықтан, бір сұратуды орындаудың нәтижесінде біріккен МББЖ-де екі
әр түрлі қорытындылар жиынтығы алынады.
Салыстырудың жүйелілігі. SQL-89 стандартында МБ-да сақталынатын
салыстырудың (сорттаудың) символының жүйелілігі еске алынбайды.
Сорттаумен сұратудың нәтижесі дербес компьютерде (ASCII кодировкасымен)
және мэйнфреймде (EBCDIC кодировкасымен) бұлт сұратуды орындауда
өзгешеленетін болады. SQL2 стандарты программаға немесе пайдаланушыға талап
етілетін сорттаудың жүйелілігін көрсетуге мүмкіндік береді.
Мәліметтер базасының құрылымы. SQL-89 стандартында мәліметтер базасы
ашылғаннан кейін және жұмысқа дайын болған кезде қолданылатын SQL
анықталған. Мәліметтер базасының атынының және оларға бастапқы қосылудың
бөлшектері қатты өзгешеленеді және өзара сыйыспайды. SQL2 стандарты белгілі
бір дәрежеде бұл процесті бір ізге салады, бірақ та барлық айырмашылықтарды
толық жоя алмайды.
Көрсетілген айырмашылықтарға қарамастан, 1990-шы жылдардың басында әр
түрлі МББЖ-ң арасында қосымшалардың көшірілуін жүзеге асыратын коммерциялық
программалар пайда бола бастады. Бірақ та, әрбір МББЖ-н қолдайтын мұндай
программалар үшін арнайы конвертер талап етілді. SQL-мен қолданылатын әр
түрлі МББЖ-гі мөлдір ауысушылық SQL2 стандартының және ODBC жобасының
негізгі стандарты болып табылады. Бірақ та, жаппай, “мөлдір” және жойылған
SQL МБ-на кіру мүмкіндігі болашақтың ісі болып қалады.
II тарау. SQL-серверде жұмыс істеу принциптері
2.1 Мicrosoft sql server
SQL-дің бірнеше әр түрлі версиялары бар. Microsoft SQL Server
Transact - SQL деп аталатын версияны қолданады.
Microsoft SQL Server - Windows NT нарығында мәліметтер базасы
серверлерінің арасында ең әйгілі сервер. Microsoft SQL Server - реляционды
мәліметтер базасын басқару жүйесі. Бұл клиент сервер (әдетте, серверлік
программа) деп аталатын екі құрылымды архитектураларының бірі. Клиенттік
программалар көбінесе пайдаланушылар өңдеген қосымшаларды немесе Microsoft
Access сияқты МБ-мен автономды программалық жүйелерді білдіреді.
Клиентті сервермен байланыстырушы құрал - SQL болып табылады. Көптеген
файл-сервер негізіндегі желілік МББЖ-рі сұратуларға жауап берген кезде өте
көп артық ақпараттар береді. Бұл жүйемен салыстырғанда клиент-сервер жүйесі
тек қана сұратуда көрсетілген ақпаратты береді. Ал бұл ақпараттық жүйелерді
басқаруда SQL–дің тиімдірек құрал болуына мүмкіндік береді.
Microsoft SQL Server-дің ең маңыздылы қасиеттерінің бірі –
мәліметтердің бүтіндігін басқару мүмкіндігі.
Мекемелік қызметтерді автоматтандыруға арналған барлық компьютерлік
программаларды бірнеше типтердің қосымшалары ретінде қарастыруға болады:
текстік редактор, электронды кесте, мәліметтер базасы немесе баспа жүйесі.
Microsoft SQL – жаратылысы жағынан ақпаратқа бейімделген және өзіне
клиенттердің есептерін, төлем ведомосттерін, сату бойынша ведомосттерін
және тағы басқаларды қоса алады. SQL қосымшаларын, әсіресе клиент-сервер
архитектурасын пайдаланудың бірнеше себептері бар.
Қолданудың жеңілдігі. Көптеген клиент-сервер архитектурасының
қосымшасын қолдану өте жеңіл. Клиент-сервер архитектурасының қосымшасы
интуитивті түсінікті интерфейсті қолдайды және бастапқы қағаз бланктердің
бейнесін экранда жиі көрсететіп отырады. Тапсырыс бланктерін қолмен
толтыруға дағдыланған сатушылар қосымшаны қолданғанда өздерінің
экрандарынан жақсы таныс бланкті көреді, ал бұл оларға оңайға түседі. SQL-
дің көмегімен серверлік қосымшаның клиенттік қосымшасында жаңартулар
болады, ол нақты мәліметтерден құрылады. Жай экрандық бланктің барын ескере
отырып, сатушыға тұтынушы туралы немесе сатылуы керек тауарлар туралы
ақпараттырды жиі қарастырудың қажеті жоқ болады. Қосымшада, әдетте
“толқымалы” тізімдерді ұсынылады, сондықтан да сатушы тізімнен қажетті
пайдаланушыны, содан кейін басқа тізімнен сатылатын тауарды таңдауы керек.
Бұл компанияның МБ-ң бүтіндігін қамтамасыз етеді, ақпараттың қайталануын
жояды және тауарлардың тиімді бағада сатылуына дол бермейді. Бланк
толтырылып серверлік қосымшаға жіберіледі, одан кейін клиент үшін басып
шығарылады.
Пайдаланушы үшін қолайлы экрандық формаларды қолданғанда клиенттік
қосымшада сатушының немесе қызмет етушінің еңбек өнімділігі тез көбейеді.
Сонымен қатар, компанияның құжаттарының және бухгалтерлік ақпараттарының
анықтылығы жоғарылайды.
Логикалық құрылымдар. Microsoft SQL Server-де екі түрлі кестелер
қолданылады: жүйелік және пайдаланушы кестелер. Кейбір жүйелік кестелер
әрбір мәліметтер базасында сақталынады және МБ-ң каталогының кестелері деп
немесе жүйелік кестелер деп аталады. Жүйелік кестелер Microsoft SQL Server-
де пайдаланушы МБ-ң объекттерінің жағдайының ізін басу үшін қолданылады.
Кесте - бұл пайдаланушылардың қарым-қатынаста болу объектісі.
Microsoft SQL Server-де кестелер барлық мәліметтерді сақтаушы объект
ретінде қолданылады. Ереже бойынша, кестеде бір типті ақпарат сақталынады:
тапсырыс берушілер туралы, мердігерлер туралы, тауарлар туралы және тағы да
басқалар туралы ақпарат. Кез-келген түрдегі ақпаратты сақтау үшін өзіндік
кестелерді құруға болады.
Курсорлар. Курсорлар Declare cursor операторының көмегімен
активтендіріледі. Microsoft SQL Server-де екі типті курсорларды құруға
болады: динамикалық және тек қана алдыға ауыстырылатын курсорлар. Курсорлар
көбінесе сұратулардың нәтижесінде алынған көптеген мәліметтерде белгілі бір
операцияларды орындау үшін қолданылады.
Индекстер. Microsoft SQL Server МБ-дағы индекстер күнделікті өмірде
қолданылатын кез-келген индекс сияқты рөл атқарады. Бұл - ақпаратты немесе
ақпараттың белгілі бір түрін тез табуға мүмкіндік беретін құрал. Индекс –
бұл кестедегі мәліметтерге кіру мүмкіндігін жыламдату үшін Microsoft SQL
Server-де қолданылатын арнайы объект. Индекстердің екі түрде бар:
кластеризделген және кластеризделмеген.
Кластеризделген индексті қолданғанда кестедегі мәліметтер физикалық
түрде ретке келтіріледі. Кестеде тек бір ғана кластеризделген индекс
болады. Кластеризделген индекс бірнеше деңгелерден немесе бірнеше
парақтардан тұруы мүмкін, мұндағы соңғы парақ мәліметтердің беттерін
білдіреді. Кластеризделген индекстер кластеризделмеген индекстермен
салыстырғанда әдетте, бір бетке аз болады, сондықтан кластеризделген
индекстер ереже бойынша тезірек жұмыс істейді.
Триггерлер. Тригерлер – бұл белгілі бір шарттар пайда болғанда
автоматты түрде активтендірілетін арнайы объекттер. Берілген шартты
сақтағанда триггер жұмыс істейді де онда көрсетілген операциялар
орындалады. Триггерлер күрделі талаптарды орындау үшін қолданылады.
Триггерлерді Windows NT-да DLL-ді орындайтындай етіп құруға болады. Бұл
триггерлерде басқа программалардың мәліметтеріне кіру мүмкіндігі немесе
мәліметтерді басқа программаларға беру мүмкіндігі болуы мүмкін..
Идентификаторлар. МБ-ң құрылымын құрған кезде идентификаторларға
ережелер мен келісімдерді орнату керек. Компанияның МБ-ң және серверлерінің
келісілген жұмысы өте маңызды болып табылады. Жақсы ойластырылған сызбаның
көмегімен клиентсервердің сенімді құрылымының сенімді фундаментін құруға
болады. Объекттер аттарының келісімі үшін Microsoft SQL Server бір қатар
ережелер орнатады.
Транзакция. Microsoft SQL Server-де транзакция деп (transaction) бір
ретте орындалуы керек процедуралардың жиынтығы атайды. Егер де транзакция
орындала бастаса, онда ол толығымен аяқталуы керек немесе толығымен
болдырылмауы керек. Барлық коммерциялық процедураларды транзакцияның
серияларымен салыстыруға болады. Мысалы, банк клиентке қолма-қол 100$
көлемінде чек төлейді. Бұл кезде банк екі транзакцияны орындайды:
- клиенттің банктік шотының 100$-ға азаюы;
- банкте қолма-қол шоттың 100$-ға көбеюі.
Банктік кітапта баланс сақталуы үшін бұл екі транзакция соңына дейін
орындалуы керек. Microsoft SQL Server трранзакция соңына дейін
орындалатынына кепілдік береді немесе транзакцияны мүлдем орындамайды.
Мысалы, егер де pubs МБ-ғы titles кестесінде орналасқан бизнес (business)
бойынша барлық кітаптардың бағасын 25%-ға жоғарылату керек болса, онда
келесідей операцияны енгізу керек:
UPDATE titles
SET price = price * 1.25
WHERE type = business
Microsoft SQL Server транзакцияның басталуын немесе аяқталуын анықтауы
үшін келесідей транзакциондық командалар қолданады:
Begin TRANsaction. Бұл оператор Microsoft SQL Server-ге барлық келесі
операцияларды топтастыру туралы – транзакцияны орындауды бастау туралы
хабарлау үшін қолданылады.
Comit TRANsaction. Бұл оператор Microsoft SQL Server-ге ағындағы
барлық операциялардың орындалуын аяқтау туралы бұйрық береді. Нәтижесінде
транзакция аяқталады және ол дискке жазылуы керек.
ROLLBACK TRANsaction. Бұл оператор Microsoft SQL Server-ге
транзакцияның өңдеген барлық өзгерістерін болдырмауы туралы және бастапқы
қалпына келтіру туралы бұйрық береді.
SAVE TRANsaction. Бұл оператор пайдаланушыға транзакцияның ішінде
сақтау нүктесін орнатуға мүмкіндік береді.
SQL операторларының басталуының және аяқталуының дұрыс орындалуын
сервер қадағалап отырады. Бұл дегеніміз әрбір оператордың басында және
аяғында BeginTRAN және Comit TRAN командаларын қолданудың қажеті жоқ.
Microsoft SQL әрбір транзакция анық емес операторлардан: BeginTRAN және
Comit TRAN тұрады деп санайды немесе кері жағдай болғанда транзакцияның тек
жартысы ғана орындалады дейді.
Мысалы:
Анық емес оператор BeginTRAN
UPDATE customer-account
SET balance=balance-100
Tran-id=3456
Where cust_id= 1515453456
Анық емес оператор Commit TRAN
Анық емес оператор BeginTRAN
INSERT bank_cashacct (tran_id, amount, cust_id)
Values (3456, 100, 151545)
Анық емес оператор Commit TRAN
Бұл барлық транзакцияның нәтижесі жазылатындығына немесе транзакция мүлдем
орындалмайтындығына кепілдік береді. Банктік транзакция мысалында оны
келесідей түрде енгізу керек:
BeginTRAN
UPDATE customer-account
SET balance=balance-100
Tran-id=3456
Where cust_id= 1515453456
INSERT bank_cashacct (tran_id, amount, cust_id)
Values (3456, 100, 1515453456)
Commit TRAN
SQL-сервер транзакциясына дейін және SQL-сервер транзакциясынан кейін
BeginTRAN және Commit TRAN операторларын қолдану - дискте тұрақты файл
транзакциясының дұрыс жазылымын қаматамасыз етеді. Егер де сервердің
жұмысы транзакцияның орындалуына дейін авариялық түрде аяқталса, онда
соңғысы автоматты түрде орындалмайды.
Егер де BeginTRAN және Commit TRAN операторлары орындалғаннан кейін
транзакцияда бәрін болдырмау керек болса, онда ROLLBACK TRAN–ді қолдануға
болады.
2.2 SQL-серверде жұмыс істеу принциптері
Реляционды МБ-ң негізгі элементтері мыналар болып табылады:
Кесте (TABLE). Жолдар мен бағаналардан тұратын тіктөртбұрышты кесте.
Кестені тапсыру – қандай бағаналар мен жолдардан тұратындығын көрсету.
Жол (ROW). Өрістерден, яғни бағаналардан тұратын жазба. Кестенің әрбір
өрісі оның мәнінен немесе “бос” (NULL) деген мәннен тұрады. Кестедегі жол
шектеусіз болуы мүмкін.
Бағана (COLUMN). Кестеде әрбір бағананың өзінің аты және типі болады.
SQL кестелері. Реляционды мәліметтер базасында ақпараттар жолдар мен
бағаналарға бөлінген кесте түрінде ұйымдастырылуы мүмкін. SQL тілінде
қолданылатын кілтердің үйлесімділігі (сочетание ключей) (CREATE TABLE
my_table – my_table деп аталатын кестені құру) сұратулар үшін “ұсыныс”
(предложение) деген атқа ие болды. SQL–де кестелер CREATE TABLE ұсынысы
арқылы құрылады. CREAT TABLE ұсынысы базалық кестенің атын, кестенің
бағаналарының аттарын және осы бағаналардағы мәліметтердің типтерін
спецификациялайды. CREAT TABLE–орындалынатын ұсыныс. Егер де SQL-серверіне
CREATE TABLE сұратуын беретін болсақ, онда жүйе кестені құрастырады.
Бастапқыда ол кесте бос болады, яғни бағаналардың аттарынан тұратын жолдан
тұрады, бірақ та әлі ешқандай жолдардың мәліметтері болмайды. Кестеге
ақпараттар INSERT командасын ұсынғаннан кейін қойылады.
SQL сұратуларының құрылымы. Бір немесе бірнеше кестелерден кез-келген
мәліметтерді алған кезде барлық сұратулар бір ғана SELECT ұсынысы арқылы
орындалады. МБ-на айналуы үшін синтаксистік конструкцияларда келесі
белгілер қолданылады:
• жұлдызша (*) - бәрі деген белгі, қарапайым программалау мағынасында
қолданылады, яғни анықтамаларды қанағаттандыратын барлық жағдайлар;
• тік жақшалар ([]) – бұл жақшадағы конструкциялар міндетті емес болып
табылады, яғни толық емес бола алады;
• фигуралық жақшалар ({}) – бұл жақшадағы конструкциялар бүтін
синтаксистік бірліктер түрінде қарастырылуы керек;
• көп нүкте (...) – бастапқы синтаксистік бірлік бір немесе бірнеше рет
факультативті қайталануы мүмкін екендігін көрсетеді;
• түзу сызық () – екі немесе одан да көп мүмкіндіктерден таңдау
мүмкіндігінің бар болуын білдіреді. Мысалы, ASCDESC белгісі ASC
немесе DESC терминдерінің біреуін таңдауға болатындығын көрсетеді.
Егер де таңдалынатын элементтердің біреуі тік жақшаға енгізілген
болса, онда ол өзі (по умолчанию)таңдалынады (сонда [ASC]DESC деген
белгі - ешқандай конструкция болмаған жағдайда ASC таңдалынады
дегенді білдіреді);
• үтір нүкте (;) – SQL ұсыныстарының қорытынды элементі;
• үтір (,) – тізімнің элементтерін бөлу үшін қолданылады;
• бос орын пробелы ( ) – SQL ұсынысының кез-келген синтаксистік
конструкцияларының арасында көрнекілігін жоғарылату үшін енгізілуі
мүмкін;
• майлы, жазбаша, бас әріпті латын әріптері және символдары SQL тілінің
конструкциясын жазу үшін қолданылады және конструкцияда қалай
көрсетілсе, солай жазылуы керек- ... ... .;
• жол әріптері конструкцияны жазу үшін қолданылады. Конструкциялар
пайдаланушы таңдаған белгілі бір мәндермен ауыстырылуы керек, мұнда
конструкциялардың бөлек сөздері бір-бірінің арасында сызық символымен
байланыстырылады (_);
• кесте және бағана терминдері сәйкесінше кестенің аты,
бағананың аты, ..., терминдерін ауыстырады (синтаксистік конструкция
мәтінін қысқарту мақсатында);
• кесте термині – базалық кесте тәрізді кестенің түрлерін жалпылау
үшін қолданылады.
SELECT (таңдау) ұсынысының форматы:
Сұратудың тармағы [UNION [ALL] сұратудың тармағы] ...
[ORDER BY {[кесте.]бағана элементтің_номері_SELECT} [[ASC] DESC]
[,{[кесте.]бағана элементтің_номері_SELECT} [[ASC] DESC]] ...;
Бұл формат біріктіруге (UNION), содан кейін бірнеше “сұратулардың
тармағы” көмегімен алынған мәліметтерді таңдау қорытындысын ретке келтіруге
(ORDER BY) мүмкіндік береді. Сонымен қатар, ретке келтіруді өсу ASC
(ASCending) ретінде немесе кему DESC (DESCending) ретінде (үндемеу бойынша
ASC қолданылады) тұрғызуға болады.
Бұл ұсыныста сұратудың тармағы қажетті мәліметтерді таңдауға және
оларды өңдеуге (қажет болған жағдайда) шарттарды көрсетуге мүмкіндік
береді.
SELECT - (таңдау) көрсетілген бағаналардың мәліметтері мен (қажет
болған жағдайда) қорытындының алдында көрсетілген амалдарға және (немесе)
функцияларға сәйкес олардың қайта құрылуын орындау;
FROM - (бірдеңенің ішінен) бағаналар орналасқан кестелердің ішінен;
WHERE - (қайда) кестелердің ішіндегі жолдар жолдарды іріктеу
шарттарын қанағаттандыруы керек;
GROUP BY - (белгілі бір шарт бойынша топтастыру) SELECT фразасында
SQL–дің функцияларын: SUM (соммасы), COUNT (саны), MIN (минимальді мәні),
MAX (максимальді мәні) немесе AVG (орташа мәні) қолдана отырып әрбір топқа
бір ғана агрегатталған мәнді алу үшін қолданылады;
HAVING - (бар бола отырып) нәтижесінде тек таңдау шарттарының тізімін
қанағаттандыратын топтардың бар болуы.
Және мынандай форматы бар:
SELECT [[ALL] DISTINCT]{ * элемент_SELECT [,элемент_SELECT] ...}
FROM {базалық_кесте көрсетілуі} [құпия_ат]
[,{базалық_кесте көрсетілуі} [құпия ат]] ...
[WHERE фраза]
[GROUP BY фраза [HAVING фраза]];
SELECT_элементі– келесі конструкциялардың біреуі:
[кесте.]* мән SQL_функция жүйелік_айнымалы
мұндағы мән дегеніміз бұл:
[кесте.]бағана (мән) константа айнымалы
Мәннің синтаксисі мынандай түрде болады:
( {[ [+] - ] {мән МББЖ_функция} [ + - * ** ]}... )
ал SQL_функциясының синтаксисі келесі конструкциялардың бірі болады:
{SUMAVGMINMAXCOUNT} ( [[ALL]DISTINCT][кесте.]бағана )
{SUMAVGMINMAXCOUNT} ( [ALL] мән )
COUNT(*)
WHERE фразасы жолдарды іріктеу үшін шарттардың жиынтығын қосады:
WHERE [NOT] WHERE_шарт [[ANDOR][NOT] WHERE_шарт]...
мұндағы WHERE_шарт – келесі конструкциялардың бірі:
мән { = = = } { мән ( сұратудың тармағы ) }
мән_1 [NOT] BETWEEN мән_2 AND мән_3
мән [NOT] IN { ( константа [,константа]... ) ( сұратудың тармағы ) }
мән IS [NOT] NULL
[кесте.]бағана [NOT] LIKE 'жол_символдары' [ESCAPE 'символ']
EXISTS ( сұратудың тармағы )
Дәстүрлі салыстыру операторларынан (= = =) басқа
WHERE фразасында BETWEEN (арасында), LIKE (ұқсас), IN (құрамында болу), IS
NULL (анықталмаған) және EXISTS (бар болу) шарттары қолданылады. Жолдарды
іріктеу критерийлері логикалық операторлармен біріктірілген бір немесе
бірнеше шарттарда қалыптастырылады:
AND - AND шартының көмегімен бөлінетіндердің екеуі де
қанағаттандырылуы керек;
OR - OR шартының көмегімен ... жалғасы
әл-Фараби атындағы Қазақ Ұлттық университеті колледжі
Курстық жұмыс
Тақырыбы: SQL тілі
Орындаған:Ақпараттықжүйелер
мамандығының 3 курс
студенті
Сағымбекова В.Т.
Тексерген:Тұрарбек Ә.Т.
Алматы, 2007 жыл
ЖОСПАР:
I -тарау. SQL тілінің ТЕОРИЯЛЫҚ АСПЕКТІЛЕРІ
1.1Реляционды мӘліметтер базасы
1.2МӘЛІМЕТТЕР БАЗАСЫН БАСҚАРУ ЖҮЙЕСІНДЕГІ SQL
тілінің
ТҮСІНІГІ, ЕРЕКШЕЛІКТЕРІ
1.3 SQL стандарттары жӘне оның қазіргі кездегі
жағдайы
II-ТАРАУ. ЖҰМЫС ІСТЕУ ПРИНЦИПТЕРІ
1. Мicrosoft sql server
2. SQL-серверде жұмыс істеу принциптері
III-ТАРАУ. Лабораториялық жұмыс
I -тарау. SQL тілінің ТЕОРИЯЛЫҚ АСПЕКТІЛЕРІ
1. Реляционды мӘліметтер базасы
Кез-келген мәліметтердің құрылымын қарапайым екі деңгейлі кестеде
түрлендіруге болады. Мәліметтерді мұндай екі деңгейлі кестеде көрсетілуі
пайдаланушы үшін де, машина үшін де ыңғайлы болып табылады. Қазіргі кезде
көптеген ақпараттық жүйелер осындай кестелермен жұмыс істейді. Екі деңгейлі
кестеден тұратын мәліметтер базасы реляционды деп аталады.
Реляционды әдістеменің негізгі идеясы - мәліметтердің еркін құрылымын
қарапайым екі деңгейлі кесте түрінде көрсету болып табылады немесе басқаша
айтқанда, мәліметтердің құрылымын бірыңғайлау.
Әлемдегі барлық мәліметтер базасының жүйесінің ішінде ең көп таралғаны
- реляционды мәліметтер базасы. Бұл жүйелер осығанға дейінгі
пайдаланушылардың реляциондық емес өнімдермен жұмыс істеуде пайда болған
көпетеген мәселелерін шешуге қабілетті. Реляционды емес мәліметтер
базасының программистері мен администраторлары ақпарат қалай
құрылымдағандығын және ақпараттың мәліметтер базасында қалай
көрсетілгендігін жете білуі керек болды, ал бұл қосымшаларды өңдеуді және
программалардың модификациялауды маңызды дәрежеде күрделендірді
Реляционды жүйелер жоғары деңгейде жұмыс істеуге қабілетті. Реляционды
жүйеде мәліметтермен барлық операциялар DBMS (МББЖ) деп аталынатын
программа арқылы жүзеге асырылады. МББЖ-сін тек қана жоғарғы деңгейдегі
операторлар тілінің көмегімен басқаруға болады. Бірақ та, кейбір өнімдер
бұрынғысынша өздерінің жеке тілдерінің терминдерін қолдайды. Бірақ, соған
қарамастан SQL тілі технологиялық стандартқа айналды, оның базасында әйгілі
немесе онша әйгілі емес реляциондық өнімдер құрылды.
Реляционды мәліметтер базасын басқару жүйесі (РМББЖ немесе RDMS) - бұл
кесте түрінде сақталынатын, ақпараттарды басқаратын жүйе. Мұндай кестелер
бір-бірімен өзара байланыста болады. Байланыстар бір кестенің мәліметтер
жиыны мен сәйкесінше, басқа кестенің мәліметтер жиынының арасындағы
қатынастардан кұрылады.
Мәліметтер базасын өңдегеннен кейін реляционды мәліметтер базасын
нормалдауға кірісу керек. Нормализденген мәліметтер базасы келесідей
шарттарға сәйкес болу керек:
- барлық кестелер кестедегі әрбір жолдың қасиеттері (мәліметтер типі)
анықталатын атрибуттардан (бағаналарөрістер) тұруы керек;
- кестенің әрбір жолы бөлек оқиғаны немесе пәнді анықтауы керек;
- әрбір жол бір ғана жолмен бастапқы кілтті (primary key) қолдану арқылы
идентификацияланады;
- бастапқы кілт бір немесе бірнеше бағаналардан тұруы мүмкін;
- бастапқы кілттің мәні null-мәнді болмауы керек.
1-сурет. Реляционды мәліметтер базасы
Мұндағы:
❖ Қатынас – Кесте (кейде Файл)
❖ Кортеж – Жол (кейде Жазылым)
❖ Атрибут – Бағана, Өріс
Реляционды мәліметтер базасы қатынастармен байланыстырылған кестелер
тобы ретінде бейнеленген. Жақсы МБ-сы кестелерде ұйымдастырылған
мәліметтердің жиынтығын білдіреді. Әрбір кесте бастапқы кілт деп аталынатын
бағананы қолданады.
Мәліметтер арасында байланыс кестеде екі кестеге де ортақ
мәліметтерден тұратын мәліметтер арасында орнатылады. Көптеген қатынастар
бастапқы және сыртқы кілттерге арналған арнайы шектеулердің көмегімен
құрылады. Анықтама бойынша, бастапқы кілт кесте үшін бірегей болып табылады
және кестедегі барлық мәліметтер осы өріс бойынша автоматты түрде
индексацияланады және бір ретке келтіріледі. Бастапқы кілттің өрісінде NULL
мәнін қолдануға болмайды. Сыртқы кілт – бұл басқа кестенің бастапқы кілтіне
сәйкес келетін өріс. Сыртқы кілттің өрісі NULL мәнін қабылдай алады.
“Бастапқы кілт” қатынасымен өзара байланысқан кестеден тұратын МБ-н
құрғаннан кейін кестелер арасында ақпаратты логикалық түрде бөлу оңайға
түседі.
Мәліметерде көрсетілгендерді іздегеу кезінде барлық файлдарды
қарастырған кезде қолданылатын жалпақ файл деп аталатын файлдармен
салыстырғанда реляционды МБ-да көрсетілгендерді іздегенде SQL тілін
қолдануға болады.
Бұл тіл қандай ақпарат керек екендігін нақты түрде анықтау үшін
қолданылады. SQL нәтижесінде SQL-сұрату операторында көрсетілген шарттарды
қанағаттандыратын көптеген ақпараттарды береді.
Реляционды мәліметтер базасы – МБ-да сақталынуы керек барлық ақпараттан
тұратын қатынастардың жиынтығы. Бірақ та, пайдаланушылар мұндай МБ-н
кестелердің жиынтығы ретінлде қабылдауы мүмкін. Реляционды МБ-да :
❖ Әрбір кесте бір типті жолдардан тұрады және олардың бірегей аттары
болады.
❖ Жолдарда белгіленген өрістердің сандары (бағаналар) мен мәндері
(қайталанатын топтар жіберілмейді) болады.
❖ Кестенің жолдары бір-бірінен міндетті түрде ең болмағанда бір мәнге
өзгешеленеді, бұл мұндай кестенің кез-келген жолын идентификациялауға
мүмкіндік береді.
❖ Кестенің бағаналарына аттар беріледі және олардың әрқайсысында
мәліметтердің біртектес мәндері (даталар, фамилиялары, бүтін сандар
немесе ақша сомалары) орналасады.
❖ МБ-ң толық ақпараттық құрылымы мәліметтердің нақты мәндері түрінде
беріледі және мұндай әдіс жалғыз болып табылады. Әсіресе, бір кестені
басқамен байланыстыратын қандай да бір арнайы “байланыстар” немесе
көрсеткіштер жоқ.
❖ Кестемен операцияларды орындаған кезде оның жолдары мен бағаналарын оның
ақпараттық мазмұнына қарамастан кез-келген тәртіпте өңдеуге болады.
Кестенің аттары мен оның бағаналарынаң аттарының болуы бұған негіз болып
табылады.
2. МӘЛІМЕТТЕР БАЗАСЫН БАСҚАРУ ЖҮЙЕСІНДЕГІ SQL тілінің ТҮСІНІГІ,
ЕРЕКШЕЛІКТЕРІ
МББЖ-ң клиенттік қосымшасы мен серверлік қосымшасы бір-бірімен өзара
әсерлесуі үшін олар ортақ тілді қолдануы керек. Бұл тіл Structured Query
Language (құрылымданған сұратулар тілі) немесе SQL деп аталады. SQL -
компьютердің мәліметтер базасындағы мәліметтерді оқуға және өңдеуге
арналған құрал. SQL – бұл пайдаланушының мәліметтер базасымен әрекеттесуін
ұйымдастыру үшін қолданылатын программалау тілі. SQL тек нақты бір түрдегі
мәліметтер базасымен ғана, яғни реляционды мәліметтер базасымен ғана жұмыс
істеуге арналған программа.
МБ-ң SQL–мен өзара әрекеттесу тілі 1970-ші жылдардың ортасында IBM
корпорациясының өңдеуімен пайда болды және тәжірибелі реляционды System
R МББЖ–ң жобалау рамкасында өңделінді. Тілдің бастапқы аты SEQUEL
(Structured English Query Language) деп аталды, ол осы тілдің мағынасын тек
қана жартылай бейнеледі. Әрине, тілдің басты мақсаты пайдаланушының
реляционды МБ-да сұратуларды қалыптастыруы ыңғайлы және түсінікті болуы
үшін бағдарланды. Бұл тілде МБ-ң объекттеріне кіру мүмкіндігінің
синхронизациялау құралдары болған жоқ.
SQL – сұратуларды құруға және орындауға арналған әмбебап тіл. Сонымен
қатар, SQL реляционды мәліметтер базасын басқару үшін қолданылады.
SQL бұл МББЖ-ң жүйесі немесе бөлек программалық өнім емес, оны
компьютерлік дүкеннен сатып ала алмаймыз, өйткені SQL МББЖ-ң бір бөлігі.
SQL тілінің ерекшеліктері:
• нақты бір МББЖ-нен тәуелсіздігі. МББЖ-н басқарушы барлық
мердігерлер SQL-ді қолданады. SQL-ді қолдамайтын бірде-бір
жаңа МББЖ табыстылыққа сене алмайды. Реляционды мәліметтер
базасын және сонымен бірге жұмыс істейтін программаларды
минималды түрде жөндеу арқылы бір МББЖ-дан басқа МББЖ-ға
тасуға болады. Дербес компьютерлерге арналған, МББЖ-ң құрамына
кіретін программалық құралдар (мысалы, сұратуларды құруға
арналған программалар, есеп берудің генераторлары және
қосымшаның генераторлары) әр түрлі реляционды мәліметтер
базалармен жұмыс істейді. Осылайша, SQL нақты бір МББЖ-нен
тәуелсіздікті қамтамасыз етеді, ал бұл оның әйгілілігінің ең
маңызды себептерінің бірі болып табылады.
• бір есептеуші жүйеден басқа жүйеге көшіру. МББЖ-нің
мердігерлері әр түрлі есептегіш жүйелерге программалық өнімді
ұсынады: дербес компьютерлер мен жұмыс станцияларынан локальді
желілер, миникомпьютерлер мен үлкен ЭЕМ-ге дейін. SQL арқылы
құрылған және бір рет пайдаланылатын жүйелерге есептелген
қосымшалар өзінің дамуы бойынша үлкенірек жүйелерге
ауыстырылуы мүмкін. Реляционды мәліметтер базасына арналған
қосымшаларды дербес компьютерлерде басында модельдеп алуға
болады, содан кейін қымбат тұратын, көпшілік қолданылатын
жүйелерге ауыстыруға болады.
• стандарттардың бар болуы. SQL тілінің ресми стандарты
Американың ұлттық стандарттар институтында (American National
Standards Institute - ANSI) және стандарттар бойынша
Халықаралық ұйымда (International Standards Organization –
ISO) 1986 жылы жарияланған болатын және 1992 жылы кеңейтілген
болатын.
• Microsoft компаниясының қолдау көрсетуі және ODBS хаттамасы.
Microsoft компаниясы мәліметтер базасына кіру мүмкіндікті
өзінің Windows операционды жүйесінің маңызды бөлігі ретінде
қарастырады. Бұл компанияның мәліметтер базасына кіру
мүмкіндікті қамтамасыз ету бойынша стандарты болып ODBS (Open
Database Connectivity – ашық мәліметтер базасымен әрекеттесу)
табылады. ODBS – бұл SQL-ге негізделген программалық
интерфейс. ODBS-тің қолдау көрсетуі реляционды МБ-сын
басқарушылардың барлығымен қамтамасыз етіледі.
• реляционды негіздің бар болуы. SQL реляционды МБ-ның тілі
болып табылады. Сондықтан да, мәліметтерді реляционды
модельмен көрсету әйгілі болған кезде SQL де әйгілі бола
бастады. Реляционды МБ-ның кестелік құрылымы интуитивті
түсінікті, сондықтан да SQL тілі қарапайым және оны зерттеу
оңайға түседі.
• ағылшын тілін еске түсіретін жоғарғы деңгейдегі құрылымның
бар болуы. SQL-дің операторлары қарапайым ағылшын
сөйлемдеріне ұқсайды, ал бұл оны зерттеу мен түсінуді
оңайлатады. SQL операторлары мәліметтерді іздеу әдісін емес,
алуға қажетті мәліметтерді бейнелейді. Реляционды мәліметтер
базасының кестелері мен бағаналарында ұзақ аттар бейнеленуі
мүмкін. Көптеген SQL операторларының қорытындысы олардың
аттарына сәйкес келетіндігін білдіреді, сондықтан оларды
қарапайым, түсінікті сөйлемдер ретінде түсінуге болады.
• МБ-сын программалық кіру мүмкіндігімен қамтамасыз етуі.
Программистер SQL тілін МБ-сын айнымалылардан тұратын
қосымшаларды жазу үшін қолданады. Программа кіру мүмкіндігіне
арналған дәстүрлі мәліметтер базасында тек қана программалық
құралдар қолданылады, ал дереу сұратуларды орындау үшін бұл
екі кіру мүмкіндік режимдерінің арасында қандай да бір
байланыс болмайтын басқа программалар қолданылады.
• мәліметтерді динамикалық түрде анықтау мүмкіндігі.
Пайдаланушылар мәліметтер базасының құрылымын қарастырғанның
өзінде SQL-дің көмегімен мәліметтер базасының құрылымын
динамикалық түрде өзгеруге және кеңейтуге болады. Осылайша,
SQL мәліметтер базасын максималды иілгіштікпен қамтамасыз ете
алады.
Сақталынатын мәліметтердің көлемінің ұлғаюы мен құрылымының күрделенуі
және ақпараттық жүйелерді пайдаланушылардың аумағының ұлғаюы - ыңғайлырақ
және салыстырмалы түрде түсінуге жеңілірек реляционды (кестелік) МББЖ-н кең
түрде таралуына әкеп соқтырды. Мәліметтерге бір уақытта кіру мүмкіндігін
қамтамасыз ету үшін көптеген пайдаланушыларға, көбінесе бір-бірінен және
мәліметтер базасы сақталынатын орыннан жеткілікті түрде алыс орналасқан
пайдаланушыларға МББЖ-ң тораптық мультипайдаланушы түрі құрылған. Оларда
параллельді процестердің спецификалық мәселелері, бүтіндігі (дұрыстылығы)
және мәліметтердің қауіпсіздігі, сонымен қатар мәліметтерге кіру
мүмкіндігінің санкционирлену мәселелері шешіледі.
SQL-дің ерекше өзгешелігі – SQL-дің комьютерлік ортадан
(операциялық жүйеден және архитектурадан) тәуелсіздігі болып табылады.
2-суретте SQL-мен жұмыс істеу схемасы бейнеленген. Осы схемаға сәйкес
есептеуші жүйеде маңызды ақпарат сақталынатын мәліметтер базасы болады.
Егер де МБ-сы бизнеске қатысты болса, онда МБ-да материалды құндылықтар
туралы ақпараттар сақталынуы мүмкін. Дербес компьютердің мәліметтер
базасында чектер, телефондар және адрестер туралы ақпараттар сақталынуы
мүмкін. Мәліметтер базасын басқаратын компьютерлік программа МББЖ деп
аталады.
2-сурет. SQL-мен жұмыс істеу схемасы
Егер де пайдаланушыға МБ-нан мәліметтерді оқу керек болса, ол
мәліметтерді МББЖ-ң көмегімен SQL-ден сұратады. SQL сұратуды өңдеп, қажетті
мәліметтерді табады да, оны пайдаланушыға жібереді. Мәліметтерді сұрату
және нәтижелерді алу процесі мәліметтер базасына сұрату деп аталады, яғни
сұратудың құрылымданған тілі.
Бірақ та, бұл ат шындыққа толығымен сәйкес келмейді. Бүгінгі күні SQL
жай сұратуларды құратын құрал ғана емес, бұл тілдің бұдан да үлкен
мүмкіндіктері бар. Мәліметтерді оқу бұрынғысынша SQL-дің ең маңызды
қызметтерінің бірі болғанымен, қазіргі кезде МББЖ-нің пайдаланушыға
көрсететін барлық функционалдық мүмкіндіктері жүзеге асырылуы үшін SQL
қолданылады. Мұндағы функционалдық мүмкіндіктер дегеніміз:
Мәліметтерді ұйымдастыру. SQL пайдаланушыға көрсетілетін мәліметтердің
құрылымын өзгертуге, сонымен қатар МБ-ң элементтерінің арасында
байланыстарды орнатуға мүмкіндік береді.
Мәліметтерді оқу. SQL пайдаланушыға немесе қосымшаға МБ-ғы
мәліметтерді оқуға және оларды қолдануға мүмкіндік береді.
Мәліметтерді өңдеу. SQL пайдаланушыға немесе қосымшаға мәліметтер
базасын өзгертуге, яғни мәліметтер базасына жаңа мәліметтерді қосуға,
сонымен қатар мәліметтер базасындағы мәліметтерді өшіруге немесе жаңартуға
мүмкіндік береді.
Мәліметтерге кіру мүмкіндігін басқару. SQL-дің көмегімен
пайдаланушының мәліметтерді оқуын немесе өзгертуін шектеуге болады, сонымен
қатар мәліметтерді санкцияланбаған кіру мүмкіндігінен қорғауға болады.
Мәліметтерді бірігіп қолдану. SQL параллельді жұмыс істейтін
пайдаланушылар бір-біріне кедергі жасамауы үшін пайдаланушылардың
мәліметтерді бірігіп қолдануын үйлестіреді.
Мәліметтердің бүтіндігі. SQL мәліметтер базасының бүтіндігін
қамтамасыз етуге мүмкіндік береді, яғни жүйенің бас тартуынан немесе
келісілмеген өзгерістерден мәліметтердің бұзылуын қорғайды.
1.3 SQL стандарттары жӘне оның қазіргі кездегі жағдайы
Қазіргі кезде нарықта SQL тілін мойындаудың ең маңызды қадамдарының
бірі - осы тілде стандарттардың пайда болуы. Әдетте, SQL стандарттарын
еске алғанда Американың Ұлттық Стандарттар Институтымен (American National
Standards Institute — ANSI) және Стандарттар Бойынша Халықаралық Ұйыммен
(International Standards Organization — ISO) бекітілген ресми стандарттар
айтылады. Бірақ та, SQL-дің басқа да маңызды стандарттары бар – SQL-ді
қосқанда IBM компаниясының DB2 жүйесінде жүзеге асырылған стандарты және
UNIX аумағында SQL-ге арналған XOPEN стандарты. ANSIISO
стандарттары. SQL-дің ресми стандартымен жұмыс 1982 жылы басталды, ол кезде
ANSI өзінің клиентіне ХЗН2 реляционды мәліметтер базасына стандартты тілді
құруға тапсырма берді. Бастапқыда комитетте ұсынылған әр түрлі тілдердің
артықшылықтары талқыланды. Бірақ та, сол уақыттарда SQL іс жүзінде
стандартқа айналған еді, ХЗН2 комитеті өзінің таңдауын осы тілді таңдауымен
тоқтатты және SQL-дің стандартталуымен айналыса бастады.
Нәтижесінде құрастырылған стандарт үлкен дәрежеде SQL диалектісінің
DB2 жүйесіне негізделген болатын, бірақ та бұл диалекттен маңызды
ерекшеліктері болды. Бірнеше жөндеуден кейін 1986 жылы стандарт ресми
түрде номері Х3.135 ANSI стандарты түрінде бекітілген болатын, ал 1987 жылы
ISO стандарты түрінде бекітілген болатын. Содан кейін ANSIISO стандарты
АҚШ-ның үкіметімен ақпаратты өңдеу бойынша (FIPS — Federal Information
Processing Standard) АҚШ-ң федералды стандарты ретінде қабылданды. Бұл
стандарт 1989 жылы қайта қарастырылды, әдетте бұл стандарт “SQL-89” немесе
“SQLI” стандарты деп аталынады.
ANSI және ISO стандарттары бойынша комитеттің көптеген мүшелерінен әр
түрлі МББЖ-ң фирмалары – мердігерлері көрсетті, олардың әрқайсысында SQL-
дің өзіндік нұсқасы құрастырылған болатын. Адам тілінің диалектісі сияқты
SQL тілінің диалектісі де негізінде бір-біріне ұқсас болған, бірақ та
бөлшектері бір-біріне сәйкес келмейтін. Көптеген жағдайларда комитет бұл
сәйкессіздіктерге мән бермеді және тілдің кейбір бөліктерін стандарттаған
жоқ. Бұл әдіс стандартқа сәйкес келетін көптеген SQL тілінің жүзеге асуына
себеп болды, бірақ та стандарт салыстырмалы түрде әлсіз болып қалды.
Бұл мәселелерді шешу үшін ANSI комитеті SQL2 стандартын құрды. 1989
жылғы стандартпен салыстырғанда SQL2 жобасы нақты коммерциялық өнімдердің
шектеуінен шығатын мүмкіндіктерді қарастырды. Ал одан кейінгі SQL3
стандартында одан да терең өзгерістер енгізілді. Нәтижесінде ұсынылған SQL2
және SQL3 стандарттары бастапқы стандартпен салыстырғанда бір-біріне қарама-
қарсы болды. SQL2 стандарты ANSI-мен бекітілді және 1992 жылдың қараша
айында бір жола қабылданды. 1986 жылғы бірінші стандарт жүз парақтай орынды
алса, SQL2 ресми стандарты алты жүздей парақтан тұрды.
SQL2 стандартына қарамастан бүгінгі күндегі коммерциялық өнімдер
SQL–дің өзіндік диалекттерін қолдайды. Сонымен қатар, МББЖ-ң мердігерлері
өздерінің өнімдеріне жаңа мүмкіндіктерді қосады және SQL-дің өзіндік
диалекттерін кеңейтеді, ал бұл стандарттан одан да бөлектетеді. Бірақ та
SQL-дің негізі қатаң түрде стандартталған. МББЖ-ң мердігерлері өздерінің
өнімдерін SQL-89 стандартына сәйкестендірді, уақыт өте келе SQL2
стандартына да сәйкестендірді.
ANSIISO стандарты кең таралғанымен, SQL-дің жалғыз стандарты емес.
XOPEN европалық мердігерлер тобы “көшірілетін қосымшалар аумағы” үшін UNIX
негізінде SQL–дің өзінің стандарттарын қабылдады. XOPEN тобының
стандарттары европалық стандарттар нарығында үлкен рөл атқарады, бұл
стандарттың негізгі мәселесі - әр түрлі өндірушілердің компьютерлік
жүйелердің арасында қосымшалардың тасымалдануы болып табылады.
Бақытсыздыққа орай, XOPEN стандарты ANSIISO стандартынан өзгешеленеді.
Сонымен қатар, IBM компаниясы SQL-ге өзінің Systems Application
Architecture (қолданбалы программаның қосымшасы) спецификациясын қосты және
барлық өнімдер SQL диалектісіне аударылатындығына уәде берді. Бірақа та бұл
спецификация Хотя данная спецификация и не оправдала надежд на унификацию
линии продуктов компании IBM, движение в сторону унификации SQL в IBM
продолжается. Система DB2 остается основной СУБД компании IBM для
мэйнфреймов. Однако компания выпустила реализацию DB2 и для OS2
(собственной операционной системы для персональных компьютеров), и для
линии серверов и рабочих станций RS6000, работающих под управлением UNIX.
Таким образом, диалект DB2 языка SQL является мощным стандартом де-факто.
Мәліметтер базасының технологиясында ресми стандарттар тимейтін
маңызды аймақ бар. Бұл басқа МБ-мен өзара әсерлесуде болу қабілеттілігі –
бұл әдістердің көмегімен әр түрлі МБ-ры бір-бірімен ақпараттарды алмастыра
алады (ереже бойынша желіде). 1989 жылы бірнеше мердігерлер осы мәселені
шешу үшін арнайы SQL Access Group концорциумды топтастырды. 1991 жылы
консорциум RDA (Remote Database Access — мәліметтер базасына өшірілген кіру
мүмкіндігі) спецификациясын жариялады. Бұл спецификация OSI протоколдарымен
тығыз байланысты. Бұл OSI протоколдары кең түрде таралған жоқ, сондықтан да
ол нарыққа мағынасыз әсер етеді.
Бірақ та, SQL Access Group-ң екінші стандарты нарықта үлкен орын
алады. Microsoft компаниясының қайсарлы талаптарының нәтижесінде SQL Access
Group консорциумы стандартқа SQL функцияларды шақыру интерфейсін қосты.
Microsoft компаниясының өңдеулеріне негізделген CLI (Call Level Interface)
спецификациясы 1992 жылы жарыққа шықты. Осы жылы CLI стандартына
негізделген ODBC (Open Database Connectivity — ашық мәліметтер базасымен
өзара әсерлесу) жеке спецификациясы жарияланған болатын. Microsoft-тың
нарықтағы орнының арқасында, яғни SQL Access Group-тан алған “ашық
стандартының” арқасында ODBC де-факто стандартына айналды. 1993 жылы
көктемде Apple және Microsoft компаниялары MacOS және Windows-тағы ODBC-дің
қолдауына келісетіндігін жариялады.
SQL стандартының пайда болуы SQL-дің және оның қосымшаларын
қолданылатындардың көшірілуі туралы жеткілікті түрде қуанышты мәлімдемесіне
алып келді. Шындығында да, SQL-89 стандартының кемтігі және SQL
диалектісінің арасындағы айырмашылық жеткілікті түрде үлкен болды,
сондықтан да, қосымшаларды басқа МББЖ-не көшірген кезде SQL-89 стандартын
әрдайым модификациялау керек болды. SQL2 стандартында көбісі жойылған бұл
айырмашылықтар мыналарды өзіне қосады:
Қателердің кодтары. SQL-89 стандартында қателер болған жағдайда SQL
операторларын қайтаратын кодтар анықталмаған және коммерциялық іске
асырулардың әрқайсысында мұндай кодтардың жеке терімі қолданылады. SQL2
стандартында қателердің стандартты кодтары анықталған.
Мәліметтер типі. SQL-89 стандартында мәліметтер типінің минималды
жиыны анықталған, бірақ та онда кең таралған және пайдалы типтердің
кейбіреулері жоқ, мысалы, ауыспалы ұзындықтың символдық жолдары, уақыт пен
дата, сонымен қатар, ақша бірліктері. SQL2 стандартында бұл типтер бар,
бірақ та “жаңа” мәліметтер типі жоқ, мысалы, графикалық және мультимедиялық
объекттер.
Жүйелік кестелер. SQL-89 стандартында МБ-ның құрылымы туралы
ақпараттан тұратын жүйелік кестелер қарастырылмады. Сондықтан да, әрбір
мердігер жеке жүйелік кестелерді құру керек болды. SQL2 стандартында
жүйелік кестелер стандартталған.
Интерактивті SQL. SQL-89 стандартында қолданбалы программада
қолданылатын тек программалық SQL (интерактивті SQL емес) ғана анықталған.
Мысалы, интерактивті тәртіпте МБ-на сұратуларды орындауға арналған select
операторы стандартта жоқ.
Программалық интерфейс. Бірінші стандартта COBOL, FORTRAN және тағы
басқа программалау тілдерінде жазылған программаларда SQL-ді қолданудың
абстарктілі әдісі анықталған. Бұл әдіс бірде-бір коммерциялық өнімде
қолданылмайды, ал программалық интерфейстерде үлекн айырмашылықтар бар.
SQL2 стандартында әйгілі программалау тілдері үшін (бірақ та, функцияларды
шақыру интерфейсінде емес) кірістірілген SQL интерфейсі анықталған.
Динамикалық SQL. SQL-89 стандартында жалпы арнаудағы қосымшаларды
өңдеу үшін (мысалы, есеп беру генераторлары және сұратуларды құру және
орындау программалыры) SQL-дің элементтері бейнеленбеген. Бірақ та,
динамикалық SQL атымен белгілі бұл элементтер барлық дерлік МББЖ-де бар
және әр түрлі жүйелерде үлкен айырмашылықтары бар. SQL2-ге динамикалық SQL
стандартына кіреді.
Семантикалық айырмашылықтар. Стандарттағы кейбір элементтер
анықталғандықтан, бір сұратуды орындаудың нәтижесінде біріккен МББЖ-де екі
әр түрлі қорытындылар жиынтығы алынады.
Салыстырудың жүйелілігі. SQL-89 стандартында МБ-да сақталынатын
салыстырудың (сорттаудың) символының жүйелілігі еске алынбайды.
Сорттаумен сұратудың нәтижесі дербес компьютерде (ASCII кодировкасымен)
және мэйнфреймде (EBCDIC кодировкасымен) бұлт сұратуды орындауда
өзгешеленетін болады. SQL2 стандарты программаға немесе пайдаланушыға талап
етілетін сорттаудың жүйелілігін көрсетуге мүмкіндік береді.
Мәліметтер базасының құрылымы. SQL-89 стандартында мәліметтер базасы
ашылғаннан кейін және жұмысқа дайын болған кезде қолданылатын SQL
анықталған. Мәліметтер базасының атынының және оларға бастапқы қосылудың
бөлшектері қатты өзгешеленеді және өзара сыйыспайды. SQL2 стандарты белгілі
бір дәрежеде бұл процесті бір ізге салады, бірақ та барлық айырмашылықтарды
толық жоя алмайды.
Көрсетілген айырмашылықтарға қарамастан, 1990-шы жылдардың басында әр
түрлі МББЖ-ң арасында қосымшалардың көшірілуін жүзеге асыратын коммерциялық
программалар пайда бола бастады. Бірақ та, әрбір МББЖ-н қолдайтын мұндай
программалар үшін арнайы конвертер талап етілді. SQL-мен қолданылатын әр
түрлі МББЖ-гі мөлдір ауысушылық SQL2 стандартының және ODBC жобасының
негізгі стандарты болып табылады. Бірақ та, жаппай, “мөлдір” және жойылған
SQL МБ-на кіру мүмкіндігі болашақтың ісі болып қалады.
II тарау. SQL-серверде жұмыс істеу принциптері
2.1 Мicrosoft sql server
SQL-дің бірнеше әр түрлі версиялары бар. Microsoft SQL Server
Transact - SQL деп аталатын версияны қолданады.
Microsoft SQL Server - Windows NT нарығында мәліметтер базасы
серверлерінің арасында ең әйгілі сервер. Microsoft SQL Server - реляционды
мәліметтер базасын басқару жүйесі. Бұл клиент сервер (әдетте, серверлік
программа) деп аталатын екі құрылымды архитектураларының бірі. Клиенттік
программалар көбінесе пайдаланушылар өңдеген қосымшаларды немесе Microsoft
Access сияқты МБ-мен автономды программалық жүйелерді білдіреді.
Клиентті сервермен байланыстырушы құрал - SQL болып табылады. Көптеген
файл-сервер негізіндегі желілік МББЖ-рі сұратуларға жауап берген кезде өте
көп артық ақпараттар береді. Бұл жүйемен салыстырғанда клиент-сервер жүйесі
тек қана сұратуда көрсетілген ақпаратты береді. Ал бұл ақпараттық жүйелерді
басқаруда SQL–дің тиімдірек құрал болуына мүмкіндік береді.
Microsoft SQL Server-дің ең маңыздылы қасиеттерінің бірі –
мәліметтердің бүтіндігін басқару мүмкіндігі.
Мекемелік қызметтерді автоматтандыруға арналған барлық компьютерлік
программаларды бірнеше типтердің қосымшалары ретінде қарастыруға болады:
текстік редактор, электронды кесте, мәліметтер базасы немесе баспа жүйесі.
Microsoft SQL – жаратылысы жағынан ақпаратқа бейімделген және өзіне
клиенттердің есептерін, төлем ведомосттерін, сату бойынша ведомосттерін
және тағы басқаларды қоса алады. SQL қосымшаларын, әсіресе клиент-сервер
архитектурасын пайдаланудың бірнеше себептері бар.
Қолданудың жеңілдігі. Көптеген клиент-сервер архитектурасының
қосымшасын қолдану өте жеңіл. Клиент-сервер архитектурасының қосымшасы
интуитивті түсінікті интерфейсті қолдайды және бастапқы қағаз бланктердің
бейнесін экранда жиі көрсететіп отырады. Тапсырыс бланктерін қолмен
толтыруға дағдыланған сатушылар қосымшаны қолданғанда өздерінің
экрандарынан жақсы таныс бланкті көреді, ал бұл оларға оңайға түседі. SQL-
дің көмегімен серверлік қосымшаның клиенттік қосымшасында жаңартулар
болады, ол нақты мәліметтерден құрылады. Жай экрандық бланктің барын ескере
отырып, сатушыға тұтынушы туралы немесе сатылуы керек тауарлар туралы
ақпараттырды жиі қарастырудың қажеті жоқ болады. Қосымшада, әдетте
“толқымалы” тізімдерді ұсынылады, сондықтан да сатушы тізімнен қажетті
пайдаланушыны, содан кейін басқа тізімнен сатылатын тауарды таңдауы керек.
Бұл компанияның МБ-ң бүтіндігін қамтамасыз етеді, ақпараттың қайталануын
жояды және тауарлардың тиімді бағада сатылуына дол бермейді. Бланк
толтырылып серверлік қосымшаға жіберіледі, одан кейін клиент үшін басып
шығарылады.
Пайдаланушы үшін қолайлы экрандық формаларды қолданғанда клиенттік
қосымшада сатушының немесе қызмет етушінің еңбек өнімділігі тез көбейеді.
Сонымен қатар, компанияның құжаттарының және бухгалтерлік ақпараттарының
анықтылығы жоғарылайды.
Логикалық құрылымдар. Microsoft SQL Server-де екі түрлі кестелер
қолданылады: жүйелік және пайдаланушы кестелер. Кейбір жүйелік кестелер
әрбір мәліметтер базасында сақталынады және МБ-ң каталогының кестелері деп
немесе жүйелік кестелер деп аталады. Жүйелік кестелер Microsoft SQL Server-
де пайдаланушы МБ-ң объекттерінің жағдайының ізін басу үшін қолданылады.
Кесте - бұл пайдаланушылардың қарым-қатынаста болу объектісі.
Microsoft SQL Server-де кестелер барлық мәліметтерді сақтаушы объект
ретінде қолданылады. Ереже бойынша, кестеде бір типті ақпарат сақталынады:
тапсырыс берушілер туралы, мердігерлер туралы, тауарлар туралы және тағы да
басқалар туралы ақпарат. Кез-келген түрдегі ақпаратты сақтау үшін өзіндік
кестелерді құруға болады.
Курсорлар. Курсорлар Declare cursor операторының көмегімен
активтендіріледі. Microsoft SQL Server-де екі типті курсорларды құруға
болады: динамикалық және тек қана алдыға ауыстырылатын курсорлар. Курсорлар
көбінесе сұратулардың нәтижесінде алынған көптеген мәліметтерде белгілі бір
операцияларды орындау үшін қолданылады.
Индекстер. Microsoft SQL Server МБ-дағы индекстер күнделікті өмірде
қолданылатын кез-келген индекс сияқты рөл атқарады. Бұл - ақпаратты немесе
ақпараттың белгілі бір түрін тез табуға мүмкіндік беретін құрал. Индекс –
бұл кестедегі мәліметтерге кіру мүмкіндігін жыламдату үшін Microsoft SQL
Server-де қолданылатын арнайы объект. Индекстердің екі түрде бар:
кластеризделген және кластеризделмеген.
Кластеризделген индексті қолданғанда кестедегі мәліметтер физикалық
түрде ретке келтіріледі. Кестеде тек бір ғана кластеризделген индекс
болады. Кластеризделген индекс бірнеше деңгелерден немесе бірнеше
парақтардан тұруы мүмкін, мұндағы соңғы парақ мәліметтердің беттерін
білдіреді. Кластеризделген индекстер кластеризделмеген индекстермен
салыстырғанда әдетте, бір бетке аз болады, сондықтан кластеризделген
индекстер ереже бойынша тезірек жұмыс істейді.
Триггерлер. Тригерлер – бұл белгілі бір шарттар пайда болғанда
автоматты түрде активтендірілетін арнайы объекттер. Берілген шартты
сақтағанда триггер жұмыс істейді де онда көрсетілген операциялар
орындалады. Триггерлер күрделі талаптарды орындау үшін қолданылады.
Триггерлерді Windows NT-да DLL-ді орындайтындай етіп құруға болады. Бұл
триггерлерде басқа программалардың мәліметтеріне кіру мүмкіндігі немесе
мәліметтерді басқа программаларға беру мүмкіндігі болуы мүмкін..
Идентификаторлар. МБ-ң құрылымын құрған кезде идентификаторларға
ережелер мен келісімдерді орнату керек. Компанияның МБ-ң және серверлерінің
келісілген жұмысы өте маңызды болып табылады. Жақсы ойластырылған сызбаның
көмегімен клиентсервердің сенімді құрылымының сенімді фундаментін құруға
болады. Объекттер аттарының келісімі үшін Microsoft SQL Server бір қатар
ережелер орнатады.
Транзакция. Microsoft SQL Server-де транзакция деп (transaction) бір
ретте орындалуы керек процедуралардың жиынтығы атайды. Егер де транзакция
орындала бастаса, онда ол толығымен аяқталуы керек немесе толығымен
болдырылмауы керек. Барлық коммерциялық процедураларды транзакцияның
серияларымен салыстыруға болады. Мысалы, банк клиентке қолма-қол 100$
көлемінде чек төлейді. Бұл кезде банк екі транзакцияны орындайды:
- клиенттің банктік шотының 100$-ға азаюы;
- банкте қолма-қол шоттың 100$-ға көбеюі.
Банктік кітапта баланс сақталуы үшін бұл екі транзакция соңына дейін
орындалуы керек. Microsoft SQL Server трранзакция соңына дейін
орындалатынына кепілдік береді немесе транзакцияны мүлдем орындамайды.
Мысалы, егер де pubs МБ-ғы titles кестесінде орналасқан бизнес (business)
бойынша барлық кітаптардың бағасын 25%-ға жоғарылату керек болса, онда
келесідей операцияны енгізу керек:
UPDATE titles
SET price = price * 1.25
WHERE type = business
Microsoft SQL Server транзакцияның басталуын немесе аяқталуын анықтауы
үшін келесідей транзакциондық командалар қолданады:
Begin TRANsaction. Бұл оператор Microsoft SQL Server-ге барлық келесі
операцияларды топтастыру туралы – транзакцияны орындауды бастау туралы
хабарлау үшін қолданылады.
Comit TRANsaction. Бұл оператор Microsoft SQL Server-ге ағындағы
барлық операциялардың орындалуын аяқтау туралы бұйрық береді. Нәтижесінде
транзакция аяқталады және ол дискке жазылуы керек.
ROLLBACK TRANsaction. Бұл оператор Microsoft SQL Server-ге
транзакцияның өңдеген барлық өзгерістерін болдырмауы туралы және бастапқы
қалпына келтіру туралы бұйрық береді.
SAVE TRANsaction. Бұл оператор пайдаланушыға транзакцияның ішінде
сақтау нүктесін орнатуға мүмкіндік береді.
SQL операторларының басталуының және аяқталуының дұрыс орындалуын
сервер қадағалап отырады. Бұл дегеніміз әрбір оператордың басында және
аяғында BeginTRAN және Comit TRAN командаларын қолданудың қажеті жоқ.
Microsoft SQL әрбір транзакция анық емес операторлардан: BeginTRAN және
Comit TRAN тұрады деп санайды немесе кері жағдай болғанда транзакцияның тек
жартысы ғана орындалады дейді.
Мысалы:
Анық емес оператор BeginTRAN
UPDATE customer-account
SET balance=balance-100
Tran-id=3456
Where cust_id= 1515453456
Анық емес оператор Commit TRAN
Анық емес оператор BeginTRAN
INSERT bank_cashacct (tran_id, amount, cust_id)
Values (3456, 100, 151545)
Анық емес оператор Commit TRAN
Бұл барлық транзакцияның нәтижесі жазылатындығына немесе транзакция мүлдем
орындалмайтындығына кепілдік береді. Банктік транзакция мысалында оны
келесідей түрде енгізу керек:
BeginTRAN
UPDATE customer-account
SET balance=balance-100
Tran-id=3456
Where cust_id= 1515453456
INSERT bank_cashacct (tran_id, amount, cust_id)
Values (3456, 100, 1515453456)
Commit TRAN
SQL-сервер транзакциясына дейін және SQL-сервер транзакциясынан кейін
BeginTRAN және Commit TRAN операторларын қолдану - дискте тұрақты файл
транзакциясының дұрыс жазылымын қаматамасыз етеді. Егер де сервердің
жұмысы транзакцияның орындалуына дейін авариялық түрде аяқталса, онда
соңғысы автоматты түрде орындалмайды.
Егер де BeginTRAN және Commit TRAN операторлары орындалғаннан кейін
транзакцияда бәрін болдырмау керек болса, онда ROLLBACK TRAN–ді қолдануға
болады.
2.2 SQL-серверде жұмыс істеу принциптері
Реляционды МБ-ң негізгі элементтері мыналар болып табылады:
Кесте (TABLE). Жолдар мен бағаналардан тұратын тіктөртбұрышты кесте.
Кестені тапсыру – қандай бағаналар мен жолдардан тұратындығын көрсету.
Жол (ROW). Өрістерден, яғни бағаналардан тұратын жазба. Кестенің әрбір
өрісі оның мәнінен немесе “бос” (NULL) деген мәннен тұрады. Кестедегі жол
шектеусіз болуы мүмкін.
Бағана (COLUMN). Кестеде әрбір бағананың өзінің аты және типі болады.
SQL кестелері. Реляционды мәліметтер базасында ақпараттар жолдар мен
бағаналарға бөлінген кесте түрінде ұйымдастырылуы мүмкін. SQL тілінде
қолданылатын кілтердің үйлесімділігі (сочетание ключей) (CREATE TABLE
my_table – my_table деп аталатын кестені құру) сұратулар үшін “ұсыныс”
(предложение) деген атқа ие болды. SQL–де кестелер CREATE TABLE ұсынысы
арқылы құрылады. CREAT TABLE ұсынысы базалық кестенің атын, кестенің
бағаналарының аттарын және осы бағаналардағы мәліметтердің типтерін
спецификациялайды. CREAT TABLE–орындалынатын ұсыныс. Егер де SQL-серверіне
CREATE TABLE сұратуын беретін болсақ, онда жүйе кестені құрастырады.
Бастапқыда ол кесте бос болады, яғни бағаналардың аттарынан тұратын жолдан
тұрады, бірақ та әлі ешқандай жолдардың мәліметтері болмайды. Кестеге
ақпараттар INSERT командасын ұсынғаннан кейін қойылады.
SQL сұратуларының құрылымы. Бір немесе бірнеше кестелерден кез-келген
мәліметтерді алған кезде барлық сұратулар бір ғана SELECT ұсынысы арқылы
орындалады. МБ-на айналуы үшін синтаксистік конструкцияларда келесі
белгілер қолданылады:
• жұлдызша (*) - бәрі деген белгі, қарапайым программалау мағынасында
қолданылады, яғни анықтамаларды қанағаттандыратын барлық жағдайлар;
• тік жақшалар ([]) – бұл жақшадағы конструкциялар міндетті емес болып
табылады, яғни толық емес бола алады;
• фигуралық жақшалар ({}) – бұл жақшадағы конструкциялар бүтін
синтаксистік бірліктер түрінде қарастырылуы керек;
• көп нүкте (...) – бастапқы синтаксистік бірлік бір немесе бірнеше рет
факультативті қайталануы мүмкін екендігін көрсетеді;
• түзу сызық () – екі немесе одан да көп мүмкіндіктерден таңдау
мүмкіндігінің бар болуын білдіреді. Мысалы, ASCDESC белгісі ASC
немесе DESC терминдерінің біреуін таңдауға болатындығын көрсетеді.
Егер де таңдалынатын элементтердің біреуі тік жақшаға енгізілген
болса, онда ол өзі (по умолчанию)таңдалынады (сонда [ASC]DESC деген
белгі - ешқандай конструкция болмаған жағдайда ASC таңдалынады
дегенді білдіреді);
• үтір нүкте (;) – SQL ұсыныстарының қорытынды элементі;
• үтір (,) – тізімнің элементтерін бөлу үшін қолданылады;
• бос орын пробелы ( ) – SQL ұсынысының кез-келген синтаксистік
конструкцияларының арасында көрнекілігін жоғарылату үшін енгізілуі
мүмкін;
• майлы, жазбаша, бас әріпті латын әріптері және символдары SQL тілінің
конструкциясын жазу үшін қолданылады және конструкцияда қалай
көрсетілсе, солай жазылуы керек- ... ... .;
• жол әріптері конструкцияны жазу үшін қолданылады. Конструкциялар
пайдаланушы таңдаған белгілі бір мәндермен ауыстырылуы керек, мұнда
конструкциялардың бөлек сөздері бір-бірінің арасында сызық символымен
байланыстырылады (_);
• кесте және бағана терминдері сәйкесінше кестенің аты,
бағананың аты, ..., терминдерін ауыстырады (синтаксистік конструкция
мәтінін қысқарту мақсатында);
• кесте термині – базалық кесте тәрізді кестенің түрлерін жалпылау
үшін қолданылады.
SELECT (таңдау) ұсынысының форматы:
Сұратудың тармағы [UNION [ALL] сұратудың тармағы] ...
[ORDER BY {[кесте.]бағана элементтің_номері_SELECT} [[ASC] DESC]
[,{[кесте.]бағана элементтің_номері_SELECT} [[ASC] DESC]] ...;
Бұл формат біріктіруге (UNION), содан кейін бірнеше “сұратулардың
тармағы” көмегімен алынған мәліметтерді таңдау қорытындысын ретке келтіруге
(ORDER BY) мүмкіндік береді. Сонымен қатар, ретке келтіруді өсу ASC
(ASCending) ретінде немесе кему DESC (DESCending) ретінде (үндемеу бойынша
ASC қолданылады) тұрғызуға болады.
Бұл ұсыныста сұратудың тармағы қажетті мәліметтерді таңдауға және
оларды өңдеуге (қажет болған жағдайда) шарттарды көрсетуге мүмкіндік
береді.
SELECT - (таңдау) көрсетілген бағаналардың мәліметтері мен (қажет
болған жағдайда) қорытындының алдында көрсетілген амалдарға және (немесе)
функцияларға сәйкес олардың қайта құрылуын орындау;
FROM - (бірдеңенің ішінен) бағаналар орналасқан кестелердің ішінен;
WHERE - (қайда) кестелердің ішіндегі жолдар жолдарды іріктеу
шарттарын қанағаттандыруы керек;
GROUP BY - (белгілі бір шарт бойынша топтастыру) SELECT фразасында
SQL–дің функцияларын: SUM (соммасы), COUNT (саны), MIN (минимальді мәні),
MAX (максимальді мәні) немесе AVG (орташа мәні) қолдана отырып әрбір топқа
бір ғана агрегатталған мәнді алу үшін қолданылады;
HAVING - (бар бола отырып) нәтижесінде тек таңдау шарттарының тізімін
қанағаттандыратын топтардың бар болуы.
Және мынандай форматы бар:
SELECT [[ALL] DISTINCT]{ * элемент_SELECT [,элемент_SELECT] ...}
FROM {базалық_кесте көрсетілуі} [құпия_ат]
[,{базалық_кесте көрсетілуі} [құпия ат]] ...
[WHERE фраза]
[GROUP BY фраза [HAVING фраза]];
SELECT_элементі– келесі конструкциялардың біреуі:
[кесте.]* мән SQL_функция жүйелік_айнымалы
мұндағы мән дегеніміз бұл:
[кесте.]бағана (мән) константа айнымалы
Мәннің синтаксисі мынандай түрде болады:
( {[ [+] - ] {мән МББЖ_функция} [ + - * ** ]}... )
ал SQL_функциясының синтаксисі келесі конструкциялардың бірі болады:
{SUMAVGMINMAXCOUNT} ( [[ALL]DISTINCT][кесте.]бағана )
{SUMAVGMINMAXCOUNT} ( [ALL] мән )
COUNT(*)
WHERE фразасы жолдарды іріктеу үшін шарттардың жиынтығын қосады:
WHERE [NOT] WHERE_шарт [[ANDOR][NOT] WHERE_шарт]...
мұндағы WHERE_шарт – келесі конструкциялардың бірі:
мән { = = = } { мән ( сұратудың тармағы ) }
мән_1 [NOT] BETWEEN мән_2 AND мән_3
мән [NOT] IN { ( константа [,константа]... ) ( сұратудың тармағы ) }
мән IS [NOT] NULL
[кесте.]бағана [NOT] LIKE 'жол_символдары' [ESCAPE 'символ']
EXISTS ( сұратудың тармағы )
Дәстүрлі салыстыру операторларынан (= = =) басқа
WHERE фразасында BETWEEN (арасында), LIKE (ұқсас), IN (құрамында болу), IS
NULL (анықталмаған) және EXISTS (бар болу) шарттары қолданылады. Жолдарды
іріктеу критерийлері логикалық операторлармен біріктірілген бір немесе
бірнеше шарттарда қалыптастырылады:
AND - AND шартының көмегімен бөлінетіндердің екеуі де
қанағаттандырылуы керек;
OR - OR шартының көмегімен ... жалғасы
Ұқсас жұмыстар
Пәндер
- Іс жүргізу
- Автоматтандыру, Техника
- Алғашқы әскери дайындық
- Астрономия
- Ауыл шаруашылығы
- Банк ісі
- Бизнесті бағалау
- Биология
- Бухгалтерлік іс
- Валеология
- Ветеринария
- География
- Геология, Геофизика, Геодезия
- Дін
- Ет, сүт, шарап өнімдері
- Жалпы тарих
- Жер кадастрі, Жылжымайтын мүлік
- Журналистика
- Информатика
- Кеден ісі
- Маркетинг
- Математика, Геометрия
- Медицина
- Мемлекеттік басқару
- Менеджмент
- Мұнай, Газ
- Мұрағат ісі
- Мәдениеттану
- ОБЖ (Основы безопасности жизнедеятельности)
- Педагогика
- Полиграфия
- Психология
- Салық
- Саясаттану
- Сақтандыру
- Сертификаттау, стандарттау
- Социология, Демография
- Спорт
- Статистика
- Тілтану, Филология
- Тарихи тұлғалар
- Тау-кен ісі
- Транспорт
- Туризм
- Физика
- Философия
- Халықаралық қатынастар
- Химия
- Экология, Қоршаған ортаны қорғау
- Экономика
- Экономикалық география
- Электротехника
- Қазақстан тарихы
- Қаржы
- Құрылыс
- Құқық, Криминалистика
- Әдебиет
- Өнер, музыка
- Өнеркәсіп, Өндіріс
Қазақ тілінде жазылған рефераттар, курстық жұмыстар, дипломдық жұмыстар бойынша біздің қор #1 болып табылады.
Ақпарат
Қосымша
Email: info@stud.kz