Кіріспе
ДҚ ол файлдардың жиынтығы:
кестелердің, индекстері және триггерлері
, кестелер аралық байланысты бейнелейді
.
Деректер қоры :
- ДҚ кестесі ,
- индекстер,
- ескертулер ( мемо - алаң ) және т . б . құралады.
Бір кестені анықтау
үшін жеке файл құрылады . Сондай бөлек
файлдар кестелер индексін және
мемо-алаңын сақтауы үшін қолданылады.
Бұл файлдар бір жерде және
бірге сақталуы керек, олай болмаса,
ДҚБЖ дұрыс жұмыс істемеуі мүмкін,
сондықтан БҚ-ның барлық компаненттерін
бірге сақтау керек.
Деректер базасын біз деректердің
ұйымдастырылуы ретінде білеміз
және ол үшін арнайы программалық тілдік
құралдар пайдаланылады (деректер базасын
басқару жүйесі), сонымен қатар
ол ақпараттық жүйелерді ұйымдастырудың
спецификалық әдістерінен тұрады.
Осы курстық жобаны жасау
барысында реляциялық ДҚБЖ құралдары
көмегімен жасалды және қолданушы
интерфейсі өңделді, программалар, әдістер
және құрастырудың, жөндеудің және
ЭЕМ программаларының орындалуының
теорияық және тәжірибелік технологиялары
игерілді.
Курстық жобаны жасаудағы
мақсаты – реляциялық деректер базасын
индивидуалды тапсырмаларға сәйкес
құру және оны іске асыруды реляциялық
ДҚБЖ құралдары көмегімен жасау.
Курстық жоба тапсырмасы –
әр түрлі практикалық тапсырмаларды
шешудің алгоритмдерін өңдеуді
құрып үйрену, қолданушы интерфейсін
(мәзір, формалар, стильдер, т.б.) жасау,
енгізу процедураларын, енгізілетін
мәліметтерді коррекциялау,қарап шығуды,
деректерді өңдеу мен талдау процедураларын,
сұраныстар жасау, нәтижелерін мониторға
немесе принтерге шығарып бере алу
қабілетіне ие есеп берулерді ұйымдастыру.
I – бөлім MySQL
тарихы, қолданылуы
MySQL – дүние жүзінде ең көп қолданылатын,
қайнары тегін және ашық, реляцияланған
мәліметтер қоры жүйесі (RDBMS). Серверлік
бағдарлама ретінде, бірнеше қолданушыларға
бірнеше мәліметтер қорын қолдануды қамтамасыз
етеді. MySQL сөзіндегі "My" сөзі, бағдарлама
жасаушысы Майкл Видньюс-тың (Michael Widenius)
қызының аты - "My" сөзінен алынған.
Ал SQL фразасы - Құрылымдасқан Тапсырыс
Тілі (Structured Query Language) дегенді білдіреді.
MySQL, проект қайнарын GNU General
Public License (GPL) және әр түрлі жеке
меншік лицензияларында шығарды.
MySQL-ды кезінде MySQL AP атты Шведттық
фирма демеу еткен, ал қазір
оны толығымен Oracle корпорациясы
сатып алды. Толық функционалды
мәліметтер қорын қажет ететін, қайнары
тегін проекттер жиі MySQL-ды қолданады.
Серверді коммерциялық проекттерде қолдану
үшін, қосымша функциялармен ұсынылатын
бірнеше нұсқалары бар. MySQL-ді қолданатын
бағдарламаларға TYPO3, Joomla, WordPress, phpBB, MyBB,
Drupal және де басқа LAMP бағдарламаларын
жатқызуға болады. MySQL сонымен қатар Google,
Wikipedia, Facebook және Twitter сияқты дүниежүзілік
және кең ауқымды web-бағдарламаларында
қолданылады.
Қолданылуы. Веб-бағдарламаларында MySQL
кең қолданылады және кең тараған LAMP бағдарламаларының
ішінде басты компонент рөлін атқарады.
LAMP сөзі - "Linux, Apache, MySQL, Perl/PHP/Python" сөйлемінің
акронимі.
MySQL - қайнары тегін бағдарламалар
мен Интернеттегі танымал Flickr,
Nokia.com, YouTube, Wikipedia, Google, Facebook және Twitter сайттарында
қолданылады. MySQL - C және C++ тілдерінде,
ал SQL парсері және sql_lex.cc деп аталатын
лекксикалық анализаторы yacc тілінде жасалған.
MySQL көптеген жүйелер платформаларында
жұмыс істейді. Оларға кіретіндер: AIX, BSDi,
FreeBSD, HP-UX, eComStation, i5/OS, IRIX, Linux, Mac OS X, Microsoft
Windows, NetBSD, Novell NetWare, OpenBSD, OpenSolaris, OS/2 Warp, QNX,
Solaris, Symbian, SunOS, SCO OpenServer, SCO UnixWare, Sanos және
Tru64. Сонымен қатар OpenVMS жүйесіне портталған
түрі бар. Мәліметтер қорымен жұмыс істеу
үшін, көптеген бағдарламалау тілдеріне
кітапханалар жасалынған. Мысалы, C# және
VB.NET үшін MySQL Connector/Net, ал Java үшін JDBC драйвері.
Бұнымен қатар ODBC интерфейсін қолдайтын
ASP және ColdFusion сияқты тілдер үшін MyODBC кітапханалары
бар. Ал URL арқылы кез-келген web-клиенттің
MySQL серверімен араласуға мүмкіндік беретін
HTSQL технологиясы, MySQL-серверімен бірге
келеді. MySQL көбінесе реляциялық мәліметтер
қоры ретінде қолданылатындықтан ол, жүйені
және ондағы мәліметтерді басқаруға арналған
клиенттік бағдарламамен келмейді.
MySQL бірнеше командалық
жолмен орындалатын құралдармен
келеді. Олар мәліметтерге тапсырыс,
мәліметтерді мұрағаттау, сервер
статусын қадағалау, мәліметтер
қорын жасау және т.б. Сонымен
қатар командалық жолмен орындалатын
басқалар жасаған бағдарламалар да бар.
Мысалы, Perl-да жасалған Maatkit бағдарламасы.
MySQL серверін қайнардың өзінен жинап орнатуға
болады. Бірақ бұл біршама уақыт қажет
ететін және жалықтыратын процесс. Бұл
операция көбінесе егер сізге ерекше конфигурацияда
сервер қажет болса ғана істеледі. Linux
операциялық жүйесінің бағдарлама пакеттерін
басқаруға арналған жүйесі бұндай жұмыстарды
минималды қимылмен орындатқызады. Дей
тұрғанмен, әдетте орнатудан кейін қауіпсіздік
және оңтайландыруға байланысты конфигурациялық
жұмыстар жасау керек болады.
MySQL нарықтағы ірі және
ақылы мәліметтер қорларына балама
ретінде жасалса да, кең ауқымды
мәліметтерге байланысты талаптарды
орындай алады. Ол көбінесе
кіші және орта көлемді бір-серверлік
LAMP-негізінде жасалған бағдарламаларға
компонент ретінде немесе жеке
сервер ретінде қолданылады. MySQL-ге
деген тартымдылық - оны қолдану
оңайлығында. Мүны phpMyAdmin сияқты қайнары
ашық және тегін бағдарламалардан
көруге болады. Орта бағамен есептегенде,
MySQL-ді бірнеше гигабайт жадты
және бірнеше процессорлы қуатты
аппараттық құрылғыларда ауқымды
етіп қолдану әбден мүмкін. Бірақ
та жалғыз серверлік ауқымдатуда
қуаттылық жағынан шектеулер
бар, сондықтан кеңірек ауқымдатуда,
жоғары өнімділік пен сенімделікті
қамтамасыздандыру үшін мульти-серверлік
MySQL орнатулары қажет. Әдеттегі
жоғарғы класстағы конфигурация
жазу операцияларын орындайтын
қуатты "master", "master"-дегі мәліметтердің
көшірмесін сақтайтын және оқу
операцияларын орындайтын бірнеше
"slave" серверлерден тұрады.
"Master" сервері әрдайым "slave"
серверлерімен синхронда болады,
сондықтан кездейсоқ бір уақытта
"master" өшіп қалса, бір "slave"
жүйе жаңа "master"-ге автоматты
түрде көшеді. Cөйтіп жұмыссыз
уақыт көлемі кішірейтіледі. Өнімділікті
ары қарай жақсарту үшін, мәліметтер
қорынан алынған нәтижелерді
memcached деп аталатын бағдарламаны
қолдану арқылы жадта сақтауға
ұсынылады немесе мәліметтер
қорын "shard" деп аталатын
бірнеше бөліктерге бөліп оны
бөлісілген сервер класстерлеріне
жаюға болады. Жүктеуге арналған
екінші опция ол MySQL серверін Amazon EC2 сияқты
cloud-платформаларында орнату. Cloud-та MySQL
үшін орнатудың 2 түрі бар:
- Virtual Machine Image - cloud-ты қолданатын қолданушылар, MySQL сервері орнатылған өздерінің компьютерлерінің файл ретіндегі көшірмесін жүктеу арқылы немесе дайын және оңтайландырылған MySQL сервері бар Amazon EC2 сияқты қызметтер қамтамасыздандырған көшірмені қолдана алады.
- MySQL as a Service - кейбір "cloud" платформалары MySQL мәліметтер қорын "қызмет" ретінде ұсынады. Бұл ретте бағдарламашыларға MySQL мәліметтер қорын өздеріне орнатудың және оны қолдаудың қажеті жоқ. Оның орнына қызметті қамтамасыздандырушы жауапкершілікті және оны қолдауды өзіне алады, ал сол қызметті қолданатын бағдарламашылар соның қолданған бөлігіне ғана төлейді. Екі айқын байқалатын cloud-негізіндегі MySQL қызметтері - Amazon Relational Database Service және Xeround Cloud Database. Соңғысы Amazon EC2, Rackspace және Heroku қызметтерінде істейді.
Үшінші опция, қолданушылардың
қатысуымен басқарылатын MySQL. Бұл жерде
MySQL серверін қызмет қамтамасыздандырушысы
ұстаса да, оны басқару бағдарламашының
қатысуымен өтіп отырады. 2011 жылдан бастап,
көптеген ірі cloud қызметін қамтамасыздандырушылардың
ішінен тек Rackspace ғана осы опцияны
ұсынады.
MySQL, кебір SQL стандарттарын
толық қолдамайды. Мысалы, стандартты
SQL синтаксын, мәліметтер шектеулері,
сыртқы кілттерге сілтемелерді
тексеру және де басқа бизнесс
логикадағы тұрақтылықты сақтауға
арналған функциялары, қатаң тексерулерді
орындамайды. Триггерлер болса
бір тапсырыста бір рет ғана
орындалады, яғни бір кестеге
орындалған енгізу операциясының
алдында немесе одан кейін
бір-ақ рет бір триггерді орындауға
болады. Көріністерге болса триггер
орындауға болмайды.
MySQL жасалу кезеңдері келесілерден
тұрады:
- Майкл Видньюс (Michael Widenius) және Дэвид Аксмарк (David Axmark) 1994 жылы ең бірінші нұсқасын жасады
- Бірінші ішкі шығарылым 23 мамыр 1995 жылы шықты
- 1998 жылдың 8 қаңтарында Windows 95 және NT арналған нұсқасы шығарылды
- 3.19 нұсқа: www.tcx.se сайтында 1996 жылдың аяғында шықты
- 3.20 нұсқа: 1997 жылы, қаңтарында
- 3.21 нұсқа: www.mysql.com сайтында 1998 жылы шықты
- 3.22 нұсқа: 1998 жылы alpha және beta нұсқалары шықты
- 3.23 нұсқа: 2000 жылы beta, ал 2001 жылы қаңтарда шығарылымға жіберілді
- 4.0 нұсқа: 2002 жылы тамызда бета, ал 2003 наурызда толық шығарылымға шықты
- 4.01 нұсқа: 2003 жылы тамызда бета нұсқасы шықты
- 4.1 нұсқа: 2004 жылы маусымда бета нұсқасы, 2004 жылы қарашада толық шығарылымға шықты(R-tree және B-tree алгоритмдері, құрама тапсырыстар, дайындалған тапсырыстар)
- 5.0 нұсқа: 2005 жылдың наурызынан бастап бета нұсқасы, 2005 жылы қазанда толық шығарылымы (курсорлар, сақталған процедуралар, триггерлер, көріністер, XA транзакциялары)
Біріктірілген Сақтау Қозғалтқышын
(Federated Storage Engine) жасаған бағдарламашы:
"Біріктірілген Сақтау Қозғалтқышы
- сынауға жасалған қозғалтқыш" деген,
бірақ ол MySQL 5.0 нұсқасының басты таратылымдарына
енгізіліп, стандартты опция ретінде қосылды.
Бұл туралы біраз мағлұматтар "MySQL Federated
Tables: The Missing Manual" құжаттамасында жазылған.
MySQL Server 6.0.11-alpha нұсқасы, 6.0 нұсқаларының
ішіндегі соңғысы болып 2009 жылы
22 маусымда шықты.Келесі MySQL Server жасалымдары
қолданысқа шығарудың жаңа моделін
қолданып, жаңа енгізілімдерді келесі
шығарылымдарға кіргізеді.
2011 жылы болған MySQL қолданушылар
конференциясында, MySQL 5.6 нұсқасының
аралық шығарылымы жарияланды. Енгізілген
жаңа функциялар мен ерекшеліктерге
жақсартылған өңдеу өнімділігі,
тапсырыстарды оңтайландырғыш, InnoDB-да
транзакция жылдамдығының арттырылуы,
NoSQL-стиліндегі жаңа memcached API-лары, өте
үлкен кестелерге тапсырыс беруге
арналған партицияларға жақсартулар,
PERFORMANCE_SCHEMA мәліметтерін қолдану
арқылы репликация жасау және
жүйе өнімділігін бақылау жақсартуларын
кіргізуге болады. Шілдеде, келесі
нұсқасы BINLOG API, топтық транзакциялық
жазулар және InnoDB толық текстік
іздеу функцияларымен шықты. MySQL
server және клиент кітапханалары
екі жақтық лицензияны қолданады.
Олар 28 маусым 2000 жылдан бастап GPL лицензиясы
(Oracle кейін оны FLOSS лицензиясынсыз
етіп өзгертті) және ақылы лицензия
негізінде шықты. Ең біріншіден,
қолдауды http://dev.mysql.com/doc/refman/5.5/en/index.html сілтемесіндегі ресми нұсқаудан
алуға болады. Қосымша, тегін қолдауларды
әр түрлі IRC каналдарынан және форумдардан
алуға болады. Сонымен қатар Oracle, өздерінің
MySQL Enterprise өнімдері арқылы, ақылы қолдау
көрсетеді. Олар қызметтері және бағаларымен
ерекшеленеді.
2005 жылы қазанда, InnoDB қозғалтқышын
шығаратын Финдік компания Innobase
OY-ды сатып алды. Сатып алынғаннан
кейін, Oracle корпорациясы MySQL AB бағдарламаларына
қатысты келісім-шарттар 2006-жылы
жаңартылуы немесе қайта қаралуы
мүмкін деп жариялады. 2006 жылы
болған MySQL қолданушылары конференциясында,
MySQL өз баспасөз хабарламасында,
Innobase YO және MySQL "бірнеше жылдық"
кеңейтілген лицензиялық келісім
шартқа отырғандығын жариялады.
2006 жылы ақпанда, Oracle корпорациясы,
Berkeley DB қозғалтқышын жасайтын Sleepycat
Software компаниясын сатып алды. Бұл
келісімнің әсері аз болды,
өйткені оның қолданылуында кемшіліктер
болғандықтан, оны қолдау MySQL 5.1.12 нұсқасынан
бастап тоқтатылды. 2008 жылы қаңтарда,
Sun Microsystems MySQL-ді 1 миллиард долларға
сатып алды. 2009 жылы сәуірде, Oracle
корпорациясы Sun Microsystems, сонан кейін
MySQL авторлық құқықтары мен сауда
белгілерін сатып алуға келісімге
кірді. 2009 жылы 20 тамызда, Sun компаниясының
директорлар кеңесі, акционерлері
және АҚШ үкіметі жасырын түрде
бұл келісімді мақұлдады. 2009 жылы
14 желтоқсанда, Oracle MySQL-ды ары қарай жақсартып,
қолдауын жалғастыратынын мәлімдеді.
Тарамдары
- Drizzle – cloud-нарығына және web-инфраструктурасына бағытталған тарам. Бағдарламашылар оны: "MySQL-дің кішкентай, жеңіл және тез нұсқасы" деп атайды. Бұл нұсқадан - сақталған процедуралар, тапсырыстар кэшы, дайындалған тапсырыстар, көріністер және триггерлер сияқты функциялар мен мүмкіншіліктер алынып тасталған соң, MySQL серверімен үйлесімділікті сақтамайды.
- MariaDB – қоғамдастық жасаған және онымен қолдау көрсетілетін MySQL тарамы. Oracle MySQL-ды сатып алғаннан кейін, MySQL-дің лицензия статусы ары қарай қалай болатыны белгісіз болғандықтан, бұл тарам соған қарсы GPL-лицензиялы түрде қарсы шығарылған. MySQL-дің командалары, кітапханалары және бинарлы файлдарымен үйлесімділік сақтап, MySQL-дың орнына қолданылатындай етіп жасау - MariaDB-ның басты мақсаттарының бірі. MariaDB-да InnoDB-қозғалтқышының орнына XtraDB қозғалтқышы қолданылады.
- Percona Server – XtraDB қозғалтқышын қолданатын тарам. Бұл MySQL-дың кеңейтілген және онымен толық үйлесімділігі бар тарам. Қосымшаларына және мүмкіншіліктеріне кіретіндер - пайдалы жаңа функциялар, қосымша өнімділік және жүйені қолдану мен өнімділік-ті анализдеуге арналған құралдарды атауға болады.
- OurDelta – MariaDB, Percona және Google сияқсы тарамдардан алынған өзгертулер мен түзетулерден құралған MySQL тарамы.
- Деректер базасымен жұмыс істеудегі негізгі түсініктер.
Пәндік облыс – бұл басқаруды ұйымдастыру
мақсатында, яғни, автоматтандыру үшін,
зерттеуге арналған нақты әлемнің бөлігі.
Пән облысы фрагменттер
жиыны арқылы көрсетіледі, мысалы, цехтары,
дирекциясы, бухгалтериясы және т.б. бар
өнеркәсіп. Пән облысының әрбір фрагменті,
объектілерді қолданатын, сонымен қоса
пән облысына әртүрлі көзқараспен қарайтын қолданушылар
жиынымен сипатталатын объектілер және процесстер жиынымен
сипатталады.
«Динамикалық түрде жаңартылып
отыратын» сөз тіркесі, пән облысының
ағымдық күйі мәліметтер базасына
периодты түрде емес, нақты уақыт
режиміне сәйкес келетіндігін білдіреді.
Бұл жағдайда бірдей мәліметтер, әртүрлі
қолданушылардың талаптарына сай
әртүрлі түрде көрсетілуі мүмкін.
Сонымен, мәліметтер базасын
басқару жүйесі (МББЖ) – ақпараттық
жүйенің негізгі компоненті. МББЖ-да ақпараттық
жүйені құру және басқару үшін, тура алгоритмдік
тілдегі программаларды құрудағы сияқты
транслятор қажет. МББЖ-ның негізгі функциялары:
- сыртқы жадыдағы (дискідегі) мәліметтерді басқару;
- оперативтік жадыдағы мәліметтерді басқару;
- кенет өшіп қалғаннан кейінгі мәліметтер базасын қайта қалпына келтіруді және өзгерулерді тіркеу;
- МБ-ның тілдерін сүйемелдеу (мәліметтерді анықтау тілі, мәліметтерді манипуляциялау тілі).