Mysql транзакциясы триггерлер



Мазмұны
Кіріспе ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ...41.Деректер қорын жобалау, жалпы түсінік ... ... ... ... ... ... ... ... ... ... ... ... ... ... 5
2.Платформалар және бағдарламашының қолдану интерфейстері (API) ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... 8
3.Mysql транзакциясы ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ...9
4.Mysql триггерлері ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ..13
Қорытынды ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... 18
Пайдаланылған әдебиеттер ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ...19
КІРІСПЕ
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 сайттарында қолданылады.
1. Под редакцией доктора технических наук А.Ф.Черняевского.
Автоматизированные обучающие системы на базе ЭВМ, Минск, Издательство БГУ им.В.И.Ленина, 1980 г.
2. Баронов В.В. и др. – М.: ИНФА – М, 2000. – 239 с. – (Серия “Секреты менеджмента”).
3. Драгныш Ю.Е., Учебное пособие, перевод с англ., Европейский гостиничный маркетинг, Финансы – Статистика, Москва,2004.
4. В.В.Фаронов DELPHI 5. Руководство программиста. Издательство “Нолидж”, Москва,2001.
5. В.Гофман, А.Хомоненко Работа с базами данных
6. Издательство “БХВ – Петербург”, Санкт - Петербург, 2000г.
7. А.М.Епанешников, В.А.Епанешников Издательство “ДИАЛОГ – МИФИ”, Москва, 2000г.

Мазмұны
Кіріспе ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... .41. Деректер қорын жобалау, жалпы түсінік ... ... ... ... ... ... ... ... ... ... ... ... ... ... 5
2.Платформалар және бағдарламашының қолдану интерфейстері (API) ... ... ... ... ... ... ... .. ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... 8
3.Mysql транзакциясы ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... .9
4.Mysql триггерлері ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... 13
Қорытынды ... ... ... ... ... ... .. ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... 18
Пайдаланылған әдебиеттер ... ... ... ... ... ... . ... ... ... ... ... ... ... ... ... ... ... ... ... ... ...19

КІРІСПЕ
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, PerlPHPPython" сөйлемінің акронимі.
MySQL - қайнары тегін бағдарламалар мен Интернеттегі танымал Flickr, Nokia.com, YouTube, Wikipedia, Google, Facebook және Twitter сайттарында қолданылады.

1 ДЕРЕКТЕР ҚОРЫН ЖОБАЛАУ, ЖАЛПЫ ТҮСІНІК.
Деректер қоры-ақпараттық жүйелердің маңызды құрамдас бөлігі болып табылады. Ақпараттық жүйе өз алдына басқару функциясын орындау үшін әр алуан денгейдегі жұмыстарды ақпаратпен жабдықтаған объект туралы ақпаратты жинау, тасымалдау, қайта өңдеу бойынша қатынас жүйесін білдіреді.
Деректер қоры деп- компьютер жадында сақтайтын, арнайы түрде ұйымдасқан, өзара байланысқан мәліметтер жиынтығын айтамыз.
Ақпараттық жүйелердің мысалына: банктік жүйелер, кәсіпорындарда, автаматты түрде басқару жүйелері, авияция немесе темір жол билеттерін, мейрамхана номерлерін алдын ала белгілеу және тағы басқа жатады.
Пайдалану облысы бойынша келесі класстарды бөліп айтуға болады:
1)Ғылыми зерттеуге арналған;
2)Автоматталған жобаларға арналған;
3)Ұйымдастырушы басқарудағы ақпараттық жүйелер;
4)Техналогиялық процессорды баспаға арналған.
Деректер қорын басқару жүйесін көптеген қолданушылар деректер қорын құру, енгізу, бірлесіп пайдалану және програмалау құралдардың жиынтығын айтады.
Деректер қоры дегеніміз - мәліметтерді сақтауға арналған ұйымдасқан құрылым. Бұл деректер қорының құрылымына ақпаратпен қатар, оларды ұйымдастыруға, қолдануға арналған тәсілдер мен әдістер кіреді .
Деректер қоры деректер қорын басқару жүйесімен (ДҚБЖ) тығыз байланысты. Бұл программалық құрылымдар кешені жаңа қордың құрылымын құруға, оны деректермен толтыруға, мазмұнын редактрлеуге және ақпаратты визуалдандыруға арналған. Қор ақпараттарын визуалдау дегеніміз берілген критерий бойынша экранға шығаратын мәліметтерді таңдап, оларды белгілі бір ретке келтіріп, безендіріп артынан баспаға немесе байланыс каналдарына беруді айтамыз. Әлемде деректер қорын басқаратын көптеген жүйелер бар.

Деректер моделі және түрлері
1. Иерархиялық модель - мәліметтер арасындағы байланысты реттелген графтар арқылы сипаттауға болады. Қандайда бір программалау тілінде иерархиялық деректер қоры құрылымын есептеу үшін тармақ мәліметтер типі пайдалынылады.
2. Желілік модель - мәліметтердің элементтерінің еркін графтар түріндегі өзара байланысын білдіреді. Желілік деректер қорының схемасын сипаттауға екі тип пайдалынылады: жазба және байланыс.
3. Реляциялық модель - мәліметтердің реляциялық моделін JBM фирмасының қызметкері Эдгар Код ұсынған және ол қатынас ұғымына негізделеді.
Қатынас деп - картеж деп аталатын элементтер жиынын айтады, қатынасты бейнелеудің көрнекті формасы екі өлшемді кесте болып табылады.
4. Постреляциялық модель - мәліметтердің постреляциялық моделі кестенің жазбаларында сақталған мәліметтердің бөлімбеушілік шектеуін алып тастайтын кеңейтілген реляциялық моделі болып табылады. Постреляциялық модель көп мәнді, яғни мәндерді ішкі мәліметтерден құралған өрістерден тұрады.
5. Көп өлшемді модель - ол көп жүйелерге талдау жүргізу және шешім қабылдау үшін ақпаратты жедел өңдеуге мүмкіндік береді.
Қордағы мәліметтерді қарастыратын көп өлшемді тәсілі реляциялық деректер қорын пайдаланылады. Көп өлшемді жүйелерге талдау жүргізу және шешім қабылдау үшін ақпараттық желі өңдеуге мүмкіндік береді. Обьектіге бағытталған деректер қоры құрамына тармақ түрінде берілген мәліметтер. Бұл деректер қорының логикалық құрамының сырттай иерархиялық деректер қоры ұсынылады .
6. Объектіге бағытталған модель - объектіге бағытталған модель тармақталған түрінде беріледі. Объектіге бағытталған деректер қорының логикалық құрылымы сырттай иерархиялы деректер қорына ұқсас.

Кестелерді байланыстыру және байланыс түрлері
Кестелерді байланыстырудың негізгі және қосымша кестелері болады. Негізгі және қосымша кестелердің байланыс өрістері қалай анықталуына тәуелді. Жалпы жағдайда екі кесте арасында келесі 4 негізгі байланыстар түрі орнатылуы мүмкін:
1:1 - негізгі және қосымша кестелердің өрістері кілтті болған жолдарда құрылады және мұндай екі кестенің кілттік өрістің мәндері қайталанылады;
1:К - негізгі кестенің бір жазбасы қосымша жазбаның бірнеше жазбаға сәйкес келген кезде орындалады;
К:1 - бір немесе бірнеше негізгі кестенің жазбаларының бір жазбасы сәйкес келсе, оны бірдің көпке байланысы деп атайды;
К:К - негізгі кестенің бірнеше жазбалары қосымша кестенің бірнеше жазбаларына сәйкес келгенде орындалады .

Платформалар және бағдарламашының қолдану интерфейстері (API)
MySQL - C және C++ тілдерінде, ал SQL парсері және sql_lex.cc деп аталатын лекксикалық анализаторы yacc тілінде жасалған.
MySQL көптеген жүйелер платформаларында жұмыс істейді. Оларға кіретіндер: AIX, BSDi, FreeBSD, HP-UX, eComStation, i5OS, IRIX, Linux, Mac OS X, Microsoft Windows, NetBSD, Novell NetWare, OpenBSD, OpenSolaris, OS2 Warp, QNX, Solaris, Symbian, SunOS, SCO OpenServer, SCO UnixWare, Sanos және Tru64. Сонымен қатар OpenVMS жүйесіне портталған түрі бар.
Мәліметтер қорымен жұмыс істеу үшін, көптеген бағдарламалау тілдеріне кітапханалар жасалынған. Мысалы, C# және VB.NET үшін MySQL ConnectorNet, ал Java үшін JDBC драйвері. Бұнымен қатар ODBC интерфейсін қолдайтын ASP және ColdFusion сияқты тілдер үшін MyODBC кітапханалары бар. Ал URL арқылы кез-келген web-клиенттің MySQL серверімен араласуға мүмкіндік беретін HTSQL технологиясы, MySQL-серверімен бірге келеді.

Mysql - транзакциясы
Транзакция (transction). Реляциялық деректер базасында транзакция деп аталатын тамаша механизм бар. Базамен жұмыс істейтін (базадағы деректермен немесе метадеректермен) барлық операторлар қандай да бір транзакцияның аясында (немесе басқаруында) орындалады. Деректер базасында әсер ететін кез келген амалдың алдында - базадағы деректердің өзгеруі немесе базадан деректерді таңдау - транзакция басталады. Мұндай операторларды орындар алдында транзакцияны SET TRANSACTION SQL -операторы арқылы арнайы бастауға болады. Мысалы, Транзакция былай басталмаса да SQL-операторды орындағанда InterBase сервері транзакцияны өздігінен бастап жібереді. Бір транзакция тарапында орындалған барлық оператоларды Commit операторы арқылы түпкілікті бекітуге немесе Rollback операторы арқылы қайтарып тастауға боады.
Транзакия дегеніміз - жай файлдық жүйеміен қарапайым кесте терілуін деректер қорынан ажырататын теориялық түсінік.
SQL - транзакия операторы операторы топталып орындалуы. Яғни барлығы бірге орындалуы немес ешқайсысы орындалмайды.
Mysql - кесте бірнеше түрі бар: Isam, Heap, MyiSAM, InnoDb, BDB - осылар ішінде транзакция тек соңғы 2-ді қолданылады. Егер алғашқы мән берілмесе Mysql - автоматты жұмыс істейді. Ол Sql- операторы орындалу нәтижесі, деректер өзгертуі жцне желіні тоқтату мүмкін. Ол үшін Set AutomaticT=0. Тоқтатылған режимінде әрбір транзакцияны COMMIT, ROLLBACK- операторлары орындалу керек.
Бір рет транзакция режиміне көшу үшін START TRANSACTION - командасын белгілейміз. Егер транзакция әр түрлі түрдегі кестелерде қолданса онда олар әр түрлі жағдайда болады. Транзакциялық емес кестелерде өзгертілермен тез орындалады. Бірақ оларды ROLLBACK- қалпына келтіру қиын болады.
Транзакциялар не үшін қажет?
Көптеген жағдайларда мәліметтерді өзгерту бойынша операциялар тобын бұл топта атомаралық қасиет болатындай жүргізу керек (толығымен орындалады немесе толығымен орындалмайды). Операциялардың бұндай тобы транзакция деп аталады.
SQL серверлерде транзакцияның бастамасын (begin transaction), оның сәтті аяқталуын (commit transaction ), я транзакциясын қайтаруын білдіретін операторлар болады.
Транзакциялар журналы деген не?
Транзакцияның ішінде жүргізілетін мәліметтердің кез келген өзгерістері арнайы транзакциялар журналына жазылады (transaction log).Транзакциялар қайтарылғанда мәліметтер бұрыңғы қалпына келеді, ал өзгерістер жазбалары транзакциялар журналынан жойылады.
Блокировкалар (жабылу) қашан пайда болады?
Транзакциялар ішіндегі мәліметтерді өзгерткен кезде, модифицияланатын жазбалар сервермен осы транзакцияның аяқталуына дейін жабылады. Егер де қандай да бір басқа транзакция жабылған жазбаларды өзгертуге тырысса, жабылу алып тасталғанға дейін, яғни бірінші транзакция ... жалғасы

Сіз бұл жұмысты біздің қосымшамыз арқылы толығымен тегін көре аласыз.
Ұқсас жұмыстар
Drupal контентті басқару жүйесін пайдалана отырып, толық функционалды Интернет-дүкенін құру
Бағдарламау тілдері мен бағдарламалар
Пайдаланушы интерфейсі компоненттері
Студенттің сабаққа қатысу деректер қорының қосымшасын программалау
SQL кестелеріндегі мәліметтердің модификациясы
Ақпараттық жүйелер үлгілері
МӘЛІМЕТТЕР ҚОРЫНЫҢ ДЕРЕКТЕРІН ҚОРҒАУ
Студенттің сабаққа қатысу деректер қорының қосымшасын бағдарламалау
Мәліметтер қорының түрлері
Сервердің Express нұсқасына арналған SQL Server Management Studio Express ақысыз
Пәндер