КомпјутериБазе података

"Замке" ДМЛ-тим ажурирање МиСКЛ

Сваки програмер, који је морао да ради са базама података, суочава са ДМЛ-оператора (преведено са енглеског - .. "Подаци Манипулација језик"), као што Селецт, Инсерт, Делете и Упдате. МиСКЛ-транспорт такође користи свој арсенал свих наведених команди.

Ове изјаве су логично говори о његовом именовању - избор записа, убаците нове вредности, ажурирање постојећих података, потпуна, или у складу са наведеним условима, уклањање информација у бази података. Материјали теоријска обука су детаљно описани принцип рада сваке команде и њихове синтаксе, али нигде наћи референце на потешкоће које се могу јавити у пракси током употребе. Овај материјал ће бити посвећен разматрању неких од њих.

Укратко о ДМЛ-изјава (Убаците)

Пре него што наставимо, потребно је поново да се сетим више детаља о сврси сваке функције. Имаћемо два оператора који су заинтересовани за детаљније: Убаците и Упдате, јер то зависи од њих извући главне тешкоће у обради велике количине података.

Морате почети са командном Инсерт, а затим постепено прећи на Упдате. МиСКЛ систем, као и сваки други модерне базе података, користите операцију Инсерт да додате нове рекорде у постојећем табеле базе. Синтакса ове операције је врло једноставна и јасна. Он садржи списак поља која ће бити уплаћена на вредности, дестинације - име табеле - и одмах увео листу података. Сваки пут када извршите Инсерт базе ће бити ажуриран са новим вредностима.

izjava упдате

Међутим, у пракси, често постоје ситуације у којима за неки скуп података једног или више атрибута да се ажурира. Као пример, ситуацију у којој је предузеће реформе са даљим преименовања главних одељења. У том случају потребно је направити промјене за сваког одељења. Ако само промени име, онда се проблем може бити решен веома брзо. Међутим, ако мења кодирање сваке компоненте из целокупне производње, који обично служи као примарни кључ, који је, са своје стране, подразумева промене у информацијама и за сваког запосленог.

Упдате - ДМЛ-оператор може да се примени у решавању овог проблема. МиСКЛ- сервера, ради са великим бројем улазака, уз помоћ једног изјаве ажурирање, извршите потребне упит и решавање проблема. Али понекад јављају у току ажурирање није сасвим јасно и тешко објаснити комплексност. То је оно што изазива тешкоће записа ажурирана, ће бити речи даље.

Оно мало што је речено у теорији ...

Упдате тима, као што је већ наведено, се користи за ажурирање постојеће записе у табели. Али у пракси, клијенти приступају серверима база података нису увек познати, постоји одређени скуп података у табелама или не. Прелиминарни проверите доступност података у бази података за каснију ажурирање резултата у дуготрајан и отпада могућности сервера.

Да бисте то избегли, у посебном МиСКЛ база података структуре - Убаците * ажурирање, у којој је уметак или ажурирање може да се обавља независно један од другог. Тада је сто има улаз за одређено стање, ће бити ажуриран. Ако су подаци неће бити пронађен услови у обзир, МиСКЛ сервер је способан да обавља података добавени захтев.

ажурирање података када постоје дупликати

Важна компонента овог Инсерт - захтев за систем за управљање базом података МиСКЛ - «На дуплирани кључ ажурирање» префикса. Комплетна синтакса упита је следећи: «инсерт инто тест_табле (емплоиер_ид, име) вредности ( 1, 'Абрамова') на дупликата кључа упдате ЛАСТ_МОДИФИЕД = НОВ (); ".

Такав захтев може да се користи за снимање акције, на пример, одредити временски предузеће раскрсница пролаз затим рачунајући временски интервал и одлагање детекције. Да се не би направити столу неколико записа, довољно за сваког запосленог да воде евиденцију и стално ажурирање. То је дупликат дизајн чек то дозвољава.

Заправо проблеми ...

С обзиром на горе пример деловања особља за регистрацију на улазу, као што је проблем јесте употреба самоувелицхиваиусцхихсиа (ауто _ инкремента) поља, које се обично користе за попуњавање примарног кључа вредности (примарни _ кључ). Ако користите МиСКЛ команду Упдате у дизајну са Инсерт Ауто _ прираст, поље је у сталном порасту.

Исто тако, све се дешава када користите конструкцију замене у случају дупликата детекције. "Ауто-прираштај" вредност је порасла чак иу случају када није потребна. Због тога, проблеми настају прељева вредности или опсега Пасс, који касније доводе до квара система за управљање базама података.

Највероватније је проблем

Описује се проблем мора узети у обзир веб-програмери, као што је најчешћи у системима са више корисника (веб-сајтови, портали, и тако даље. П.), када је систем извршава велики број поступака Инсерт и Упдате МиСКЛ.

ПХП-- жалба на бази веома често изводе. Стога, за постизање максималне марже, дефинисане као ауто_инцремент, јавља брзо, а у анализи на потешкоће да се утврди разлоге само неће радити.

Због тога, програмери се подстичу да буду пажљиви са употребом дизајна на дупликата кључа у команду мискл упдате. селецт - упити приликом приступа сервер база података ће радити без грешке, али додавање нових записа у бази података је препуна непријатних ситуација у будућности довести до озбиљних проблема. Алтернативно, препоручује се за ауто-инкремента поља у почетку проверите своје евиденције, а затим их држите ажуриран.

Similar articles

 

 

 

 

Trending Now

 

 

 

 

Newest

Copyright © 2018 sr.unansea.com. Theme powered by WordPress.