Sistemele de Gestiune a Bazelor de Date (SGBD) sunt programe care proceseaza datele privite ca resurse partajabile. Ele permit utilizatorilor structurarea datelor (conform unui model conceptual) in baze de date (bd) si exploatarea acestora concurent, de catre mai multi utilizatori simultan. Pentru aceasta, ele asigura mecanisme cel putin pentru:
-memorarea (structurata a) datelor
-accesul la date
-protectia datelor (la tentative de acces neautorizat)
-pastrarea integritatii datelor
-recuperarea din erori.
SGBD sunt azi oferite pe o mare varietate de platforme de calcul, pornind de la calculatoarele personale (PC) si pana la sistemele de procesare paralela masiva a datelor, sub medii extrem de diverse, incluzand DOS, Windows, Novell Netware, Macintosh, Unix, OS/2, VMS, OS/400, MVS. Majoritatea liderilor mondiali din industria de programare ofera cel putin un SGBD, daca nu mai multe; dintre acestia, este suficient sa amintim IBM, Computer Associates, Sybase Inc., Oracle, Microsoft, Borland.
Marile corporatii ale lumii, ca si foarte multe dintre cele medii sau mici, depind de peste doua decenii de SGBD, carora le sunt incredintate functiuni critice in afaceri, precum urmarirea vanzarilor, cheltuielilor, stocurilor, incasarilor sau plata salariilor. Dar si foarte multi oameni fac apel la SGBD pentru uzul personal, fie ca este vorba de monitorizarea investitiilor familiale, fie de bd gestionand biblioteca proprie de carti, reviste, fotografii, diapozitive, casete audio, video, discuri si CD-ROM-uri audio, video sau de date etc. Industria de SGBD genera in 1994 venituri depasind 5 miliarde de dolari anual in lume, cifra mereu in crestere!
Tranzactii
Orice SGBD trebuie sa asigure, in primul rand, un limbaj de definire si manipulare a datelor, conform modelului de date suportat. Prin intermediul acestuia, se ofera utilizatorilor, in esenta, posibilitatea de a memora datele structurate in bd si de a le accesa (pentru interogari si/sau actualizari). Pentru a asigura partajarea datelor in medii multi-utilizator, SGBD trebuie sa ofere mecanisme de grupare a tuturor operatiilor care concura la indeplinirea unei “sarcini logice unitare” intr-o singura tranzactie, astfel incat SGBD sa poata garanta ori ca executia unei tranzactii a avut loc complet, fara a fi afectata de alte tranzactii, ori ca tranzactia nu a fost deloc executata (bd nefiind deci afectata de tranzactie).
Tranzactiile sunt, prin urmare, singurele “instructiuni logice atomice” oferite de un SGBD; ca atare, ele ori se executa integral, ori deloc, in nici un caz partial, dpdv al oricarei alte tranzactii. Altfel spus, orice tranzactie partial executata (de exemplu, din cauza unei caderi de tensiune) trebuie abortata, iar toate efectele ei trebuie ignorate (“rolled back”). in caz contrar, in mod evident, ar putea rezulta stari inconsistente ale bd.