Oracle мәліметтердің объектілі типтері
КІРІСПЕ
Бізді қоршаған әлемдегі айналып жүрген ақпараттар ағыны үлкен. Уақытына қарай олардың көбеюге беталысы бар. Сондықтан кез келген ұйымда, үлкенінде де, кішісінде де осындай мәліметтермен басқаруды ұйымдастыру мәселелрі туындап жатады. Ол нәтижелі жұмысты қамтамасыз еткен болар еді. Кейбір ұйымдар мұндай мақсатта папкалары бар сөрелерде жөн көрсе, көпшілігі компьютерленген әдістерді - мәліметтер базасын, яғни мәліметтердің үлкен көлемін тиімді сақтауға, құрылымын жасауға және жүйелеуге мүмкіндік беретінді таңдайды. Қазіргі кезде мәліметтер базасынсыз көптеген қаржы, өнеркәсіптік, сауда т.б. ұйымдардың жұмысын елестету мүмкін емес. Егер мәліметтер базасы болмай қалса, олар ақпараттар көшкініне тұншығып қалар еді.
Іс жүзінде бар ақпаратты компьютерлік негізге аударудың айтарлықтай көп себептері бар. Қазір ақпаратты файлдарда сақтау, қағазда сақтағаннан гөрі әлдеқайда арзан. Мәліметтер базасы ақпаратты пайдаланушыға ыңғайлы жолмен сақтауға, құрылымын жасауға және шығарып алуға мүмкіндік береді. Клиент-серверлік технологияларды пайдалну дерліктей құралдарды қорғауға жағдай жасайды, бастысы - қажетті ақпаратты алуда да солай. Сонымен қатар мәліметтер кешенді түрде өңделіп, олардың сақталуы орталықтандырылуға негізделетіндіктен мүмкіндік пен енуді де оңтайлы етеді. Бұдан басқа мәліметтердің кез келген форматын, мәтіндерді, сызбаларды, қолжазба түріндегі мәліметтерді, дауыс жазбаларын, т.б. сақтауға мүмкіндік береді.
Сақтаған ақпараттың соншалықты үлкен көлемін пайдалану үшін жүйелік құрылғылар, мәліметтерді беру құралдары. Олар пайдаланушыға сұраныс ендіруге, файлдарды оқуға, сақталып тұрған мәліметтерді модификациялауға, жаңа мәліметтер қосып немесе сақтаулы мәліметтер негізінде шешім қабылдауға мүмкіндік береді. Осындай қызметтерді қамтамасыз ету үшін арнайы құралдар - мәліметтер базасын басқару жүйесі жасаған (МББЖ). Қазіргі таңдағы МББЖ - мәліметтер базасымен басқаруды көпшілік пайдаланатын жүйесі. Ол ақпараттар массивін басқаруды бір немесе бірнеше пайдаланушы бір мезетте жұмыс істегенде іске асыруға мамандандырылған.
Қазіргі кездегі МББЖ қамтамасыз етеді:
- кестелерді және бір-бірімен байланысты кестелер қатынасын сүйемелдейтін құралдар жинағын;
- дамыған пайдаланушылық интерфейс, ол ақпаратты ендіруге және модифкациялауға, іздеуге және ақпаратты сызба немесе мәтіндік режимде көрсетуге жағдай жасайды;
- жоғары деңгейдегі программалау құралы, бұның көмегімен жеке өзіңнің (жекеменшік) қосымшасын жасап алуға болады.
Осы жобамның тақырыбы: Oracle платформасында клиенттік қосымшалар құру.
1 Пәндік аймақты зерттеу және талдау
1.1Мәліметтер базасы туралы жалпы түсінік
Мәліметтер базасы іс жүзінде қиын өңделетін көлемі жағынан үлкен қойма ретінде белгілі, бұл мәліметтер базасын кез келген қолданушы пайдалана алатындай етіп, ұйым өзіне керекті барлық мәліметті енгізеді. Барлық мәліметтер сақталатын жады құрылғысы бір немесе бірнеше жерде орналасуы мүмкін; соңғы жағдайда олар мәлімет жіберу мүмкіндігімен байланысу керек. Бағдарламалардың мәліметтерге рұқсаты бар болуы керек.
Шынында да, қазіргі таңдағы мәліметтер базасы шектелген бағдарламаларға ғана негізделгенУақыт өте келе, бір-біріне ұқсайтын бөлек функцияларды өңдейтін мәліметтер базасын біріктіруге болады. Әрине, бұл біріктіру барлық жүйенің тез әрі тиімді жұмыс істеуіне септігін тигізсе, [1].
Мәліметтер базасы бір немесе бірнеше бағдарламаларда оптималды қолдануға мүмкіндік беретін, бір-бірімен байланыса сақталған Мәліметтер жиыны; мәліметтер оларды пайдаланатын бағдарламаға тәуелсіз болатындай етіп сақталады; жаңа мәліметті қосу немесе бар мәліметті өзгерту үшін мәліметтер базасынан іздеу жасауда жалпы басқарылатын әдіс қолданылады.
Нақ қазіргі уақытта осы мүмкіндіктерді жергілікті мәліметтер қоры деңгейінде, бір дискіде орналасқан (Paradox, Dbase), дәл солай ауқымды мәліметтер қорында да (Access, Oracle, FoxPro) жүзеге асыратын МББЖ (Мәліметтер базасын Басқару Жүйесі) бар.
Кез-келген ақпараттық жүйенің мақсаты - ол шынайы өмірдегі объектілердің мәліметті өңдеуі. Кең мағынада мәліметтер базасы деген сөз - бұл, қандай да болмасын облыстық тақырыптағы шынайы өмірдің белгілі бір объектісінің жиынтығы жайлы мағлұмат.
Мәліметтер базасын құру кезінде, қолданушы ақпаратты түрлі белгісі бойынша ретке келтіруге ұмтылады және белгілерді өз бетінше байланыстыру мен таңдауды тез шығарады. Бұлардың барлығын біз жүзеге асыра аламыз, егер Мәліметтер құрылымдық болса ғана.
Құрылымды деп - Мәліметтерді ұсыну әдістері жайлы келісімді енгізуді айтамыз.
Құрылымды емес деп - мысалы тексттік файылдарда жазылған Мәліметтерді айтамыз.
Құрылымды емес Мәліметтерге былайша мысал 1.1-суретте көрсетілген
Жеке құжат №03541353,Ахметов Ерлан Наурызұлы туған жылы 1999ж.; жқ №035812589, Нарбаева Айдана Қуанышқызы, туған ж.1991ж.; № жеке құж. 03554789, т.ж. 14.04.95, Сәрсен Айдос Ержанұлы.
1.1 - сурет - Құрылымды емес мәліметтер көрінісі
Ал, құрылымды Мәліметтердің көрінісі 1.1-кестеде келтірілген.
1.1-кесте - Құрылымды мәліметтердің көрінісі
Жеке құжат №
Фамилиясы
Аты
Әкесінің аты
Туған жылы
03541353
Ахметов
Ерлан
Наурызұлы
01.01.99
035812589
Нарбаева
Айдана
Қуанышқызы
15.03.91
03554789
Сәрсен
Айдос
Ержанұлы
14.04.95
Мәліметтер базасының қолданушылары түрлі қолданбалы бағдарламалар, бағдарламалық комплекстер, сонымен қатар мәліметтер базасының көзі немесе қолданушылар рөлінде шығатын облыстық тақырыптардың мамандары бола алады. Оларды соңғы қолданушылар деп атауға болады.
Мәліметтер базасының қазіргі заманғы технологиясында мәліметтер базасын құру оның қолданушылардың өзіне рұқсатын қамтамасыз етуді арнайы бағдарламалық аспаптардың көмегімен орталықтандырылып, жүзеге асады, яғни мәліметтер базасын басқару жүйесі (МББЖ).
1.2 Мәліметтер базасының жіктелуі
Мәліметтерді өңдеу технологиясы бойынша мәліметтер базасы орталықтандырылған және бөліктенген болып екіге жіктеледі.
Орталықтандырылған (база) мәліметтер базасы есептеуіш жүйенің бір жадысында сақталады. Егер бұл есептеуіш жүйе ЭЕМ-нің компоненті болып табылса, онда мұндай базаға бөліктенген рұқсат мүмкін болады. Мәліметтер базасының қолдануының мұндай әдісі дербес компьютерлердің (ДК) локальді желілерінде жиі қолданылады, [2].
Бөліктенген мәліметтер базасы есептеуіш желінің түрлі ЭЕМ-дерінде сақталатын, бір-біріне қиылысушы немесе қайталанушы бөліктерден тұрады. Мұндай базамен жұмыс жасауды бөліктенген мәліметтер базасын басқару жүйесі (БМББЖ) көмегімен жүзеге асыруға болады.
Мәліметтерге рұқсат алу әдісі бойынша мәліметтер базасы: локальді рұқсатты мәліметтер базасы алыстатылған (желілік) рұқсатты мәліметтер базасы болып бөлінеді.
Желілік рұқсатты орталықтандырылған мәліметтер базасы жүйесі сол сияқты жүйелердің түрлі архитектурасын ұсынады:
- файл-сервер;
- клиент-сервер.
Файл-сервер. Желілік рұқсатты МБ жүйесінің архитектурасы желі машинасының біреуі орталық ретінде бөлінетінін болжайды. Мұндай машинада бірлесіп қолданылған орталықтандырылған МБ сақталады. Барлық басқа желі машиналары жұмыс станцияларының функцияларын орындайды. Қолданушылар жұмыс станцияларында монопольді түрде қолданатын локальді МБ-ларды құрады. Файл-сервердің концепциясы шартты түрде 1.2- суретте көрсетілген.
1.2 - сурет - МБ-ақпаратты файл-сервер принципі бойынша өңдеу схемасы
Клиент-сервер. Бұл концепцияда орталық машина орталықтандырылған мәліметтер базасын сақтаудан басқа Мәліметтерді өңдеудің негізгі көлемін орындауды қамтамасыз етуі қажет. Клиент арқылы мәліметтерге сұраныс, сервердегі Мәліметтерді шығару және іздеуді тудырады. Шығарылған Мәліметтер (бірақ файлдар емес) желі бойынша серверден клиентке транспортталады. Клиент-сервер концециясы шартты түрде 1.3-суретте көрсетілген.
1.3 - сурет - МБ-да ақпаратты клиент - сервер принципі бойынша өңдеу
Мәліметтер базасы өріс, жазба, файл (кесте) сияқты структуралық элементтермен тығыз байланысты.
Өріс (алаң) - ақпараттың бөлінбейтін бөлігіне, яғни реквизитіне сәйкес келетін мәліметтердің логикалық ұйымының элементарлы бірлігі. Өрістерді (алаңдарды) суреттеу үшін келесі сипаттамалар қолданылады:
- аты (имя), мысалы: фамилиясы, аты, әкесінің аты, туған жылы;
- типі (тип), мысалы: символды, сандық, календарлық;
- ұзындық (длина), мысалы: 15 байт сонымен бірге символдардың ең үлкен санымен анықталады;
- дәлдік (точность) сандық мәліметтер үшін, мысалы: санның бөлшек бөлігін бейнелеу үшін екі ондық санақ белгісі 1.2 -кестеде көрсетілген.
1.2-кесте - МБ-ның негізгі структуралық элементтері
Өріс1 (аты)
Өріс2 (аты)
Өріс3 (аты)
Өріс4 (аты)
Өріс Жазба
Жазба дегеніміз - логикалық байланысқан өрістердің жиынтығы. Жазба экземпляры - жазбаның өрістерінің тұрақты мағынасын ұстап тұратын бөлек реализация.
Файл (кесте) - бір структураның жазба экземплярларының жиынтығы.
Жазба файлдарының логикалық структураларының суреттелуі өріс жазбаларының тізбектей орналасуынан және олардың негізгі сипаттамаларынан тұрады. Мысалы, 1.3-кестеде көрсетілген.
1.3-кесте - Файл жазбаларының логикалық структурасының суреттелуі
Файл аты
Өріс
Кілт
Белгісі
Өріс форматы
Аты (мағынас)
Толық аталуы
Типі
Ұзындығы
Дәлдігі
Аты 1
...
Аты n
Программалаудағы қолданылатын, кез-келген Мәліметтер өздерінің типі болады. Реляциялық модель қолданылатын Мәліметтер типі қарапайым болуын талап етеді.
- Мәліметтердің қарапайым типі;
- Мәліметтердің құрылымдық типі;
- Мәліметтердің сілтеме типі.
Байланыс типтері. Барлық тақырыптық облыстағы ақпараттық объектілер өзара байланысқан.
Байланыстың бірнеше түрлері бар:
- бірден бірге (1:1);
- бірден көпке (1:К);
- көптен көпке (К:К).
1-ге 1 байланысы. Бір кестенің бір жазбасы екінші кестенің бір жазбасына сәйкес келеді. Бірден бірге байланысы 1.4-суретте көрсетілген.
1.4 - сурет - Бірден бірге байланысы
Бірден көпке байланысы - 1- ші кестенің бір жазбасына 2-ші кестенің бірнеше жазбасы сәйкес келеді. 1-ші кестенің жазбасы қайталанбауы керек.Бірден көпке байланысының көрінісі 1.5-суретте көрсетілген
1.5 - сурет - Бірден көпке байланысы.
Көптен көпке байланысы. Бірінші кестенің бірнеше жазбасына екінші кестенің бір жазбасы сәйкес келеді.
Көптен көпке байланысының көрінісі 1.6- суретте көрсетілген
1.6-сурет - Көптен көпке байланысы.
МБ-ның жұмыс технологиясының жалпы қорытындысын негізгі этап ретінде былайша бөлуге болады. Схемасы 1.7-суретте көрсетілген:
- мәліметтер базасы кестенің структурасын құру;
- кестедегі мәліметтерді енгізу және өзгерту;
- кестедегі мәліметтерді өңдеу;
- ақпаратты мәліметтер қорынан шығару.
1.7-сурет - МББЖ-дағы жұмыс технологиясының жалпы қорытындысының схемасы
Әрбір нақты МББЖ - ның өзінің ерекшелігі болады. Оны міндетті түрде есте сақтау қажет. Алайда кез-келген МББЖ-ның функциональдық мүмкіндігін көре отырып осы ортадағы қолданушының жұмыс технологиясының жалпы қорытындысын алдымызға келтіруге болады.
1.3 Мәліметтер базасының қасиеттері және оған қойылатын талаптар
Нақты түрде мәліметтер базасы дегеніміз - қандай да бір жұмыс істеуге қажет мәлімет жиынтығы. Бірақ мәлімет дегеніміз - абстракция, жалпылама түсінік. Олар өздігінен пайда болып, өмір сүрмейді. Мәліметтер нақты өмірдегі объектілердің бейнесі. Мысалы, университетке түскен студенттің мәліметін сорттау қажет. Нақты өмір объекті ретінде студент Мәліметтер базасында қалай бейнелейді? Бұл сұраққа жауап беру үшін жұмысқа қажет актуалді студенттің сипаттамаларын анықтау керек. Олардың ішінде аты-жөні, мекен-жайы, туған жылы, оқу түрі т.с.с. болуы керек. Терминология тілінде мәлімет базасында сипаттамлары сақталатын нақты өмір объектілері негізі, ал олардың актуалді сипаттамалары атрибуттар деп аталады. Нақты объектілердің әрбір сипаттамасы атрибуттың мәні болып табылады. Мысалы, туған жылы атрибутының мәні 01.01.1995 Алжанов Бағдаттың туған жылын, күнін, атын көрсетеді. Мәліметтер базасында тек физикалық объектілер жөнінде мәліметтер емес абстракциялар жалпы болмыс адам өмірінде кездесетін бүкіл процестер жөнінде де мәліметтер сақталады.
Мәліметтер базасының қасиеттері:
- көп рет қолдану. Бір мәліметті бірнеше қолданушылар пайдалана алады;
- мәліметтер жаңару қарапайымдылығы. Минималды шығынмен базаға өзгеріс ендіру;
- мәліметті жылдам іздеу және сұраныс бойынша қажетті ақпарат алу;
- артық мәліметтерді қысқарту қарапайымдылығы;
- мәліметтерді рұқсатсыз өзгертуді шектеу;
- қолданбалы бағдарламардан максималды тәуелсіздік;
- ақпаратты өзгертуді және жоюды шектеу.
Мәліметтер базасына қойылатын талаптар:
- тақырыптық ауданды бейнелеу;
- Мәліметтердің толықтығы;
- ақпараттың моделі динамикалық болу қажет;
- ақпараттың нақты бір уақытта актуалді болуы;
- әртүрлі деңгейдегі қолданушылар әртүрлі режимде байланыса алуы;
- мәліметтер базасында міндетті түрде кездейсоқ өзгеріс ендіруден және құпиялы мәліметтерді көруден сақтандыру шаралары болуы керек;
- Мәліметтер мен бағдарламалар өзара тәуелсіз;
- Мәліметтерді өңдеу технологиясы;
- мәліметтер базасының компоненттері өзара үйлесімді болуы керек;
- ақпаратты өңдеудің эффективтілігін арттыру мақсатында Мәліметтер базасының физикалық және логикалық жағынан түсінікті ұйымдастырылуы керек.
Мәліметтер базасының желілік моделі иерархиялық моделінің кеңейтілген түрі деп те айтуға болады, яғни төменгі деңгейдің кез-келген элементтерімен байланыса алады. Желілік моделдің иерархиялық моделдерден айырмашылығы желілік моделдегі бір жазба бірнеше қатынас түріне қатыса алады.
Мәліметтердің реляциялық моделі. Мәліметтер базасының реляциялық моделін Мәліметтер базасының америкалық маманы Е.Надд ұсынған.
Реляциялық базада ақпарат кесте түрінде бейнеленеді және барлық операциялар кестелер арқылы жүзеге асырылады. Кесте жолдан және бағандардан тұрады және база ішінде айрықша атпен сақталады, [3].
Реляциялық модельдердің ерекшеліктері дегеніміз - абстракциялық және формалды анықтамалар арқылы кез-келген тақырыптық облысты сипаттау мүмкіндігі. Жиындар теориясы және математикалық логикаға негізделген өте күшті математикалық аппарат (1.4 кесте).
Мәліметтер базасының логикалық және физикалық құрылымын анықтау қажетті ақпараттық саланы жобалаудың негізгі кезеңі болып табылады.
1.4 Есептің қойылымы
Клиенттік қосымша құру, клиенттік қосымша туралы негізгі түсініктерді қалыптастыру, клиенттік қосымшаны өңдеу барысындағы қолданылған технологиялар туралы түсініктерді және Oracle Express Edition 11g, PLSQL Developer бағдарламасын пайдаланып қосымша құру.
Қалалық болница орнының құрылым күрделі болып келеді, сондықтан барлық медицина қызметкерлері мен пациенттер туралы ақпараттан тұратын мәліметтер базасын қолдану кез-келген қолданушының жұмысын жеңілдетеді.
Жұмыстың мақсаты медецина қызметкерлеріне арналған база құру және оны пайдалану.
Зерттеудің міндеттері.
oo пәндік аймақты талдау, қолданушыға қажетті функционалдылықты анықтау;
oo клиенттік қосымшаның жалпы архитектурасын өңдеу.
Дипломдық жұмыстың негізгі бөлімдері:
- мәліметтер базасы туралы жалпы түсінік, мәліметтер базасының қасиеттері және оған қойылатын талаптар , Мәліметтердің реляцилық моделі және реляциялық мәліметтер базасын жобалау, мәліметтер базасын басқару жүйесі қарастырылған;
- SQL және PLSQL тілдері, Oracle Express Edition 11g, Oracle Application Server, Oracle Application Express (Apex), PLSQL Developer бағдарламалық қамтамаларының сипаттамалары қаралған;
- жобалау бөлімінде қосымшаның логикалық және физикалық құрылымы көрсетілген.
oo қолданбалы бөлімде клиенттік қосымша және мәліметтер базасы көрсетілген.
2 Программалау ортасын таңдау және негіздеу
2.1 Oracle мәліметтердің объектілі типтері
Осы жұмыстың бағдарламалық жабдығын жасаған кезде, қолданушыға жұмыс жасау үшін түсінікті, әдемі интерфейсі бар бағдарламаны жасауға тырыстым.
Oracle мәліметтердің объектілі типтері
Объектілі типтер МББЖ құралдарымен күрделі мәліметтерді сақтауға және өңдеуге мүмкіндік береді. Кестелердің бағаналарында мәндерді объектілер түрінде сақтауды Oracle фирмасы Oracle 8 версиясынан бастап іске асырды. Кейбір айтарлықтай жетіспеушіліктер (мысалы, типтерді мұрагерлеудің болмауы) 9 версиядан бастап жойылды.
Мәліметтердің программаланатын типтері және МБ объектілері
Программаланатын (объектілі) типтерді қолданудың қарапайым мысалы. Алдымен, МБ сақталатын элементтер түрі ретінде "тип" құру керек. Объект типін құру мысалы (SQL*Plus):
CREATE TYPE address_type AS OBJECT (
zip CHAR ( 6 )
, location VARCHAR2 ( 200 )
)
Мұнда ADDRESS_TYPE типіне екі "қасиет" жазылған (объект терминологиясы бойынша): ZIP және LOCATION. Типті анықтау кестені анықтауды еске түсіреді, бірақ кестеден ерекшелігі (және SQL стандарты мен реляциялық тәсілден) Oracle объект типінде бүтіндікті шектеу құқығы жоқ. Егер олады көрсету керек болса, мұны тек типті қолдану кезінде, демек, кестені сипаттауда жасау керек.
Объектілі тәсілге сәйкес Oracle объектілердің типтерін құруға мүмкіндік береді. Кәдімгі кестеде бағанды анықтау үшін ADDRESS_TYPE типін қолдану мысалы:
CREATE TABLE odept1 (
dname VARCHAR2 ( 20 )
, deptno NUMBER ( 2 ) CONSTRAINT pk_odept1 PRIMARY KEY
, addr address_type
);
CREATE TABLE oemp1 (
ename VARCHAR2 ( 20 )
, empno NUMBER ( 4 ) CONSTRAINT pk_oemp1 PRIMARY KEY
, deptno NUMBER ( 2 ) CONSTRAINT fk_oemp1 REFERENCES dept
, home address_type
);
ADDR және HOME бағандарын "объектілі атрибуттар" деп атауға болады. Олар объектілі мәндерді өзіндік болмыстар ретінде сақтауға және оларға сілтеме жасауға мүмкіндік бермейді.
Амалдарда айқын көрсетілген объектілі мәндер конструктор көмегімен тұжырымдалады. Басқа объектілі жүйелерден ерекшелігі, мысалы, Javа, Oracle конструкторында тип қасиеттеріне сәйкес параметрлер тізімі бар. Мәліметтерді қосу операцияларында қолдану мысалдары:
INSERT INTO odept1
( deptno, dname, addr )
VALUES
( 10, 'RESEARCH', address_type ( '123456', 'Almaty' ) );
INSERT INTO oemp1
( empno, ename, deptno, home )
VALUES
( 1111, 'SMITH', 10, address_type ( '789012', 'Shymkent' ) );
"Тұрғылықты жері бойынша жұмыс істейтін" қызметкерлер туралы сұраныста қолдану мысалы:
SELECT e.ename, d.dname
FROM oemp1 e INNER JOIN odept1 d
ON e.home = d.addr
WHERE e.home address_type ( '345678', 'Astana' )
;
Салыстыру кезек бойынша барлық қасиеттерді элемент бойынша жасалады:
SQL SELECT 'OK' ok FROM dual
2 WHERE address_type ( NULL, 'x' ) IS NOT NULL;
OK
--
OK
SQL SELECT 'OK' ok FROM dual
2 WHERE address_type ( NULL, 'x' ) = address_type ( NULL, 'x' );
no rows selected
Демек, x = x TRUE бермейді, бірақ x IS NOT NULL TRUE береді (x мәні бар).
Амалдарда объектілі мәнге бүтін ретінде қаратпа жасауға болады. екінші жағдайда псевдоним қолдану қажет болады:
COLUMN home FORMAT A35
SELECT e.ename, e.home, e.home.zip FROM oemp1 e
;
Объектілер кестелері
МБ құрылған типті "объектілер кестесін" құрғанда да қолдануға болады:
CREATE TABLE addresses1 OF address_type;
CREATE TABLE addresses2 OF address_type;
Бұл сақталатын элементтер категориясы үшін "кесте" термині қолданылса да, мұндай кестеде әрқашан объектілі типті бір баған болады.
Мұндай кестеге жолды келесідей енгізуге болады:
INSERT INTO addresses1 VALUES ( '123456', 'Almaty' );
Сұраныс мысалы:
SELECT a.*, UPPER ( location ) FROM addresses1 a;
Мұндай кестедегі объектілер өзіндік болмыстар ретінде сақталады және оларда МББЖ мен автоматты түрде жасалатын object ID ішкі бірегей идентификаторы бар. Ол классикалық объектілі тәсілге сәйкес басқа кестелер немесе программалардан белгілі объектілерге сілтеме жасауға мүмкіндік береді. Объектілер кестесінде элементтер-"жолдарды" салыстыру қасиеттердің мәндері бойынша емес, object ID мәні бойынша жасалады. Қасиеттер мәндерін салыстыруға көшуді VALUE функциясы жасайды, мысалы:
SELECT dname FROM odept1 d, addresses1 a WHERE d.addr = VALUE ( a );
ADDRESS1 кестесінен адрестер бойынша орналасқан бөлімдерге сұраныс жасау.
0.2 SQL-дің Oracle-диалекті. SQL тілінің негізгі командалары
SQL (Structured Query Language) -- реляциялқ мәліметтер базаларымен жұмыс ретінде таңдалған тіл болып табылады. Әртүрлі функционалды бағыттағы бірнеше "ішкі тілдерден" тұрады:
oo МБ мәліметтеріне сұраныстар (query language, QL) -- SELECT сөйлемімен кестелерден мәліметтерді таңдау.
oo мәліметтерді манипуляциялау тілі ("мәліметтерді өңдеу"), ММТ; Data Manipulation Language (DML) -- кестелердегі мәліметтерді өзгерту.
oo транзакцияларды басқару тілі -- мысалы, МБ программамен жасалған өзгертулерді тіркеу немесе жою.
oo мәліметтерді анықтау тілі (ЯОД); Data Definition Language (DDL) -- мысалы, сақтау үшін кестелерді немесе басқа да объектілерді құру немесе олардың қасиеттерін өзгерту.
oo мәліметтерді басқару тілдері (ЯУД; data control language, DCL) -- мәліметтерге қол жеткізуге рұқсатты немесе GRANT және REVOKE командаларының көмегімен алынып тастауды басқару.
Екінші түрі -- орнатылған SQL -- SQL ді МБ программалау тіліне айналуды білдіреді. Қазіргі кезде ол осы сапада қолданылады. Мұндай өзгерулер басқа да ақпараттық технологиялардың өнімдерінде байқалады , мысалы, Java.
SQL-дің бірінші версиясы 1973 жылы IBM фирмасымен Sequel атауымен пайда болды.
Oracle фирмасы МБ жұмыс істеу үшін екі инструмент ұсынады: SQL*Plus және SQL Developer.
SQL*Plus -- МБ мен қолданушының SQL және PLSQL тілінде мәтіндерін қолдану арқылы сұраныс жасап, экранда МББЖ дан алынған нәтижені көрсету 2.1- суретте көрсетілген
Қолданушы
Қосымша
SQL сөйлемі
Нәтиже
SQL-машина
Мәліметтер базасы
2.1-сурет - МББЖ дан алынған нәтиже.
SQL*Plus келесідей жүктеледі:
- ОЖ менюі арқылы (Windows);
- команалық жолдан (барлық ОЖ де).
Командалық жолдан жіберу мысалы 2.2- суретте көрсетілген
2.2-сурет - Командалық жолдан жіберу.
SQL-ді стандарттауға байланысты ол кеңінен таралған. Теория жүзінде қолданбалы программалардың МББЖ типінен тәуелсіздігі болып табылады. Практика жүзінде МББЖ ны ң әрбір жасаушысы, соның ішінде Oracle фирмасы, оның стандартты іске асырылуы емес, SQL-дің өзіндік диалектін ұсынады. Диалекттің пайда болуына SQL стандарттарында кейбір қасиеттер үшін бір мағыналы сөйлемдердің болмауы әсер етеді, мысалы,:
- тәуліктің күні мен уақытын беру,
- жасанды кілттер үшін мәндерді жасау,
- кейбір мәліметтер типтерінің семантикасы.
Oracle МББЖ да SQL диалекті
Бірінші версияның Oracle МББЖ 1978 пайда болды және RSX ОЖ-мен PDP-11 үшін ассемблер тілінде жазылған. Oracle-дың 2 версиясы 1979 жылы пайда болды және SQL қолданып бірінші коммериялық реляциялық МББЖ болды, ал 3 версиясында оның ядросы С тілінде қайта жазылды. 8 версиясынан бастап Oracle фирмасы МББЖ ны "объектілі-реляциялық" деп атады. Негізінде бұл өзінің SQL диалектін қолданатын SQL-бағытталған МББЖ болды.
Oracle фирмасының SQL диалектін келесі жақтарынан бағалаған орынды:
- реляциялық теория,
- стандартты SQL,
- жасаушы-фирма.
SQL Oracle диалектінің кейбір өзіндік қасиеттері:
- мәліметтер типтері;
- SQL қосыша конструкциялары.
SQL стандарты реляциялық модель әсерімен құрылған өндірістік стандарт болып табылады. Барлық өндірушілердің SQL стандарты және диалекттері ір біріне әсер етпей және бір бірін қайталамай өз бетінше қолданылады.
Командаларды жазу:
- SQL командалары символдар регистрлерін ерекшелемейді
- SQL командалары бір немесе бірнеше жолдан тұруы мүмкін
- кілттік сөздеді қысқартуға және екі жолға орналастыруға болмайды
- сөйлемдер әдетте бөлек жолдарда жазылады
- оқуға жеңіл болуы үшін табуляциялар мен бос жерлер қолданылады
SELECT *{[DISTINCT] бағанамал [псевдоним],...}
FROM кесте;
Арифметикалық операторларды қолдану.
Оператордардың приоритеттері
- көбейту мен бөлудің қосу мен алуға қарағанда приоритеттері үлкенч
- бір приоритетті операторлар солдан оңға қарай орындалады
- операторларды белгілі бір тәртіпте орындау мен оларды оқуды ықшамдау үшін жақшалар қолданылады.
Анықталмаған мән
- анықталмаған мән (NULL) - бұл, қол жетімсіз, меншіктелмеген, белгісіз немесе қолданылмайтын мән.
- бұл нөл және бос орын емес.
Конкатенация операторы
- бағандарды немесе символдық жолдарды басқа бағандармен біріктіреді.
- екі вертикаль () сызықпен бейнеледі.
- символдық амал болып табылатын нәтижемен бағанды құрады.
Мысалы
SELECT last_namejob_id AS "Employees"
FROM employees;
Символдар жолы - литерал
- литерал - бұл,SELECT тізімге қосылған символ, сан немесе дата.
- даталар және символды литералдар апострофқа алынуы керек.
- әрбір символдық жол кестенің әрбір жолымен қайтарылатын бір рет шығарылады.
Мысалы:
SELECT last_name ' is a 'job_id
AS "Employee Details"
FROM employees;
Қайталанатын жолдарды жою
Қайталанулар SELECT командасында DISTINCT кілттік сөзімен жойылады.
SELECT DISTINCT department_id
FROM employees;
SQL және iSQL*Plus әсерлесуі келесі 2.3- суретте көрсетілген:
Интернет-браузер
Сұрау
нәтижесі
Қалыптастырылған есеп
Сұрау нәтижесі
Команды iSQL *Plus
iSQL *Plus
Команды SQL
Клиент
Сервер
Oracle
2.3-сурет - SQL және iSQL*Plus әсерлесуі.
2.1-кесте - SQL және iSQL*Plus салыстыру.
SQL
iSQL*Plus
Тіл
Орта
ANSI стандарты
Oracle жасау
Кілттік сөздерді қысқартуға болмайды
Кілттік сөздерді қысқартуға болады
Командалар мәліметтермен және МБ кестелердің анықтамаларымен манипуляциялайды
Командалар МБ мәліметтерді манипуляциялауға мүмкіндік бермейді
Браузерде орындалады
Орталық түрде жүктеледі, әрбір машинада орналаспауы керек
2.3 Мәліметтер базасы
Мәліметтер базасы (database) - бұл белгілі бір құрылымды ретпен орналасқан ақпарат жинақталған файл немесе файлдар жиыны. Осы ақпараттарды, яғни мәліметтерді басқару үшін мәліметтерді басқару бағдарламалары қолданылады. Қазіргі таңда олардың сан алуан түрлерін кездестіруге болады. Мысалға кеңінен қолданылып келе жатқан мәліметтер базасымен жұмыс жасайтын Microsoft Access бағдарламасын атап айтуға болады. Мәліметтер базасы жинақталған ақпаратты құру құрылымына қарай бірнеше түрге бөлінеді. Соның ішінде өте кең таралғаны реляционды мәліметтер базасы.
Реляционды мәліметтер базасы - ол бір-бірімен байланысқан кестелер түріндегі құрылымы бар мәліметтер жиынтығы. Бұл әр түрлі тізімдер, журналдар, каталогтар, бухгалтерлік кітаптар, анықтамалықтар және де т.б. кестелер болуы мүмкін. Реляционды мәліметтер базасы ақпараттың дұрыстығы мен бүтіндігін қатаң тәртіппен қадағалайды. Сонымен қатар бұл МБ келісілген бағдарламада тез өңделеді. Реляционды МБ-на мысалы: Microsoft Access, Corel Paradox, Borland dBase, Microsoft FoxPro жатады. Осы аталғандардың барлығы қарапайым қолданушыларға арналған. Олар өздері қолданушының компьютерінің қатты дискісіне немесе файл сервердің дискісіне өздері сақтап, тікелей қолдана береді.
Ал, енді үлкен көлемдегі ақпараттармен жұмыс жасау үшін осы ақпаратқа көптеген қолданушылар қосыла алатын күшті бағдарламаларды атап айтсақ: BorlandInterBase, MySQL, FireBird, Microsoft SQL Server, Informix, Sybase, Oracle.
Осы аталған МБ-да жұмыс жасайтын бағдарламалардың әр қайсысының өзіне тән форматы бар. Әр МББЖ( мәліметтер базасын басқару жүйесі ) ақпаратты тек өзінің форматында сақтайды. Осылардан өзімізге керегін, осы дипломдық жобада қолданылып отырған SQL(Structured Query Language, сұраныс жасауға арналған құрамды тіл) тілін қарастырайық. Бұл сұраныс тілі барлық бағдарламалармен жұмыс жасай алады. Сонымен қатар МБ-ғы ақпараттармен сенімді, тез, қарапайым жұмыс жасайды. Осы тіл арқылы клиент серверге сұраныс жіберіп өзіне жауабын ала алады.SQL тілінде сұраныс жасау арқылы ақпарат қосуға, жоюға және өзгертуге болады.
Мәліметтер базасын басқару жүйесі (МББЖ) - мәліметтер базасын ұйымдастыру мен жүргізуге арналған арнайы программа (көбіне программалар комплексі). Программаны алгоритмдік тілде жасау үшін транслятор қалай керек болса, ақпараттық жүйені жасау және басқару үшін МББЖ да сондай маңызды.
Көптеген мекемелер өздерінің жұмыс процестерін қолдау үшін электронды мәліметтер базасын қолданады. Көбіне бұл 1-2 қолданушыға арналған dbf-бағытталған дамыту қолданбаларының көмегімен жасалған жүйелер: MySQL, Clipper, Dbase, Oracle, FoxPro, Paradox, Access. Әдетте осындай өзара тәуелсіз базалар қатары қолданылады. Егер мәліметтер базасындағы ақпарат тек қолданушыға емес, басқа да тұлғаларға қызықты болса, онда ақпараттың ары қарай таралуына мәліметтер базасы жасаған қағаз есептер мен анықтамалар қолданылады.
Локальды желілердің пайда болуының, сондай торлардың Интернетке қосылуының, корпоротивті аралық желілердің жасалуының арқасында кез келген жұмыс орнынан желінің ақпараттық қорына қол еткізу мүмкін болып отыр. Бірақ, жұмыс атқаратын мәліметтер базасын қолданар кезде жұмыс орнының біртектілігін талап ететін (туған интерфейсті қосу кезінде), желідегі үлкен траффикпен байланысты, файлдық серверді жүктеу мен аралықтан жұмыс істеудің мүмкін еместігі сияқты проблемалар туындауы мүмкін (мысалы, коммандировкадағы жұмысшылар). Бұл қолайсыздықтардың шешімі ретінде бір жүйеге келтірілген WWW интерфейсін мекеме ресурстарына қол жеткізуде қолдануды айтуға болады. МББЖ-ның негізгі функциялары:
- сыртқы жадыдағы (дискілерде);
- сперативті жадыдағы мәліметтерді дискілік кэшті қолдану арқылы басқару;
- өзгерістерді тіркеу, резервті көшіру және қате жұмыстан кейін мәліметтер базасын қайта қалпына келтіру;
- МБ тілдерін қолдау (мәліметтерді табу тілі, мәліметтерді басқару тілі).
МБ-на қол жеткізу әдісі бойынша:
Файл-серверлік:
Файл-серверлік МББЖ мәліметтер файлы орталықтандырылып файл-серверде орналасады. МББЖ әр клиенттік компьютерде орналасады. МББЖ-ның мәліметтерге қол жетізуі локальді желі арқылы жүзеге асады. Оқылу және жаңарту синхронизациясы файлдық блоктандыру арқылы жүзеге асады. Бұл архитектураның артықшылығы деп сервердің орталық портына түсетін аз жүктемені айтамыз. Кемшіліктері: локальді желінің потенциалды жоғары жүктемесі; жоғары сенімділік, қол жетімділік және қауіпсіздік сияқты маңызды сипаттардың орындалуының қиындығы. Көбіне мәліметтер базасын басқару функциялары қолданылатын локальді қосымшаларда пайдаға асады. Қазіргі кезде файл-серверлік МББЖ ескірген болып есептеледі. Мысалдар: Microsoft Access, Paradox, dBase, FoxPro, Visual FoxPro.
Клиент-серверлік:
Клиент-серверлік МББЖ серверде мәліметтер базасымен бірге орналасады және МБ-на монопольді режимде қол жеткізіледі. Барлық мәліметтерді өңдеуге байланысты лиенттік сұраныстар клиент-серверлік МББЖ-да орталықтандырылып өңделеді. Клиент-серверлік МББЖ-ның кемшілігі серверге дегер жоғары талап болып табылады. Артықшылықтары: потенциальді локальді желінің біршама төмен жүктемесі; орталықтандырылған басқарудың ыңғайлылығы; жоғары сенімділік, қол жетімділік және қауіпсіздік сияқты маңызды сипаттардың орындалуының ыңғайлылығы. Мысалдар: Oracle, Firebird, Interbase, IBM DB2, MS SQL Server, Sybase, PostgreSQL, MySQL, ЛИНТЕР, Caché, MDBS.
Орнатылатын:
Орнатылатын МББЖ - локальді машинада бір жүйеге келтірілген түрде мәліметтердің үлкен қорын сақтауға мүмкіндік беретін кітапхана. Мәліметтерге SQL арқылы немесе МББЖ-ның кез келген айрықша функциясы арқылы қол жеткізуге болады. Орнатылатын МББЖ қарапайым клиент-серверліктен жылдамырақ және сервердің орнатылуын талап етпейді, сондықтан үлкен мәліметтер қорымен айналысатын локальді программалық жабдықтамада сұранысқа ие (мысалы, геоинформациялық жүйелер). Мысалдар: OpenEdge, SQLite, BerkeleyDB, Firebird-тің бір түрлері, MySQL, Sav Zigzag, Microsoft SQL Server Compact, ЛИНТЕР.
MySQL. SQL - Structured Query Language - дің қысқартылуы (сұраныстардың құрылымдық тілі). SQL реляционды мәліметтер базасымен жұмыс істеу үшін жасалған. Ол қолданушыға мәліметтер базасымен жұмыс істеуге (қарау, іздеу, қосуға және ақпаратты басқаруға) мүмкіндік береді. MySQL ANSI 92 SQL спецификасына сәйкес келеді.
MySQL - интернеттегі ең кең таралған және ең атақты ақпарат базасын басқару жүйесі. Ол үлкен көлемді ақпаратпен жұмыс істеуге арналмаған, бірақ үлкен, кіші интернет сайттар үшін өте ыңғайлы жүйе.
MySQL үлкен және орташа қосымшалармен жұмыс істеуге өте ыңғайлы. Сервердің негіздері көптеген платформаларда компиляция жасайды. Сервердің толығырақ мүмкіндіктері өнімділікті арттыратын көпағымдылықтың қолдауы бар Unix-серверлерде байқалады.
РНР мен қарым - қатынасы.
MySQL жұмыстың жоғары жылдамдылығымен, сенімділігімен, ыңғайлылығымен ерекшеленіледі. Онымен жұмыс істеу үлкен қиындықтар тудырмайды. MySQL сервердің қолдауы РНР жеткізілуіне автоматты түрде қосылады. Тегінділігі де үлкен роль атқарады. MySQL ортақ GNU (GPL, GNU Public License) лицензиясы негізінде таратылады. Бұрын ақпаратты ұзақ уақыт сақтау үшін файлдармен жұмыс істелетін: бірнеше жолдар санына енгізіп, келесі жұмыстар үшін алынатын. Ақпаратты ұзақ уақытқа сақтау мәселесі Web - қосымшаларын программалауда жиі кездеседі: қолданушыларды санау, хабарламаларды форумда сақтау, сайттағы ақпаратты арақашықтықтан басқару т.б.
Файлдармен маманданған түрде жұмыс істеу үлкен еңбекті талап етеді, оларға ақпаратты енгізуді, олардың сортталуын, алынуын қадағалау керек, сонымен қатар бұл істердің бәрі Unix нұсқасынының бірі тұратын хост - провайдердің серверінде жүзеге асатынын ұмытпау керек, яғни файл құқығы мен оларды орналастыруды да ойластыру керек. Сонымен қатар код көлемі елеулі түрде өседі және бағдарламада қате жіберу өте оңай. Осы мәселелердің барлығын мәліметтер базасын қолдану шешеді. Мәліметтер базасы ақпараттың қауіпсіздігі мен сортталуын өздері қадағалайды және ақпаратты алу мен орнатуды бір жолдың көмегімен жүзеге асыруға мүмкіндік береді. Мәліметтер базасын қолданумен код жинақы болып шығады, және оны әлдеқайда жеңілірек жөндейді. Сонымен қатар, жылдамдықты да ұмытпау керек - ақпаратты мәліметтер базасынан алған файлдан алғанға қарағанда әлдеқайда тезірек жүзеге асады. MySQL мәліметтер базасының ақпаратын сақтауда қолданылатын РНР - ге қосымша файлдарда салынған қосымшаларға қарағанда әрқашан тезірек істейді. Өйткені мәліметтер базасы С++ тілінде жазылған және қатқыл дискте мәліметтер базасына қарағанда нәтижелі жұмыс істейтін PHP бағдарламасына жазу - шешілмейтін мәселе, өйткені РНР бағдарламалары С++ бағдарламаларынан баяуырақ жұмыс істейді, себебі РНР - интерпретатор, ал С++ - компилятор.
Осылайша, мәліметтер базасының басты артықшылығы қатты дискпен жұмыстың бәрін өз мойнына алады және өте жоғары деңгейде жүзеге асырады. MySQL мүмкіншіліктерінің қысқаша тізімі:
oo бір уақытта мәліметтер базасымен жұмыс істейтін тұтынушылардың шексіз санына қызмет көрсетіледі.
oo кестедегі жолдар саны 50 млн. дейін жетуі мүмкін.
oo бұйрықтардың тез орындалуы. MySQL серверлердің ішіндегі ең жылдамы болуы да мүмкін.
oo қауіпсіздіктің қарапайым және нәтижелі жүйесі.
MySQL негізінде өте жылдам сервер, бірақ бұған жету үшін өңдеушілер МББЖ - нің реляциалы талаптарынан бас тартуына тура келді. MySQL - де:
oo SELECT * FROM table1 WHERE id IN (SELECT id FROM table2) секілді енгізілген сұраныстар жұмыс істемейді. Мұндай мүмкіндік 3.23 версиясында болады деп айтылуда.
oo транзакцияны қолдау жүзеге аспаған. Орнына LOCKUNLOCK TABLE қолдану ұсынылады.
oo сыртқы(foreign) кілттер жұмыс істемейді.
oo триггер және сақталатын үрдістер істемейді.
oo көрсетілім (VIEW) жұмыс істемейді. 3.23 версиясында көрсетілім мүмкіндігі іске асады деп жоспарлануда.
Құрастырушылар сөзі бойынша дәл 2-4 пунктер жоғары жылдамдыққа қол жеткізуге мүмкіндік берді. Оларды жүзеге асыру сервердің жылдамдылығын елеулі түрде төмендетеді. Бұл мүмкіндіктер Web - қосымшаларды жасағанда қиын емес және осыған орай жылдамдық пен бағасының арзандығына байланысты серверге үлкен танымалдылық әкелді. Төменде MySQL бағдарламалық қамтаманың маңызды сипаттамалары көрсетілген:
Ішкі сипаттамалар және тасымалдануы:
oo С және С++ - те жазылған. Көптеген түрлі компиляторларда тестіленген.
oo түрлі платформаларда жұмыс істейді.
Тасымалдануды қамтамасыз етуде GNU Automake, Autoconf и Libtool қолданылады.
oo C, C++, Eiffel, Java, Perl, PHP, Python, Ruby және Tcl - ге арналған API.
oo ядро ағымын пайдалана отырып толығымен, көпағымды. Бұл дегеніміз, мұндай мүмкіншілік қамтамасыз етілсе бірнеше процессормен жұмысты оңай ұйымдастыруға болады.
oo В - бұтақ негізінде индексті сығумен өте тез дисктік кестелер;
oo көлемді тарату жүйесінің ағымындағы өте тез негіздеуші;
oo біржолды мультибайланыстардың (one-sweep multi-join) оптималды әдісін қолданатын өте тез байланыс.
oo уақытша кестелер ретінде қолданылатын көлемдегі хеш - кестелер;
oo жақсы оптимизацияланған класс кітапханалары көмегімен жүзеге асқан SQL - функциялар. Сондықтан олар мүмкіншілігінше тез жұмыс істейді. Әдетте сұранысты инициализациялағаннан кейі көлемді тарату мүлдем жасалынбайды;
oo MySQL - код Purify, Valgrind және GPL - құралдарының бірін қолдану арқылы тестілеуден өткен.
Бағана түрлері:
oo үлкен сан: белгіменбелгісіз бүтінсандық, ұзындығы 1,2,3,4 және 8 байт.
oo бекітілген және айнымалы ұзындықты жазбалармен.
oo барлық бағаналардың үндеместен мағынасы бар.INSERT көмегімен кестенің көп бағаналарын қоюға болады; мағына берілмеген бағаналарға мағыналар үндеместен беріледі.
oo операторлам мен SELECT- и WHERE-ді сауал жөнінде толық қолдау көрсету.
oo SQL GROUP BY және ORDER BY операторларына толық қолдау көрсету.
oo LEFT OUTER JOIN және RIGHT OUTER JOIN -ді ANSI SQL және ODBC синтаксисімен.
oo SQL92 стандартына сәйкес кестелер мен бағаналарға жалған аттар рұқсат ... жалғасы
Бізді қоршаған әлемдегі айналып жүрген ақпараттар ағыны үлкен. Уақытына қарай олардың көбеюге беталысы бар. Сондықтан кез келген ұйымда, үлкенінде де, кішісінде де осындай мәліметтермен басқаруды ұйымдастыру мәселелрі туындап жатады. Ол нәтижелі жұмысты қамтамасыз еткен болар еді. Кейбір ұйымдар мұндай мақсатта папкалары бар сөрелерде жөн көрсе, көпшілігі компьютерленген әдістерді - мәліметтер базасын, яғни мәліметтердің үлкен көлемін тиімді сақтауға, құрылымын жасауға және жүйелеуге мүмкіндік беретінді таңдайды. Қазіргі кезде мәліметтер базасынсыз көптеген қаржы, өнеркәсіптік, сауда т.б. ұйымдардың жұмысын елестету мүмкін емес. Егер мәліметтер базасы болмай қалса, олар ақпараттар көшкініне тұншығып қалар еді.
Іс жүзінде бар ақпаратты компьютерлік негізге аударудың айтарлықтай көп себептері бар. Қазір ақпаратты файлдарда сақтау, қағазда сақтағаннан гөрі әлдеқайда арзан. Мәліметтер базасы ақпаратты пайдаланушыға ыңғайлы жолмен сақтауға, құрылымын жасауға және шығарып алуға мүмкіндік береді. Клиент-серверлік технологияларды пайдалну дерліктей құралдарды қорғауға жағдай жасайды, бастысы - қажетті ақпаратты алуда да солай. Сонымен қатар мәліметтер кешенді түрде өңделіп, олардың сақталуы орталықтандырылуға негізделетіндіктен мүмкіндік пен енуді де оңтайлы етеді. Бұдан басқа мәліметтердің кез келген форматын, мәтіндерді, сызбаларды, қолжазба түріндегі мәліметтерді, дауыс жазбаларын, т.б. сақтауға мүмкіндік береді.
Сақтаған ақпараттың соншалықты үлкен көлемін пайдалану үшін жүйелік құрылғылар, мәліметтерді беру құралдары. Олар пайдаланушыға сұраныс ендіруге, файлдарды оқуға, сақталып тұрған мәліметтерді модификациялауға, жаңа мәліметтер қосып немесе сақтаулы мәліметтер негізінде шешім қабылдауға мүмкіндік береді. Осындай қызметтерді қамтамасыз ету үшін арнайы құралдар - мәліметтер базасын басқару жүйесі жасаған (МББЖ). Қазіргі таңдағы МББЖ - мәліметтер базасымен басқаруды көпшілік пайдаланатын жүйесі. Ол ақпараттар массивін басқаруды бір немесе бірнеше пайдаланушы бір мезетте жұмыс істегенде іске асыруға мамандандырылған.
Қазіргі кездегі МББЖ қамтамасыз етеді:
- кестелерді және бір-бірімен байланысты кестелер қатынасын сүйемелдейтін құралдар жинағын;
- дамыған пайдаланушылық интерфейс, ол ақпаратты ендіруге және модифкациялауға, іздеуге және ақпаратты сызба немесе мәтіндік режимде көрсетуге жағдай жасайды;
- жоғары деңгейдегі программалау құралы, бұның көмегімен жеке өзіңнің (жекеменшік) қосымшасын жасап алуға болады.
Осы жобамның тақырыбы: Oracle платформасында клиенттік қосымшалар құру.
1 Пәндік аймақты зерттеу және талдау
1.1Мәліметтер базасы туралы жалпы түсінік
Мәліметтер базасы іс жүзінде қиын өңделетін көлемі жағынан үлкен қойма ретінде белгілі, бұл мәліметтер базасын кез келген қолданушы пайдалана алатындай етіп, ұйым өзіне керекті барлық мәліметті енгізеді. Барлық мәліметтер сақталатын жады құрылғысы бір немесе бірнеше жерде орналасуы мүмкін; соңғы жағдайда олар мәлімет жіберу мүмкіндігімен байланысу керек. Бағдарламалардың мәліметтерге рұқсаты бар болуы керек.
Шынында да, қазіргі таңдағы мәліметтер базасы шектелген бағдарламаларға ғана негізделгенУақыт өте келе, бір-біріне ұқсайтын бөлек функцияларды өңдейтін мәліметтер базасын біріктіруге болады. Әрине, бұл біріктіру барлық жүйенің тез әрі тиімді жұмыс істеуіне септігін тигізсе, [1].
Мәліметтер базасы бір немесе бірнеше бағдарламаларда оптималды қолдануға мүмкіндік беретін, бір-бірімен байланыса сақталған Мәліметтер жиыны; мәліметтер оларды пайдаланатын бағдарламаға тәуелсіз болатындай етіп сақталады; жаңа мәліметті қосу немесе бар мәліметті өзгерту үшін мәліметтер базасынан іздеу жасауда жалпы басқарылатын әдіс қолданылады.
Нақ қазіргі уақытта осы мүмкіндіктерді жергілікті мәліметтер қоры деңгейінде, бір дискіде орналасқан (Paradox, Dbase), дәл солай ауқымды мәліметтер қорында да (Access, Oracle, FoxPro) жүзеге асыратын МББЖ (Мәліметтер базасын Басқару Жүйесі) бар.
Кез-келген ақпараттық жүйенің мақсаты - ол шынайы өмірдегі объектілердің мәліметті өңдеуі. Кең мағынада мәліметтер базасы деген сөз - бұл, қандай да болмасын облыстық тақырыптағы шынайы өмірдің белгілі бір объектісінің жиынтығы жайлы мағлұмат.
Мәліметтер базасын құру кезінде, қолданушы ақпаратты түрлі белгісі бойынша ретке келтіруге ұмтылады және белгілерді өз бетінше байланыстыру мен таңдауды тез шығарады. Бұлардың барлығын біз жүзеге асыра аламыз, егер Мәліметтер құрылымдық болса ғана.
Құрылымды деп - Мәліметтерді ұсыну әдістері жайлы келісімді енгізуді айтамыз.
Құрылымды емес деп - мысалы тексттік файылдарда жазылған Мәліметтерді айтамыз.
Құрылымды емес Мәліметтерге былайша мысал 1.1-суретте көрсетілген
Жеке құжат №03541353,Ахметов Ерлан Наурызұлы туған жылы 1999ж.; жқ №035812589, Нарбаева Айдана Қуанышқызы, туған ж.1991ж.; № жеке құж. 03554789, т.ж. 14.04.95, Сәрсен Айдос Ержанұлы.
1.1 - сурет - Құрылымды емес мәліметтер көрінісі
Ал, құрылымды Мәліметтердің көрінісі 1.1-кестеде келтірілген.
1.1-кесте - Құрылымды мәліметтердің көрінісі
Жеке құжат №
Фамилиясы
Аты
Әкесінің аты
Туған жылы
03541353
Ахметов
Ерлан
Наурызұлы
01.01.99
035812589
Нарбаева
Айдана
Қуанышқызы
15.03.91
03554789
Сәрсен
Айдос
Ержанұлы
14.04.95
Мәліметтер базасының қолданушылары түрлі қолданбалы бағдарламалар, бағдарламалық комплекстер, сонымен қатар мәліметтер базасының көзі немесе қолданушылар рөлінде шығатын облыстық тақырыптардың мамандары бола алады. Оларды соңғы қолданушылар деп атауға болады.
Мәліметтер базасының қазіргі заманғы технологиясында мәліметтер базасын құру оның қолданушылардың өзіне рұқсатын қамтамасыз етуді арнайы бағдарламалық аспаптардың көмегімен орталықтандырылып, жүзеге асады, яғни мәліметтер базасын басқару жүйесі (МББЖ).
1.2 Мәліметтер базасының жіктелуі
Мәліметтерді өңдеу технологиясы бойынша мәліметтер базасы орталықтандырылған және бөліктенген болып екіге жіктеледі.
Орталықтандырылған (база) мәліметтер базасы есептеуіш жүйенің бір жадысында сақталады. Егер бұл есептеуіш жүйе ЭЕМ-нің компоненті болып табылса, онда мұндай базаға бөліктенген рұқсат мүмкін болады. Мәліметтер базасының қолдануының мұндай әдісі дербес компьютерлердің (ДК) локальді желілерінде жиі қолданылады, [2].
Бөліктенген мәліметтер базасы есептеуіш желінің түрлі ЭЕМ-дерінде сақталатын, бір-біріне қиылысушы немесе қайталанушы бөліктерден тұрады. Мұндай базамен жұмыс жасауды бөліктенген мәліметтер базасын басқару жүйесі (БМББЖ) көмегімен жүзеге асыруға болады.
Мәліметтерге рұқсат алу әдісі бойынша мәліметтер базасы: локальді рұқсатты мәліметтер базасы алыстатылған (желілік) рұқсатты мәліметтер базасы болып бөлінеді.
Желілік рұқсатты орталықтандырылған мәліметтер базасы жүйесі сол сияқты жүйелердің түрлі архитектурасын ұсынады:
- файл-сервер;
- клиент-сервер.
Файл-сервер. Желілік рұқсатты МБ жүйесінің архитектурасы желі машинасының біреуі орталық ретінде бөлінетінін болжайды. Мұндай машинада бірлесіп қолданылған орталықтандырылған МБ сақталады. Барлық басқа желі машиналары жұмыс станцияларының функцияларын орындайды. Қолданушылар жұмыс станцияларында монопольді түрде қолданатын локальді МБ-ларды құрады. Файл-сервердің концепциясы шартты түрде 1.2- суретте көрсетілген.
1.2 - сурет - МБ-ақпаратты файл-сервер принципі бойынша өңдеу схемасы
Клиент-сервер. Бұл концепцияда орталық машина орталықтандырылған мәліметтер базасын сақтаудан басқа Мәліметтерді өңдеудің негізгі көлемін орындауды қамтамасыз етуі қажет. Клиент арқылы мәліметтерге сұраныс, сервердегі Мәліметтерді шығару және іздеуді тудырады. Шығарылған Мәліметтер (бірақ файлдар емес) желі бойынша серверден клиентке транспортталады. Клиент-сервер концециясы шартты түрде 1.3-суретте көрсетілген.
1.3 - сурет - МБ-да ақпаратты клиент - сервер принципі бойынша өңдеу
Мәліметтер базасы өріс, жазба, файл (кесте) сияқты структуралық элементтермен тығыз байланысты.
Өріс (алаң) - ақпараттың бөлінбейтін бөлігіне, яғни реквизитіне сәйкес келетін мәліметтердің логикалық ұйымының элементарлы бірлігі. Өрістерді (алаңдарды) суреттеу үшін келесі сипаттамалар қолданылады:
- аты (имя), мысалы: фамилиясы, аты, әкесінің аты, туған жылы;
- типі (тип), мысалы: символды, сандық, календарлық;
- ұзындық (длина), мысалы: 15 байт сонымен бірге символдардың ең үлкен санымен анықталады;
- дәлдік (точность) сандық мәліметтер үшін, мысалы: санның бөлшек бөлігін бейнелеу үшін екі ондық санақ белгісі 1.2 -кестеде көрсетілген.
1.2-кесте - МБ-ның негізгі структуралық элементтері
Өріс1 (аты)
Өріс2 (аты)
Өріс3 (аты)
Өріс4 (аты)
Өріс Жазба
Жазба дегеніміз - логикалық байланысқан өрістердің жиынтығы. Жазба экземпляры - жазбаның өрістерінің тұрақты мағынасын ұстап тұратын бөлек реализация.
Файл (кесте) - бір структураның жазба экземплярларының жиынтығы.
Жазба файлдарының логикалық структураларының суреттелуі өріс жазбаларының тізбектей орналасуынан және олардың негізгі сипаттамаларынан тұрады. Мысалы, 1.3-кестеде көрсетілген.
1.3-кесте - Файл жазбаларының логикалық структурасының суреттелуі
Файл аты
Өріс
Кілт
Белгісі
Өріс форматы
Аты (мағынас)
Толық аталуы
Типі
Ұзындығы
Дәлдігі
Аты 1
...
Аты n
Программалаудағы қолданылатын, кез-келген Мәліметтер өздерінің типі болады. Реляциялық модель қолданылатын Мәліметтер типі қарапайым болуын талап етеді.
- Мәліметтердің қарапайым типі;
- Мәліметтердің құрылымдық типі;
- Мәліметтердің сілтеме типі.
Байланыс типтері. Барлық тақырыптық облыстағы ақпараттық объектілер өзара байланысқан.
Байланыстың бірнеше түрлері бар:
- бірден бірге (1:1);
- бірден көпке (1:К);
- көптен көпке (К:К).
1-ге 1 байланысы. Бір кестенің бір жазбасы екінші кестенің бір жазбасына сәйкес келеді. Бірден бірге байланысы 1.4-суретте көрсетілген.
1.4 - сурет - Бірден бірге байланысы
Бірден көпке байланысы - 1- ші кестенің бір жазбасына 2-ші кестенің бірнеше жазбасы сәйкес келеді. 1-ші кестенің жазбасы қайталанбауы керек.Бірден көпке байланысының көрінісі 1.5-суретте көрсетілген
1.5 - сурет - Бірден көпке байланысы.
Көптен көпке байланысы. Бірінші кестенің бірнеше жазбасына екінші кестенің бір жазбасы сәйкес келеді.
Көптен көпке байланысының көрінісі 1.6- суретте көрсетілген
1.6-сурет - Көптен көпке байланысы.
МБ-ның жұмыс технологиясының жалпы қорытындысын негізгі этап ретінде былайша бөлуге болады. Схемасы 1.7-суретте көрсетілген:
- мәліметтер базасы кестенің структурасын құру;
- кестедегі мәліметтерді енгізу және өзгерту;
- кестедегі мәліметтерді өңдеу;
- ақпаратты мәліметтер қорынан шығару.
1.7-сурет - МББЖ-дағы жұмыс технологиясының жалпы қорытындысының схемасы
Әрбір нақты МББЖ - ның өзінің ерекшелігі болады. Оны міндетті түрде есте сақтау қажет. Алайда кез-келген МББЖ-ның функциональдық мүмкіндігін көре отырып осы ортадағы қолданушының жұмыс технологиясының жалпы қорытындысын алдымызға келтіруге болады.
1.3 Мәліметтер базасының қасиеттері және оған қойылатын талаптар
Нақты түрде мәліметтер базасы дегеніміз - қандай да бір жұмыс істеуге қажет мәлімет жиынтығы. Бірақ мәлімет дегеніміз - абстракция, жалпылама түсінік. Олар өздігінен пайда болып, өмір сүрмейді. Мәліметтер нақты өмірдегі объектілердің бейнесі. Мысалы, университетке түскен студенттің мәліметін сорттау қажет. Нақты өмір объекті ретінде студент Мәліметтер базасында қалай бейнелейді? Бұл сұраққа жауап беру үшін жұмысқа қажет актуалді студенттің сипаттамаларын анықтау керек. Олардың ішінде аты-жөні, мекен-жайы, туған жылы, оқу түрі т.с.с. болуы керек. Терминология тілінде мәлімет базасында сипаттамлары сақталатын нақты өмір объектілері негізі, ал олардың актуалді сипаттамалары атрибуттар деп аталады. Нақты объектілердің әрбір сипаттамасы атрибуттың мәні болып табылады. Мысалы, туған жылы атрибутының мәні 01.01.1995 Алжанов Бағдаттың туған жылын, күнін, атын көрсетеді. Мәліметтер базасында тек физикалық объектілер жөнінде мәліметтер емес абстракциялар жалпы болмыс адам өмірінде кездесетін бүкіл процестер жөнінде де мәліметтер сақталады.
Мәліметтер базасының қасиеттері:
- көп рет қолдану. Бір мәліметті бірнеше қолданушылар пайдалана алады;
- мәліметтер жаңару қарапайымдылығы. Минималды шығынмен базаға өзгеріс ендіру;
- мәліметті жылдам іздеу және сұраныс бойынша қажетті ақпарат алу;
- артық мәліметтерді қысқарту қарапайымдылығы;
- мәліметтерді рұқсатсыз өзгертуді шектеу;
- қолданбалы бағдарламардан максималды тәуелсіздік;
- ақпаратты өзгертуді және жоюды шектеу.
Мәліметтер базасына қойылатын талаптар:
- тақырыптық ауданды бейнелеу;
- Мәліметтердің толықтығы;
- ақпараттың моделі динамикалық болу қажет;
- ақпараттың нақты бір уақытта актуалді болуы;
- әртүрлі деңгейдегі қолданушылар әртүрлі режимде байланыса алуы;
- мәліметтер базасында міндетті түрде кездейсоқ өзгеріс ендіруден және құпиялы мәліметтерді көруден сақтандыру шаралары болуы керек;
- Мәліметтер мен бағдарламалар өзара тәуелсіз;
- Мәліметтерді өңдеу технологиясы;
- мәліметтер базасының компоненттері өзара үйлесімді болуы керек;
- ақпаратты өңдеудің эффективтілігін арттыру мақсатында Мәліметтер базасының физикалық және логикалық жағынан түсінікті ұйымдастырылуы керек.
Мәліметтер базасының желілік моделі иерархиялық моделінің кеңейтілген түрі деп те айтуға болады, яғни төменгі деңгейдің кез-келген элементтерімен байланыса алады. Желілік моделдің иерархиялық моделдерден айырмашылығы желілік моделдегі бір жазба бірнеше қатынас түріне қатыса алады.
Мәліметтердің реляциялық моделі. Мәліметтер базасының реляциялық моделін Мәліметтер базасының америкалық маманы Е.Надд ұсынған.
Реляциялық базада ақпарат кесте түрінде бейнеленеді және барлық операциялар кестелер арқылы жүзеге асырылады. Кесте жолдан және бағандардан тұрады және база ішінде айрықша атпен сақталады, [3].
Реляциялық модельдердің ерекшеліктері дегеніміз - абстракциялық және формалды анықтамалар арқылы кез-келген тақырыптық облысты сипаттау мүмкіндігі. Жиындар теориясы және математикалық логикаға негізделген өте күшті математикалық аппарат (1.4 кесте).
Мәліметтер базасының логикалық және физикалық құрылымын анықтау қажетті ақпараттық саланы жобалаудың негізгі кезеңі болып табылады.
1.4 Есептің қойылымы
Клиенттік қосымша құру, клиенттік қосымша туралы негізгі түсініктерді қалыптастыру, клиенттік қосымшаны өңдеу барысындағы қолданылған технологиялар туралы түсініктерді және Oracle Express Edition 11g, PLSQL Developer бағдарламасын пайдаланып қосымша құру.
Қалалық болница орнының құрылым күрделі болып келеді, сондықтан барлық медицина қызметкерлері мен пациенттер туралы ақпараттан тұратын мәліметтер базасын қолдану кез-келген қолданушының жұмысын жеңілдетеді.
Жұмыстың мақсаты медецина қызметкерлеріне арналған база құру және оны пайдалану.
Зерттеудің міндеттері.
oo пәндік аймақты талдау, қолданушыға қажетті функционалдылықты анықтау;
oo клиенттік қосымшаның жалпы архитектурасын өңдеу.
Дипломдық жұмыстың негізгі бөлімдері:
- мәліметтер базасы туралы жалпы түсінік, мәліметтер базасының қасиеттері және оған қойылатын талаптар , Мәліметтердің реляцилық моделі және реляциялық мәліметтер базасын жобалау, мәліметтер базасын басқару жүйесі қарастырылған;
- SQL және PLSQL тілдері, Oracle Express Edition 11g, Oracle Application Server, Oracle Application Express (Apex), PLSQL Developer бағдарламалық қамтамаларының сипаттамалары қаралған;
- жобалау бөлімінде қосымшаның логикалық және физикалық құрылымы көрсетілген.
oo қолданбалы бөлімде клиенттік қосымша және мәліметтер базасы көрсетілген.
2 Программалау ортасын таңдау және негіздеу
2.1 Oracle мәліметтердің объектілі типтері
Осы жұмыстың бағдарламалық жабдығын жасаған кезде, қолданушыға жұмыс жасау үшін түсінікті, әдемі интерфейсі бар бағдарламаны жасауға тырыстым.
Oracle мәліметтердің объектілі типтері
Объектілі типтер МББЖ құралдарымен күрделі мәліметтерді сақтауға және өңдеуге мүмкіндік береді. Кестелердің бағаналарында мәндерді объектілер түрінде сақтауды Oracle фирмасы Oracle 8 версиясынан бастап іске асырды. Кейбір айтарлықтай жетіспеушіліктер (мысалы, типтерді мұрагерлеудің болмауы) 9 версиядан бастап жойылды.
Мәліметтердің программаланатын типтері және МБ объектілері
Программаланатын (объектілі) типтерді қолданудың қарапайым мысалы. Алдымен, МБ сақталатын элементтер түрі ретінде "тип" құру керек. Объект типін құру мысалы (SQL*Plus):
CREATE TYPE address_type AS OBJECT (
zip CHAR ( 6 )
, location VARCHAR2 ( 200 )
)
Мұнда ADDRESS_TYPE типіне екі "қасиет" жазылған (объект терминологиясы бойынша): ZIP және LOCATION. Типті анықтау кестені анықтауды еске түсіреді, бірақ кестеден ерекшелігі (және SQL стандарты мен реляциялық тәсілден) Oracle объект типінде бүтіндікті шектеу құқығы жоқ. Егер олады көрсету керек болса, мұны тек типті қолдану кезінде, демек, кестені сипаттауда жасау керек.
Объектілі тәсілге сәйкес Oracle объектілердің типтерін құруға мүмкіндік береді. Кәдімгі кестеде бағанды анықтау үшін ADDRESS_TYPE типін қолдану мысалы:
CREATE TABLE odept1 (
dname VARCHAR2 ( 20 )
, deptno NUMBER ( 2 ) CONSTRAINT pk_odept1 PRIMARY KEY
, addr address_type
);
CREATE TABLE oemp1 (
ename VARCHAR2 ( 20 )
, empno NUMBER ( 4 ) CONSTRAINT pk_oemp1 PRIMARY KEY
, deptno NUMBER ( 2 ) CONSTRAINT fk_oemp1 REFERENCES dept
, home address_type
);
ADDR және HOME бағандарын "объектілі атрибуттар" деп атауға болады. Олар объектілі мәндерді өзіндік болмыстар ретінде сақтауға және оларға сілтеме жасауға мүмкіндік бермейді.
Амалдарда айқын көрсетілген объектілі мәндер конструктор көмегімен тұжырымдалады. Басқа объектілі жүйелерден ерекшелігі, мысалы, Javа, Oracle конструкторында тип қасиеттеріне сәйкес параметрлер тізімі бар. Мәліметтерді қосу операцияларында қолдану мысалдары:
INSERT INTO odept1
( deptno, dname, addr )
VALUES
( 10, 'RESEARCH', address_type ( '123456', 'Almaty' ) );
INSERT INTO oemp1
( empno, ename, deptno, home )
VALUES
( 1111, 'SMITH', 10, address_type ( '789012', 'Shymkent' ) );
"Тұрғылықты жері бойынша жұмыс істейтін" қызметкерлер туралы сұраныста қолдану мысалы:
SELECT e.ename, d.dname
FROM oemp1 e INNER JOIN odept1 d
ON e.home = d.addr
WHERE e.home address_type ( '345678', 'Astana' )
;
Салыстыру кезек бойынша барлық қасиеттерді элемент бойынша жасалады:
SQL SELECT 'OK' ok FROM dual
2 WHERE address_type ( NULL, 'x' ) IS NOT NULL;
OK
--
OK
SQL SELECT 'OK' ok FROM dual
2 WHERE address_type ( NULL, 'x' ) = address_type ( NULL, 'x' );
no rows selected
Демек, x = x TRUE бермейді, бірақ x IS NOT NULL TRUE береді (x мәні бар).
Амалдарда объектілі мәнге бүтін ретінде қаратпа жасауға болады. екінші жағдайда псевдоним қолдану қажет болады:
COLUMN home FORMAT A35
SELECT e.ename, e.home, e.home.zip FROM oemp1 e
;
Объектілер кестелері
МБ құрылған типті "объектілер кестесін" құрғанда да қолдануға болады:
CREATE TABLE addresses1 OF address_type;
CREATE TABLE addresses2 OF address_type;
Бұл сақталатын элементтер категориясы үшін "кесте" термині қолданылса да, мұндай кестеде әрқашан объектілі типті бір баған болады.
Мұндай кестеге жолды келесідей енгізуге болады:
INSERT INTO addresses1 VALUES ( '123456', 'Almaty' );
Сұраныс мысалы:
SELECT a.*, UPPER ( location ) FROM addresses1 a;
Мұндай кестедегі объектілер өзіндік болмыстар ретінде сақталады және оларда МББЖ мен автоматты түрде жасалатын object ID ішкі бірегей идентификаторы бар. Ол классикалық объектілі тәсілге сәйкес басқа кестелер немесе программалардан белгілі объектілерге сілтеме жасауға мүмкіндік береді. Объектілер кестесінде элементтер-"жолдарды" салыстыру қасиеттердің мәндері бойынша емес, object ID мәні бойынша жасалады. Қасиеттер мәндерін салыстыруға көшуді VALUE функциясы жасайды, мысалы:
SELECT dname FROM odept1 d, addresses1 a WHERE d.addr = VALUE ( a );
ADDRESS1 кестесінен адрестер бойынша орналасқан бөлімдерге сұраныс жасау.
0.2 SQL-дің Oracle-диалекті. SQL тілінің негізгі командалары
SQL (Structured Query Language) -- реляциялқ мәліметтер базаларымен жұмыс ретінде таңдалған тіл болып табылады. Әртүрлі функционалды бағыттағы бірнеше "ішкі тілдерден" тұрады:
oo МБ мәліметтеріне сұраныстар (query language, QL) -- SELECT сөйлемімен кестелерден мәліметтерді таңдау.
oo мәліметтерді манипуляциялау тілі ("мәліметтерді өңдеу"), ММТ; Data Manipulation Language (DML) -- кестелердегі мәліметтерді өзгерту.
oo транзакцияларды басқару тілі -- мысалы, МБ программамен жасалған өзгертулерді тіркеу немесе жою.
oo мәліметтерді анықтау тілі (ЯОД); Data Definition Language (DDL) -- мысалы, сақтау үшін кестелерді немесе басқа да объектілерді құру немесе олардың қасиеттерін өзгерту.
oo мәліметтерді басқару тілдері (ЯУД; data control language, DCL) -- мәліметтерге қол жеткізуге рұқсатты немесе GRANT және REVOKE командаларының көмегімен алынып тастауды басқару.
Екінші түрі -- орнатылған SQL -- SQL ді МБ программалау тіліне айналуды білдіреді. Қазіргі кезде ол осы сапада қолданылады. Мұндай өзгерулер басқа да ақпараттық технологиялардың өнімдерінде байқалады , мысалы, Java.
SQL-дің бірінші версиясы 1973 жылы IBM фирмасымен Sequel атауымен пайда болды.
Oracle фирмасы МБ жұмыс істеу үшін екі инструмент ұсынады: SQL*Plus және SQL Developer.
SQL*Plus -- МБ мен қолданушының SQL және PLSQL тілінде мәтіндерін қолдану арқылы сұраныс жасап, экранда МББЖ дан алынған нәтижені көрсету 2.1- суретте көрсетілген
Қолданушы
Қосымша
SQL сөйлемі
Нәтиже
SQL-машина
Мәліметтер базасы
2.1-сурет - МББЖ дан алынған нәтиже.
SQL*Plus келесідей жүктеледі:
- ОЖ менюі арқылы (Windows);
- команалық жолдан (барлық ОЖ де).
Командалық жолдан жіберу мысалы 2.2- суретте көрсетілген
2.2-сурет - Командалық жолдан жіберу.
SQL-ді стандарттауға байланысты ол кеңінен таралған. Теория жүзінде қолданбалы программалардың МББЖ типінен тәуелсіздігі болып табылады. Практика жүзінде МББЖ ны ң әрбір жасаушысы, соның ішінде Oracle фирмасы, оның стандартты іске асырылуы емес, SQL-дің өзіндік диалектін ұсынады. Диалекттің пайда болуына SQL стандарттарында кейбір қасиеттер үшін бір мағыналы сөйлемдердің болмауы әсер етеді, мысалы,:
- тәуліктің күні мен уақытын беру,
- жасанды кілттер үшін мәндерді жасау,
- кейбір мәліметтер типтерінің семантикасы.
Oracle МББЖ да SQL диалекті
Бірінші версияның Oracle МББЖ 1978 пайда болды және RSX ОЖ-мен PDP-11 үшін ассемблер тілінде жазылған. Oracle-дың 2 версиясы 1979 жылы пайда болды және SQL қолданып бірінші коммериялық реляциялық МББЖ болды, ал 3 версиясында оның ядросы С тілінде қайта жазылды. 8 версиясынан бастап Oracle фирмасы МББЖ ны "объектілі-реляциялық" деп атады. Негізінде бұл өзінің SQL диалектін қолданатын SQL-бағытталған МББЖ болды.
Oracle фирмасының SQL диалектін келесі жақтарынан бағалаған орынды:
- реляциялық теория,
- стандартты SQL,
- жасаушы-фирма.
SQL Oracle диалектінің кейбір өзіндік қасиеттері:
- мәліметтер типтері;
- SQL қосыша конструкциялары.
SQL стандарты реляциялық модель әсерімен құрылған өндірістік стандарт болып табылады. Барлық өндірушілердің SQL стандарты және диалекттері ір біріне әсер етпей және бір бірін қайталамай өз бетінше қолданылады.
Командаларды жазу:
- SQL командалары символдар регистрлерін ерекшелемейді
- SQL командалары бір немесе бірнеше жолдан тұруы мүмкін
- кілттік сөздеді қысқартуға және екі жолға орналастыруға болмайды
- сөйлемдер әдетте бөлек жолдарда жазылады
- оқуға жеңіл болуы үшін табуляциялар мен бос жерлер қолданылады
SELECT *{[DISTINCT] бағанамал [псевдоним],...}
FROM кесте;
Арифметикалық операторларды қолдану.
Оператордардың приоритеттері
- көбейту мен бөлудің қосу мен алуға қарағанда приоритеттері үлкенч
- бір приоритетті операторлар солдан оңға қарай орындалады
- операторларды белгілі бір тәртіпте орындау мен оларды оқуды ықшамдау үшін жақшалар қолданылады.
Анықталмаған мән
- анықталмаған мән (NULL) - бұл, қол жетімсіз, меншіктелмеген, белгісіз немесе қолданылмайтын мән.
- бұл нөл және бос орын емес.
Конкатенация операторы
- бағандарды немесе символдық жолдарды басқа бағандармен біріктіреді.
- екі вертикаль () сызықпен бейнеледі.
- символдық амал болып табылатын нәтижемен бағанды құрады.
Мысалы
SELECT last_namejob_id AS "Employees"
FROM employees;
Символдар жолы - литерал
- литерал - бұл,SELECT тізімге қосылған символ, сан немесе дата.
- даталар және символды литералдар апострофқа алынуы керек.
- әрбір символдық жол кестенің әрбір жолымен қайтарылатын бір рет шығарылады.
Мысалы:
SELECT last_name ' is a 'job_id
AS "Employee Details"
FROM employees;
Қайталанатын жолдарды жою
Қайталанулар SELECT командасында DISTINCT кілттік сөзімен жойылады.
SELECT DISTINCT department_id
FROM employees;
SQL және iSQL*Plus әсерлесуі келесі 2.3- суретте көрсетілген:
Интернет-браузер
Сұрау
нәтижесі
Қалыптастырылған есеп
Сұрау нәтижесі
Команды iSQL *Plus
iSQL *Plus
Команды SQL
Клиент
Сервер
Oracle
2.3-сурет - SQL және iSQL*Plus әсерлесуі.
2.1-кесте - SQL және iSQL*Plus салыстыру.
SQL
iSQL*Plus
Тіл
Орта
ANSI стандарты
Oracle жасау
Кілттік сөздерді қысқартуға болмайды
Кілттік сөздерді қысқартуға болады
Командалар мәліметтермен және МБ кестелердің анықтамаларымен манипуляциялайды
Командалар МБ мәліметтерді манипуляциялауға мүмкіндік бермейді
Браузерде орындалады
Орталық түрде жүктеледі, әрбір машинада орналаспауы керек
2.3 Мәліметтер базасы
Мәліметтер базасы (database) - бұл белгілі бір құрылымды ретпен орналасқан ақпарат жинақталған файл немесе файлдар жиыны. Осы ақпараттарды, яғни мәліметтерді басқару үшін мәліметтерді басқару бағдарламалары қолданылады. Қазіргі таңда олардың сан алуан түрлерін кездестіруге болады. Мысалға кеңінен қолданылып келе жатқан мәліметтер базасымен жұмыс жасайтын Microsoft Access бағдарламасын атап айтуға болады. Мәліметтер базасы жинақталған ақпаратты құру құрылымына қарай бірнеше түрге бөлінеді. Соның ішінде өте кең таралғаны реляционды мәліметтер базасы.
Реляционды мәліметтер базасы - ол бір-бірімен байланысқан кестелер түріндегі құрылымы бар мәліметтер жиынтығы. Бұл әр түрлі тізімдер, журналдар, каталогтар, бухгалтерлік кітаптар, анықтамалықтар және де т.б. кестелер болуы мүмкін. Реляционды мәліметтер базасы ақпараттың дұрыстығы мен бүтіндігін қатаң тәртіппен қадағалайды. Сонымен қатар бұл МБ келісілген бағдарламада тез өңделеді. Реляционды МБ-на мысалы: Microsoft Access, Corel Paradox, Borland dBase, Microsoft FoxPro жатады. Осы аталғандардың барлығы қарапайым қолданушыларға арналған. Олар өздері қолданушының компьютерінің қатты дискісіне немесе файл сервердің дискісіне өздері сақтап, тікелей қолдана береді.
Ал, енді үлкен көлемдегі ақпараттармен жұмыс жасау үшін осы ақпаратқа көптеген қолданушылар қосыла алатын күшті бағдарламаларды атап айтсақ: BorlandInterBase, MySQL, FireBird, Microsoft SQL Server, Informix, Sybase, Oracle.
Осы аталған МБ-да жұмыс жасайтын бағдарламалардың әр қайсысының өзіне тән форматы бар. Әр МББЖ( мәліметтер базасын басқару жүйесі ) ақпаратты тек өзінің форматында сақтайды. Осылардан өзімізге керегін, осы дипломдық жобада қолданылып отырған SQL(Structured Query Language, сұраныс жасауға арналған құрамды тіл) тілін қарастырайық. Бұл сұраныс тілі барлық бағдарламалармен жұмыс жасай алады. Сонымен қатар МБ-ғы ақпараттармен сенімді, тез, қарапайым жұмыс жасайды. Осы тіл арқылы клиент серверге сұраныс жіберіп өзіне жауабын ала алады.SQL тілінде сұраныс жасау арқылы ақпарат қосуға, жоюға және өзгертуге болады.
Мәліметтер базасын басқару жүйесі (МББЖ) - мәліметтер базасын ұйымдастыру мен жүргізуге арналған арнайы программа (көбіне программалар комплексі). Программаны алгоритмдік тілде жасау үшін транслятор қалай керек болса, ақпараттық жүйені жасау және басқару үшін МББЖ да сондай маңызды.
Көптеген мекемелер өздерінің жұмыс процестерін қолдау үшін электронды мәліметтер базасын қолданады. Көбіне бұл 1-2 қолданушыға арналған dbf-бағытталған дамыту қолданбаларының көмегімен жасалған жүйелер: MySQL, Clipper, Dbase, Oracle, FoxPro, Paradox, Access. Әдетте осындай өзара тәуелсіз базалар қатары қолданылады. Егер мәліметтер базасындағы ақпарат тек қолданушыға емес, басқа да тұлғаларға қызықты болса, онда ақпараттың ары қарай таралуына мәліметтер базасы жасаған қағаз есептер мен анықтамалар қолданылады.
Локальды желілердің пайда болуының, сондай торлардың Интернетке қосылуының, корпоротивті аралық желілердің жасалуының арқасында кез келген жұмыс орнынан желінің ақпараттық қорына қол еткізу мүмкін болып отыр. Бірақ, жұмыс атқаратын мәліметтер базасын қолданар кезде жұмыс орнының біртектілігін талап ететін (туған интерфейсті қосу кезінде), желідегі үлкен траффикпен байланысты, файлдық серверді жүктеу мен аралықтан жұмыс істеудің мүмкін еместігі сияқты проблемалар туындауы мүмкін (мысалы, коммандировкадағы жұмысшылар). Бұл қолайсыздықтардың шешімі ретінде бір жүйеге келтірілген WWW интерфейсін мекеме ресурстарына қол жеткізуде қолдануды айтуға болады. МББЖ-ның негізгі функциялары:
- сыртқы жадыдағы (дискілерде);
- сперативті жадыдағы мәліметтерді дискілік кэшті қолдану арқылы басқару;
- өзгерістерді тіркеу, резервті көшіру және қате жұмыстан кейін мәліметтер базасын қайта қалпына келтіру;
- МБ тілдерін қолдау (мәліметтерді табу тілі, мәліметтерді басқару тілі).
МБ-на қол жеткізу әдісі бойынша:
Файл-серверлік:
Файл-серверлік МББЖ мәліметтер файлы орталықтандырылып файл-серверде орналасады. МББЖ әр клиенттік компьютерде орналасады. МББЖ-ның мәліметтерге қол жетізуі локальді желі арқылы жүзеге асады. Оқылу және жаңарту синхронизациясы файлдық блоктандыру арқылы жүзеге асады. Бұл архитектураның артықшылығы деп сервердің орталық портына түсетін аз жүктемені айтамыз. Кемшіліктері: локальді желінің потенциалды жоғары жүктемесі; жоғары сенімділік, қол жетімділік және қауіпсіздік сияқты маңызды сипаттардың орындалуының қиындығы. Көбіне мәліметтер базасын басқару функциялары қолданылатын локальді қосымшаларда пайдаға асады. Қазіргі кезде файл-серверлік МББЖ ескірген болып есептеледі. Мысалдар: Microsoft Access, Paradox, dBase, FoxPro, Visual FoxPro.
Клиент-серверлік:
Клиент-серверлік МББЖ серверде мәліметтер базасымен бірге орналасады және МБ-на монопольді режимде қол жеткізіледі. Барлық мәліметтерді өңдеуге байланысты лиенттік сұраныстар клиент-серверлік МББЖ-да орталықтандырылып өңделеді. Клиент-серверлік МББЖ-ның кемшілігі серверге дегер жоғары талап болып табылады. Артықшылықтары: потенциальді локальді желінің біршама төмен жүктемесі; орталықтандырылған басқарудың ыңғайлылығы; жоғары сенімділік, қол жетімділік және қауіпсіздік сияқты маңызды сипаттардың орындалуының ыңғайлылығы. Мысалдар: Oracle, Firebird, Interbase, IBM DB2, MS SQL Server, Sybase, PostgreSQL, MySQL, ЛИНТЕР, Caché, MDBS.
Орнатылатын:
Орнатылатын МББЖ - локальді машинада бір жүйеге келтірілген түрде мәліметтердің үлкен қорын сақтауға мүмкіндік беретін кітапхана. Мәліметтерге SQL арқылы немесе МББЖ-ның кез келген айрықша функциясы арқылы қол жеткізуге болады. Орнатылатын МББЖ қарапайым клиент-серверліктен жылдамырақ және сервердің орнатылуын талап етпейді, сондықтан үлкен мәліметтер қорымен айналысатын локальді программалық жабдықтамада сұранысқа ие (мысалы, геоинформациялық жүйелер). Мысалдар: OpenEdge, SQLite, BerkeleyDB, Firebird-тің бір түрлері, MySQL, Sav Zigzag, Microsoft SQL Server Compact, ЛИНТЕР.
MySQL. SQL - Structured Query Language - дің қысқартылуы (сұраныстардың құрылымдық тілі). SQL реляционды мәліметтер базасымен жұмыс істеу үшін жасалған. Ол қолданушыға мәліметтер базасымен жұмыс істеуге (қарау, іздеу, қосуға және ақпаратты басқаруға) мүмкіндік береді. MySQL ANSI 92 SQL спецификасына сәйкес келеді.
MySQL - интернеттегі ең кең таралған және ең атақты ақпарат базасын басқару жүйесі. Ол үлкен көлемді ақпаратпен жұмыс істеуге арналмаған, бірақ үлкен, кіші интернет сайттар үшін өте ыңғайлы жүйе.
MySQL үлкен және орташа қосымшалармен жұмыс істеуге өте ыңғайлы. Сервердің негіздері көптеген платформаларда компиляция жасайды. Сервердің толығырақ мүмкіндіктері өнімділікті арттыратын көпағымдылықтың қолдауы бар Unix-серверлерде байқалады.
РНР мен қарым - қатынасы.
MySQL жұмыстың жоғары жылдамдылығымен, сенімділігімен, ыңғайлылығымен ерекшеленіледі. Онымен жұмыс істеу үлкен қиындықтар тудырмайды. MySQL сервердің қолдауы РНР жеткізілуіне автоматты түрде қосылады. Тегінділігі де үлкен роль атқарады. MySQL ортақ GNU (GPL, GNU Public License) лицензиясы негізінде таратылады. Бұрын ақпаратты ұзақ уақыт сақтау үшін файлдармен жұмыс істелетін: бірнеше жолдар санына енгізіп, келесі жұмыстар үшін алынатын. Ақпаратты ұзақ уақытқа сақтау мәселесі Web - қосымшаларын программалауда жиі кездеседі: қолданушыларды санау, хабарламаларды форумда сақтау, сайттағы ақпаратты арақашықтықтан басқару т.б.
Файлдармен маманданған түрде жұмыс істеу үлкен еңбекті талап етеді, оларға ақпаратты енгізуді, олардың сортталуын, алынуын қадағалау керек, сонымен қатар бұл істердің бәрі Unix нұсқасынының бірі тұратын хост - провайдердің серверінде жүзеге асатынын ұмытпау керек, яғни файл құқығы мен оларды орналастыруды да ойластыру керек. Сонымен қатар код көлемі елеулі түрде өседі және бағдарламада қате жіберу өте оңай. Осы мәселелердің барлығын мәліметтер базасын қолдану шешеді. Мәліметтер базасы ақпараттың қауіпсіздігі мен сортталуын өздері қадағалайды және ақпаратты алу мен орнатуды бір жолдың көмегімен жүзеге асыруға мүмкіндік береді. Мәліметтер базасын қолданумен код жинақы болып шығады, және оны әлдеқайда жеңілірек жөндейді. Сонымен қатар, жылдамдықты да ұмытпау керек - ақпаратты мәліметтер базасынан алған файлдан алғанға қарағанда әлдеқайда тезірек жүзеге асады. MySQL мәліметтер базасының ақпаратын сақтауда қолданылатын РНР - ге қосымша файлдарда салынған қосымшаларға қарағанда әрқашан тезірек істейді. Өйткені мәліметтер базасы С++ тілінде жазылған және қатқыл дискте мәліметтер базасына қарағанда нәтижелі жұмыс істейтін PHP бағдарламасына жазу - шешілмейтін мәселе, өйткені РНР бағдарламалары С++ бағдарламаларынан баяуырақ жұмыс істейді, себебі РНР - интерпретатор, ал С++ - компилятор.
Осылайша, мәліметтер базасының басты артықшылығы қатты дискпен жұмыстың бәрін өз мойнына алады және өте жоғары деңгейде жүзеге асырады. MySQL мүмкіншіліктерінің қысқаша тізімі:
oo бір уақытта мәліметтер базасымен жұмыс істейтін тұтынушылардың шексіз санына қызмет көрсетіледі.
oo кестедегі жолдар саны 50 млн. дейін жетуі мүмкін.
oo бұйрықтардың тез орындалуы. MySQL серверлердің ішіндегі ең жылдамы болуы да мүмкін.
oo қауіпсіздіктің қарапайым және нәтижелі жүйесі.
MySQL негізінде өте жылдам сервер, бірақ бұған жету үшін өңдеушілер МББЖ - нің реляциалы талаптарынан бас тартуына тура келді. MySQL - де:
oo SELECT * FROM table1 WHERE id IN (SELECT id FROM table2) секілді енгізілген сұраныстар жұмыс істемейді. Мұндай мүмкіндік 3.23 версиясында болады деп айтылуда.
oo транзакцияны қолдау жүзеге аспаған. Орнына LOCKUNLOCK TABLE қолдану ұсынылады.
oo сыртқы(foreign) кілттер жұмыс істемейді.
oo триггер және сақталатын үрдістер істемейді.
oo көрсетілім (VIEW) жұмыс істемейді. 3.23 версиясында көрсетілім мүмкіндігі іске асады деп жоспарлануда.
Құрастырушылар сөзі бойынша дәл 2-4 пунктер жоғары жылдамдыққа қол жеткізуге мүмкіндік берді. Оларды жүзеге асыру сервердің жылдамдылығын елеулі түрде төмендетеді. Бұл мүмкіндіктер Web - қосымшаларды жасағанда қиын емес және осыған орай жылдамдық пен бағасының арзандығына байланысты серверге үлкен танымалдылық әкелді. Төменде MySQL бағдарламалық қамтаманың маңызды сипаттамалары көрсетілген:
Ішкі сипаттамалар және тасымалдануы:
oo С және С++ - те жазылған. Көптеген түрлі компиляторларда тестіленген.
oo түрлі платформаларда жұмыс істейді.
Тасымалдануды қамтамасыз етуде GNU Automake, Autoconf и Libtool қолданылады.
oo C, C++, Eiffel, Java, Perl, PHP, Python, Ruby және Tcl - ге арналған API.
oo ядро ағымын пайдалана отырып толығымен, көпағымды. Бұл дегеніміз, мұндай мүмкіншілік қамтамасыз етілсе бірнеше процессормен жұмысты оңай ұйымдастыруға болады.
oo В - бұтақ негізінде индексті сығумен өте тез дисктік кестелер;
oo көлемді тарату жүйесінің ағымындағы өте тез негіздеуші;
oo біржолды мультибайланыстардың (one-sweep multi-join) оптималды әдісін қолданатын өте тез байланыс.
oo уақытша кестелер ретінде қолданылатын көлемдегі хеш - кестелер;
oo жақсы оптимизацияланған класс кітапханалары көмегімен жүзеге асқан SQL - функциялар. Сондықтан олар мүмкіншілігінше тез жұмыс істейді. Әдетте сұранысты инициализациялағаннан кейі көлемді тарату мүлдем жасалынбайды;
oo MySQL - код Purify, Valgrind және GPL - құралдарының бірін қолдану арқылы тестілеуден өткен.
Бағана түрлері:
oo үлкен сан: белгіменбелгісіз бүтінсандық, ұзындығы 1,2,3,4 және 8 байт.
oo бекітілген және айнымалы ұзындықты жазбалармен.
oo барлық бағаналардың үндеместен мағынасы бар.INSERT көмегімен кестенің көп бағаналарын қоюға болады; мағына берілмеген бағаналарға мағыналар үндеместен беріледі.
oo операторлам мен SELECT- и WHERE-ді сауал жөнінде толық қолдау көрсету.
oo SQL GROUP BY және ORDER BY операторларына толық қолдау көрсету.
oo LEFT OUTER JOIN және RIGHT OUTER JOIN -ді ANSI SQL және ODBC синтаксисімен.
oo SQL92 стандартына сәйкес кестелер мен бағаналарға жалған аттар рұқсат ... жалғасы
Ұқсас жұмыстар
Пәндер
- Іс жүргізу
- Автоматтандыру, Техника
- Алғашқы әскери дайындық
- Астрономия
- Ауыл шаруашылығы
- Банк ісі
- Бизнесті бағалау
- Биология
- Бухгалтерлік іс
- Валеология
- Ветеринария
- География
- Геология, Геофизика, Геодезия
- Дін
- Ет, сүт, шарап өнімдері
- Жалпы тарих
- Жер кадастрі, Жылжымайтын мүлік
- Журналистика
- Информатика
- Кеден ісі
- Маркетинг
- Математика, Геометрия
- Медицина
- Мемлекеттік басқару
- Менеджмент
- Мұнай, Газ
- Мұрағат ісі
- Мәдениеттану
- ОБЖ (Основы безопасности жизнедеятельности)
- Педагогика
- Полиграфия
- Психология
- Салық
- Саясаттану
- Сақтандыру
- Сертификаттау, стандарттау
- Социология, Демография
- Спорт
- Статистика
- Тілтану, Филология
- Тарихи тұлғалар
- Тау-кен ісі
- Транспорт
- Туризм
- Физика
- Философия
- Халықаралық қатынастар
- Химия
- Экология, Қоршаған ортаны қорғау
- Экономика
- Экономикалық география
- Электротехника
- Қазақстан тарихы
- Қаржы
- Құрылыс
- Құқық, Криминалистика
- Әдебиет
- Өнер, музыка
- Өнеркәсіп, Өндіріс
Қазақ тілінде жазылған рефераттар, курстық жұмыстар, дипломдық жұмыстар бойынша біздің қор #1 болып табылады.
Ақпарат
Қосымша
Email: info@stud.kz