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.Платформалар және бағдарламашының қолдану интерфейстері ... ... ... ... - ... ... ең көп ... қайнары тегін және ашық, реляцияланған мәліметтер қоры жүйесі (RDBMS). Серверлік бағдарлама ретінде, бірнеше ... ... ... қорын қолдануды қамтамасыз етеді. MySQL сөзіндегі "My" сөзі, бағдарлама жасаушысы Майкл Видньюс-тың (Michael ... ... аты - "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, ... Facebook және Twitter сияқты дүниежүзілік және кең ауқымды web-бағдарламаларында ... MySQL кең ... және кең ... LAMP ... ішінде басты компонент рөлін атқарады. LAMP сөзі - "Linux, Apache, MySQL, ... ... ... - қайнары тегін бағдарламалар мен Интернеттегі танымал Flickr, Nokia.com, YouTube, Wikipedia, Google, Facebook және Twitter сайттарында қолданылады.
1 ДЕРЕКТЕР ... ... ... ... ... ... ... құрамдас бөлігі болып табылады. Ақпараттық жүйе өз алдына басқару функциясын орындау үшін әр алуан денгейдегі жұмыстарды ақпаратпен ... ... ... ... ... ... қайта өңдеу бойынша қатынас жүйесін білдіреді.
Деректер қоры деп- компьютер жадында сақтайтын, арнайы түрде ұйымдасқан, өзара байланысқан ... ... ... ... ... банктік жүйелер, кәсіпорындарда, автаматты түрде басқару жүйелері, авияция немесе темір жол билеттерін, мейрамхана ... ... ала ... және тағы ... ... облысы бойынша келесі класстарды бөліп айтуға болады:
1)Ғылыми зерттеуге арналған;
2)Автоматталған жобаларға арналған;
3)Ұйымдастырушы басқарудағы ақпараттық жүйелер;
4)Техналогиялық ... ... ... ... ... ... ... қолданушылар деректер қорын құру, енгізу, бірлесіп пайдалану және програмалау құралдардың жиынтығын айтады.
Деректер қоры ... - ... ... ... ... құрылым. Бұл деректер қорының құрылымына ақпаратпен қатар, оларды ұйымдастыруға, қолдануға арналған тәсілдер мен ... ... . ... қоры ... ... ... жүйесімен (ДҚБЖ) тығыз байланысты. Бұл программалық құрылымдар ... жаңа ... ... құруға, оны деректермен толтыруға, мазмұнын редактрлеуге және ақпаратты визуалдандыруға ... Қор ... ... ... ... ... ... экранға шығаратын мәліметтерді таңдап, оларды белгілі бір ... ... ... ... ... ... ... каналдарына беруді айтамыз. Әлемде деректер қорын басқаратын ... ... бар. ... ... және ... ... модель - мәліметтер арасындағы байланысты реттелген графтар арқылы сипаттауға болады. Қандайда бір программалау тілінде иерархиялық деректер қоры құрылымын есептеу үшін ... ... типі ... ... ... - ... элементтерінің еркін графтар түріндегі өзара байланысын білдіреді. Желілік ... ... ... ... екі тип пайдалынылады: жазба және байланыс.
3. Реляциялық ... - ... ... ... JBM ... ... ... Код ұсынған және ол қатынас ұғымына негізделеді.
Қатынас деп - ... деп ... ... ... ... ... бейнелеудің көрнекті формасы екі өлшемді кесте ... ...
4. ... модель - мәліметтердің постреляциялық моделі кестенің жазбаларында сақталған мәліметтердің бөлімбеушілік шектеуін алып тастайтын кеңейтілген реляциялық моделі болып ... ... ... көп ... яғни ... ішкі ... ... өрістерден тұрады.
5. Көп өлшемді модель - ол көп ... ... ... және шешім қабылдау үшін ақпаратты жедел өңдеуге мүмкіндік береді.
Қордағы мәліметтерді қарастыратын көп өлшемді ... ... ... ... пайдаланылады. Көп өлшемді жүйелерге талдау жүргізу және шешім қабылдау үшін ақпараттық желі өңдеуге мүмкіндік береді. Обьектіге бағытталған деректер қоры ... ... ... ... ... Бұл ... ... логикалық құрамының сырттай иерархиялық деректер қоры ұсынылады .
6. Объектіге бағытталған модель - объектіге бағытталған модель тармақталған түрінде ... ... ... ... ... ... құрылымы сырттай иерархиялы деректер қорына ұқсас.
Кестелерді байланыстыру және байланыс түрлері
Кестелерді байланыстырудың негізгі және қосымша кестелері ... ... және ... ... ... ... ... анықталуына тәуелді. Жалпы жағдайда екі кесте арасында келесі 4 негізгі байланыстар түрі орнатылуы мүмкін:
1:1 - негізгі және ... ... ... кілтті болған жолдарда құрылады және мұндай екі кестенің кілттік өрістің мәндері қайталанылады;
1:К - негізгі кестенің бір жазбасы қосымша ... ... ... ... ... ... орындалады;
К:1 - бір немесе бірнеше негізгі кестенің жазбаларының бір жазбасы сәйкес ... оны ... ... ... деп ... - негізгі кестенің бірнеше жазбалары қосымша кестенің бірнеше ... ... ... ... ... және ... ... интерфейстері (API)
MySQL - C және C++ тілдерінде, ал SQL парсері және sql_lex.cc деп аталатын лекксикалық анализаторы yacc ... ... ... ... ... ... ... Оларға кіретіндер: AIX, BSDi, FreeBSD, HP-UX, eComStation, i5/OS, IRIX, Linux, Mac OS X, Microsoft Windows, NetBSD, Novell NetWare, OpenBSD, ... OS/2 Warp, QNX, Solaris, Symbian, SunOS, SCO ... SCO ... Sanos және Tru64. ... қатар OpenVMS жүйесіне портталған түрі бар.
Мәліметтер қорымен жұмыс істеу үшін, көптеген бағдарламалау тілдеріне кітапханалар жасалынған. Мысалы, C# және VB.NET үшін MySQL ... ал 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 ... - ... белгілейміз. Егер транзакция әр түрлі түрдегі кестелерде қолданса онда олар әр түрлі жағдайда болады. ... емес ... ... тез ... Бірақ оларды ROLLBACK- қалпына келтіру қиын болады.
Транзакциялар не үшін қажет?
Көптеген жағдайларда мәліметтерді өзгерту бойынша операциялар тобын бұл топта ... ... ... ... ... ... ... немесе толығымен орындалмайды). Операциялардың бұндай тобы транзакция деп аталады.
SQL серверлерде транзакцияның бастамасын (begin transaction), оның сәтті ... (commit ... ), я ... қайтаруын білдіретін операторлар болады.
Транзакциялар журналы деген не?
Транзакцияның ішінде жүргізілетін мәліметтердің кез ... ... ... транзакциялар журналына жазылады (transaction log).Транзакциялар қайтарылғанда мәліметтер бұрыңғы қалпына келеді, ал өзгерістер жазбалары транзакциялар журналынан жойылады.
Блокировкалар (жабылу) қашан ... ... ... ... мәліметтерді өзгерткен кезде, модифицияланатын жазбалар сервермен осы транзакцияның ... ... ... Егер де қандай да бір басқа транзакция жабылған жазбаларды өзгертуге тырысса, жабылу алып тасталғанға ... яғни ... ... аяқталмаса, онда оның орындалуы тоқталады.
Кейбір серверлердің жағымсыз ерекшелігі ... яғни олар ... ... ... емес, көп жазбалары бар тұтас беттермен жабады.
қалай ... ... әр ... ... бір ... оларды транзакция уақытына жаба отырып, сол бір жазбаларды өзгерту мүмкіндіктерін бермейді. Өз кезегінде бір жазбаның әр ... ... ... отырып, сол бір жазбаларды бір уақытта модифициялай алады.
Deadlock неге пайда болады? ... ... ... ... (deadlock) әр түрлі реттегі сол бір жазбалардың өзгеруінде пайда болады.
Мысал :
Біріншіден бізге транзакция не үшін қажет екенін білуіміз ... , яғни ол ... ... істейді. Жұмыс істегенде бірден барлығы іске қосылады немесе барлығы тоқтатылады.
Қолданушылар:
Телефон нөмері:
Қолданушылармен телефон нөмерлері қатынасы:
CREATE PROCEDURE trans ... ... ... ... @ID intbegin ... INTO users ... VALUES (@lname,@fname);SET @ID=SCOPE_IDENTITY();INSERT INTO phones (id_user,tel) VALUES (@ID,@tel);COMMIT ... ... үшін MSSQL ... ... ... шақырамыз:
EXEC trans @lname = 'Иванов', @fname = ... @tel = '477 - 02 - ... - ... (triger) - ... ... сияқты деректер базасына қатысты анықталған кішігірім арнайы бағдарлама болып табылады, ... ... ... ... ... ... ... әрқашан нақты бір кестемен байланысты болады және осы кестеге жаңа жазба ... ... ... және ... ... өзгерту сияқты бір оқиға орын алғанда өздігінен шақырылып орындалады. Триггер мүндай оқиғаның не алдында, не соңынан шақырылуы мүмкін. Бұл ... ... деп ... ... ... процедура сияқты серверде (деректер базасы орналасқан машинада) орындалады, бұл локальді желіде ақпарат ... ... ... ... ... Триггер базадағы кез келген процедураны шақыруы мүмкін. Триггер орындаларда ешқандай параметр қабылдауы және ... да бір мән ... ... ... ... бір ... - бағдарламашы базаны түрлендіруі барысында орындалуы керекті кейбір маңызды амалдар туралы қам ... де ... ... ... ... ... ... Мысалы, жасанды кілттің мәнін генератордан алуды кестеге жаңа жазба енгізер алдында өздігінен орындалатын триггерге жүктесе болады.
Деректер базасын басқару жүйесі ... ... ... ... ... ... үйлесімділігін қадағалайтын жүйелік триггерлер анықтайды.
Триггерлер - дегеніміз сақталмаған процедура. Ол ... ... ... ... ... орындалады. Оқиғалар мыналар болуы мүмкін: қою, өшіру, жадыны тазарту.
Mysql- де триггерлерді ... 5.0.2 ... ... Ал ... төмен нұсқауларында қолданушы super құқығы болуы керек.
Пайдаланушының айрықша жағдайы ... ... орын ... ... ... тиімді өңдеу үшін базада қателікті атап түсініктеме беретін айрықша жағдай анықтауға болады. Сақталған процедуралар мен триггерлерде деректерге ... бір ... ... ... ... болған жағдайда нақты хабарлама беретін айрықша жағдай ұйымдастыруға болады. Бұл қателерді өңдеудің ыңғайлы құралы ... ... - ... ... TRIGGER ... ... trigger_event ON tbl_name FOR EACH ROW trigger_stmt* This source code was highlighted with Source Code Highlighter
trigger_name - ... аты ... - ... ... ... уақыты.
trigger_event - оқиға
INSERT_on уақытпен мерзімге байланысты оқиға.
UPDATE - операторға байланысты оқиға.
DELETE - өшіруге байланысты ... - stml - ... ... ... ... ... қазіргі уақытта .TRG-файлдарында, сақталады. Басқаша айтқанда таблицаға арналған.
Болашақта триггер ақпараты .FRM-файлдарында сақталады, яғни триггерлер деректер ... ... ... көтеріліде, ол бізге SQL стандарты болып табылады.
Триггерлер жұмыс істейді BEFORE - оқиға алды, AFTER - ... соңы ... ... Осы ... біз триггерлердің 6 түрлі жағдайда болатынын байқаймыз:
1
INSERT (BEFORE | AFTER)
2
UPDATE (BEFORE | ... (BEFORE | ... ... үшін ... келстірсем:
User таблицасына
01 mysql> DELIMITTER //
02 mysql> CREATE TRIGGER ... BEFORE INSERT ON ... -> FOR EACH ... -> ... -> SET NEW.name = ... -> SET NEW.otch = LEFT(NEW.otch,1);
07 -> SET NEW.pass = md5(NEW.pass);
08 -> ... Query OK, 0 rows affected (0.09 sec)
10 mysql> ... ... ... ... ... mysql> INSERT INTO `user` SET ... `name`='Аскар', `otch` = 'Муратович', `pass` = 'password', ... Query OK, 1 row affected (0.00 ...
| id | fam | name | otch | pass login ... 1 | ... | А | М | ... |maxnag |
+----+-----------+------+------+----------------------------------+--------+
1 row in set (0.00 sec)
NEW - жаңа жазбаға рұқсат ... - ескі ... ... ... ... ... TRIGGER [IF EXISTS] [schema_name.]trigger_name
Мұндағы:
schema_name - ДҚ аты
trigger_name - ... аты ... ... ... ... TABLE `test` (`id` INT( 11 ) UNSIGNED NOT NULL ... PRIMARY ... TEXT NOT NULL ) ENGINE = MYISAM -- ... TABLE `log` (`id` INT( 11 ) UNSIGNED NOT NULL ... PRIMARY ... VARCHAR( 255 ) NOT ... ... NOT NULL DEFAULT CURRENT_TIMESTAMP,`row_id` INT( 11 ) NOT NULL ) ENGINE = MYISAM -- триггерDELIMITER |CREATE TRIGGER `update_test` AFTER INSERT ON ... EACH ROW BEGIN INSERT INTO log Set msg = ... row_id = ... This source code was ... with Source Code ... ... ... кестеге қосамыз. LOG кестесіндеде жазба пайда болады.
-- триггерді өшіреміз DROP TRIGGER ... -- ... ... TABLE ... (`id` INT( 11 ) UNSIGNED NOT NULL AUTO_INCREMENT PRIMARY ... INT( 11 ) UNSIGNED NOT ... TEXT NOT NULL ) ENGINE = MYISAM -- ... |CREATE TRIGGER `update_test` before update ON `test`FOR EACH ROW BEGIN INSERT INTO backup Set row_id = OLD.id, content = ... TRIGGER ... before delete ON ... EACH ROW BEGIN INSERT INTO backup Set row_id = OLD.id, content = ... This source code was ... with Source Code ... ... ... базасын басқару жүйелері бар. Олардың әр түрлі объектілермен әр түрлі жұмыс ... ... мен ... әр ... функциялар мен жабдықтар ұсынатындағына қарамастан МББЖ-нің көбі ортақ негізгі түсініктердің тұрақты кешеніне ... Бұл ... бір ... қарастырып, оның түсініктерін, әдістерін және тәсілдерін МББЖ-нің барлық классына ... ... ... ... ақпараттық технологиялардың дамуына байланысты әлеуметтік-экономикалық салалар автоматтандырылуда. Соған сәйкес бұл салаларды басқару орталықтандырылған жүйе бойынша жүзеге ... осы ... ... ... келе келесідей негізгі қорытындыларға тоқтала кетуді жөн көрдім:
* Мәліметтер базасы бұл ақпараттарды сақтау үшін арналған ұйымдастырылған ... ... ... ... ... ... жүйелері (МББЖ) өз құрылымында тек қана мәліметтерді ғана емес, сонымен қатар тұтынушылармен немесе ... да ... ... қарым-қатынас жүзеге асырылатын әдістерді (яғни, программалық код) де орналастыруға ... ... ... ... ... ... түпкілікті пайдаланушылар, яғни, олардың қажеттіліктері үшін мәліметтер базасы құрылатын пайдаланушылар табылады. Құрылушы ... ... ... байланысты оның түпкілікті пайдаланушылар әр түрлі бола алады.
* Мәліметтер ... ... ... жүйелік аналитиктер, мәліметтер базасына қатысы бойынша сыртқы ақпараттық қамсыздандыруды жобалаушылар, мәліметтерді өңдеудің технологиялық процесстерінің жобалаушылары, ... және ... ... ... ... ... ... мамандар болуы керек.
* Егер мәліметтер базасы қандай да бір ... ... ... ... ... ету үшін ... онда осы ұйымның әкімшілігімен қарым-қатынас қажет. Бұндай үлкен жобалардың ұйым басшылығының белсенді түрде араласуынсыз және ... ... ... Егер ... ... ... бір оны ... автоматтандырылған ақпараттық жүйенің (мысалы, АБЖ-да) құрамында функционалданса, онда МБА-а бұл жүйеде мәліметтерді өңдеу ... ... ... ... ... қажет.
Қолданылған әдебиеттер
* Под редакцией доктора технических наук ... ... ... на базе ЭВМ, ... Издательство БГУ им.В.И.Ленина, 1980 г.
* Баронов В.В. и др. - М.: ИНФА - М, 2000. - 239 с. - ... ... ... Драгныш Ю.Е., Учебное пособие, перевод с англ., Европейский гостиничный маркетинг, Финансы - ... ... ... DELPHI 5. ... программиста. Издательство "Нолидж", Москва,2001.
* В.Гофман, А.Хомоненко Работа с базами данных
* ... "БХВ - ... ... - Петербург, 2000г.
* А.М.Епанешников, В.А.Епанешников Издательство "ДИАЛОГ - МИФИ", Москва, 2000г.

Пән: Информатика
Жұмыс түрі: Реферат
Көлемі: 10 бет
Бұл жұмыстың бағасы: 700 теңге









Ұқсас жұмыстар
Тақырыб Бет саны
Асинхронды RS триггерлер16 бет
Ақпаратты басқару жүйесінің жұмысы туралы7 бет
Логикалық функциялар17 бет
Логикалық элементтер25 бет
Синхронды триггерлер25 бет
Сызбалық логикасы бар басқару құрылғысын жобалау20 бет
Толық анықталмаған функцияларды минимизациялау Компьютерлік схемотехниканың тізбекті (жинақтаушы) түйіндері: регистрлер, санауыштар9 бет
Триггерлер32 бет
Триггерлер. Триггерлердің топталуы.21 бет
Триггерлық схемалар4 бет


Исходниктер
Пәндер
Көмек / Помощь
Арайлым
Біз міндетті түрде жауап береміз!
Мы обязательно ответим!
Жіберу / Отправить


Зарабатывайте вместе с нами

Рахмет!
Хабарлама жіберілді. / Сообщение отправлено.

Сіз үшін аптасына 5 күн жұмыс істейміз.
Жұмыс уақыты 09:00 - 18:00

Мы работаем для Вас 5 дней в неделю.
Время работы 09:00 - 18:00

Email: info@stud.kz

Phone: 777 614 50 20
Жабу / Закрыть

Көмек / Помощь