endrju

Jan. 6., 2006 | 04:07 am
No:: endrju

Jā, visi šie trīs objekti saglabājās datubāzē un pēc tam tos vari apskatīties.

VIEW ir virtuāla tabula, kas ir jau izpildīts kverijs. VIEW parasti definē kā "SELECT ... WHERE ...". Atšķirība starp parasto SELECT un VIEW ir tāda, ka SELECT izpildās tajā brīdi, kad Tu veic pieprasījumu, bet VIEW (virtuāla tabula) automātiski tiek papildināta tiklīdz mainās tabulās dati, no kurām šis VIEW ir atkarīgs. Teiksim, ja ir kāds sarežģīts kverijs, kas izpildās ilgi, tad pataisi to kveriju par VIEW un vienkārši selektē datus turmpāk no tā VIEW un viss notiks momenta, jo kā jau aprakstīju, VIEW rezultāts tiek automātiski izmainīts, kā izmainās nepieciešamie dati.

TRIGGER ir procedūra, kas izpildās noteiktos brīžos (piemēram, kad tabulā dati tiek ievietoti, mainīti, vai dzēsti) un pēc noteiktiem noteikumiem. Tu piemēram vari aprakstīt kam ir jānotiek, ja kādā tabulā tiek ievototi dati ( pie tam Tu vari definēt kam ir jānotiek pirms dati tiek ielikti, un kam pēc tam, kad jau ielikti).

STORED PROCEDURE ir procedūra definēta datubāzes pusē, kura satur kodu, kam jāizpildās. Primitīvākais piemērs varētu būt, ka esi izveidojusi procedūru, kurai Tu padod kādus parametrus. Un šī procedūra attiecīgi ievieto vai dara ko citu ar šiem parametriem. Sanāk, ka nevis savas aplikācijas kodā Tu raksti, teiksim, "UPDATE ...", bet vienkārši izsauc datubāzē nodefinētu procedūru padodot tai parametrus, lai tā attiecīgi rīkojas Tavā vietā. Tādejādi aplikācijas kods ir tīrāks un nav atkarīgs no konkrēta un specifiska SQL, jo storētās procedūras var definēt gandrīz visām nopietnām DBVS. Eksistē arī funkcijas, kas principā ir tā pati procedūra, tikai atšķirība tāda, ka funkcijas atgriež rezultātu.

P.S. MySQL storētās procedūras un triggeri parādījās tikai apmēram no 5.0 versijas.

Iesaku aplūkot zemāk esošos linkus (tur ir arī piemēri):

MySQL -> create view, create trigger, create procedure.
PostgreSQL -> create view, create trigger, create function.

# | view all comments


Reply

No:
( )Anonīms- ehh.. šitajam cibiņam netīk anonīmie, nesanāks.
Lietotājvārds:
Parole:
Temats:
Tematā HTML ir aizliegts
  
Ziņa: