Sisteme moderne de gestionare a bazelor de datesunt utilizate pe multe obiecte, dar în același timp nu toată lumea știe ce sunt și cum puteți utiliza funcțiile SGBD. Astfel de instrumente se disting printr-un număr imens de posibilități, astfel încât, pentru a le utiliza pe deplin, trebuie să înțelegeți ce pot face și cum sunt utile pentru utilizator.
Management de date
În primul rând, funcțiile SGBD includ prelucrareainformații în memoria externă, iar această funcție este furnizarea structurilor de bază ale VI-ului, care sunt necesare nu numai pentru stocarea informațiilor direct incluse în baza de date, ci și pentru efectuarea diverselor sarcini de serviciu, cum ar fi obținerea accesului accelerat la orice fișiere din diverse cazuri ... În anumite modificări, capacitățile diferitelor sisteme de fișiere sunt utilizate în mod activ, în timp ce altele asigură funcționarea chiar și la nivelul dispozitivelor de memorie externe. Dar, în acest caz, este demn de remarcat faptul că, în funcția unui SGBD cu un grad ridicat de dezvoltare, utilizatorul nu este în niciun caz informat cu privire la utilizarea vreunui sistem și, în caz afirmativ, la modul de organizare a fișierelor. În special, sistemul își menține propria ordine de denumire pentru obiectele incluse în baza de date.
Gestionarea bufferului RAM
În majoritatea cazurilor, funcțiileEste obișnuit să folosiți un SGBD în baze de date suficient de mari, iar această dimensiune este cel puțin adesea mult mai mare decât cantitatea disponibilă de RAM. Desigur, dacă, în cazul accesării fiecărui element de date, se va efectua un schimb cu memorie externă, viteza acestuia din urmă va corespunde vitezei sistemului în sine, prin urmare, practic singura opțiune pentru creșterea reală a acestuia este tamponarea informațiilor în RAM. Mai mult, chiar dacă sistemul de operare efectuează buffering la nivel de sistem, de exemplu, cu UNIX, acest lucru nu va fi suficient pentru a oferi SGBD scopul și funcțiile de bază, deoarece are o cantitate mult mai mare de date despre proprietățile utile ale bufferingului pentru fiecare parte specifică a bazei de date utilizate. Datorită acestui fapt, sistemele avansate își păstrează propriul set de tampoane, precum și o disciplină unică pentru înlocuirea lor.
Este demn de remarcat faptul că există un separatdirecția sistemelor de control, axată pe prezența continuă în RAM a întregii baze de date. Această direcție se bazează pe presupunerea că, în viitorul apropiat, cantitatea de memorie RAM din computere se va putea extinde atât de mult încât nu se vor mai îngrijora de niciun tampon, iar principalele funcții ale unui SGBD de acest tip vor fi utile Aici. În acest moment, toate aceste lucrări rămân în stadiul de testare.
Managementul tranzacțiilor
O tranzacție este o succesiune de operațiicu baza de date utilizată, pe care sistemul de management o consideră ca un întreg unic. Dacă tranzacția este pe deplin reușită, sistemul va transfera modificările pe care le-a făcut în memoria externă sau niciuna dintre aceste modificări nu va afecta starea bazei de date. Această operație este necesară pentru a menține integritatea logică a bazei de date utilizate. Trebuie remarcat faptul că menținerea cursului corect al mecanismului tranzacției este o condiție prealabilă chiar și atunci când se utilizează SGBD pentru un singur utilizator, al cărui scop și funcții sunt semnificativ diferite de alte tipuri de sisteme.
Proprietatea pe care începe orice tranzacțienumai atunci când baza de date se află într-o stare integrală și, în același timp, o lasă în aceeași stare după încheierea procedurii, face utilizarea sa extrem de convenabilă ca unitate de activitate în ceea ce privește baza de date. Cu o gestionare adecvată a executării concomitente a tranzacțiilor de către sistemul de control, fiecare utilizator individual se poate simți, în principiu, ca o parte a întregului. Cu toate acestea, aceasta este într-o oarecare măsură o reprezentare idealizată, deoarece în multe situații când lucrează, oamenii vor simți în continuare prezența colegilor lor dacă folosesc un sistem multi-utilizatori, dar, de fapt, acest lucru este prevăzut și de conceptul de SGBD. Funcțiile SGBD multi-utilizatori asociază, de asemenea, concepte precum planul de execuție în serie și serializarea cu gestionarea tranzacțiilor.
Ce vor sa zica?
Serializarea simultană a executării tranzacțiilorprevede construirea unui plan special pentru munca lor, în care efectul total realizat al amestecului este echivalent cu rezultatul obținut datorită execuției lor secvențiale.
Planul de execuție în serie esteo anumită structură de acțiuni care duce la serializare. Desigur, dacă sistemul reușește să ofere o execuție cu adevărat în serie a unui amestec de tranzacții, atunci pentru orice utilizator care formează o tranzacție, prezența altora va fi complet invizibilă, cu excepția faptului că va funcționa puțin mai lent în comparație cu modul utilizator.
Există mai mulți algoritmi de serializare de bază.În sistemele centralizate, cele mai populare astăzi sunt algoritmi care se bazează pe captarea sincronizată a diferitelor obiecte de baze de date. În cazul utilizării oricăror algoritmi de serializare, este prevăzută posibilitatea conflictelor între două sau mai multe tranzacții privind accesul la anumite obiecte din baza de date. Într-o astfel de situație, pentru a oferi asistență pentru această procedură, trebuie să reveniți, adică să eliminați orice modificări aduse bazei de date prin unul sau mai multe procese. Aceasta este doar una dintre situațiile în care într-un sistem multi-utilizator o persoană simte prezența altora.
Jurnalizare
Una dintre cerințele de bază pentru modernsistemele trebuie să asigure fiabilitatea stocării informațiilor în memoria externă. În special, acest lucru prevede că printre funcțiile principale ale SGBD se află capacitatea de a restabili ultima stare consecventă a bazei de date după apariția oricăror erori de software sau hardware. În marea majoritate a cazurilor, este obișnuit să se ia în considerare două opțiuni pentru defecțiuni hardware:
- soft, care poate fi interpretat ca o oprire neașteptată a computerului (cel mai frecvent caz este o oprire de urgență);
- hard, care se caracterizează prin pierderea parțială sau completă a datelor stocate pe suporturi externe.
Exemple de erori software includface ca sistemul să se blocheze atunci când încercați să utilizați o caracteristică care nu se numără printre funcțiile principale ale SGBD sau să blocheze orice utilitar de utilizator, în urma căruia o anumită tranzacție nu a fost finalizată. Prima situație poate fi considerată un tip special de eșec ușor, în timp ce ultima trebuie să facă față consecințelor unei singure tranzacții.
Desigur, oricum pentru normalRecuperarea bazei de date necesită o anumită cantitate de informații suplimentare. Cu alte cuvinte, pentru menținerea normală a fiabilității stocării datelor în baza de date, este necesar să se asigure redundanța stocării informațiilor, iar o parte din datele utilizate pentru recuperare trebuie protejate cu atenție. Cea mai obișnuită metodă pentru menținerea acestor date redundante este menținerea unui jurnal de modificări.
Ce este și cum se folosește?
Revista este o parte specială a bazei de datedate, accesul la care nu este inclus în numărul de funcții SGBD și este acceptat foarte atent. În unele situații, se are în vedere chiar menținerea simultană a două copii ale jurnalului amplasate pe suporturi fizice diferite. Aceste depozite primesc informații despre orice modificări care apar în partea principală a bazei de date, iar în diferite sisteme de control, modificările pot fi înregistrate la diferite niveluri. În unele situații, o intrare în jurnal corespunde pe deplin unei operații specifice de schimbare logică, undeva - o operație internă minimă asociată cu modificarea unei pagini de memorie externă, în timp ce unele SGBD asigură o combinație a celor două abordări.
În orice caz, așa-numitul„strategia de scriere înainte” în jurnal. Când se aplică, o înregistrare care indică o modificare a oricărui obiect de bază de date intră în memoria externă a jurnalului înainte de obiectul modificat. Se știe că, dacă funcțiile Access DBMS asigură respectarea normală a acestui protocol, jurnalul poate rezolva orice probleme asociate cu restaurarea bazei de date în cazul unei defecțiuni.
Revenire
Cea mai ușoară situație de recuperareeste recuperarea individuală a tranzacției. Pentru această procedură, nu este necesar să utilizați jurnalul de modificări la nivelul întregului sistem și este suficient să utilizați un jurnal de modificare locală pentru fiecare tranzacție și apoi să derulați tranzacțiile înapoi efectuând operațiunile inversate, începând de la sfârșitul fiecărei a înregistrărilor. Structura unei funcții SGBD prevede adesea utilizarea unei astfel de structuri, dar în majoritatea cazurilor jurnalele locale încă nu sunt acceptate, iar o retragere individuală chiar și pentru tranzacții individuale se efectuează în conformitate cu cea la nivel de sistem și pentru aceasta toate înregistrările fiecărei tranzacții sunt combinate într-o listă inversă.
Când apare o defecțiune ușoară, memoria externăbazele de date pot include diverse obiecte care au fost modificate de tranzacții care nu au fost finalizate în momentul eșecului, precum și diverse obiecte care au fost actualizate de cele care au finalizat cu succes înainte de eșec datorită utilizării bufferelor RAM, al căror conținut este complet dispar atunci când probleme similare. Dacă este urmat protocolul pentru utilizarea jurnalelor locale, rămân înregistrări în memoria externă care se referă la modificarea oricăror astfel de obiecte.
Scopul principal al procedurii de recuperare dupăO defecțiune ușoară este o stare a memoriei externe a bazei de date principale care ar avea loc în cazul în care modificările oricărei tranzacții finalizate ar fi angajate în VI și nu ar conține urme de proceduri incomplete. Pentru a obține acest efect, principalele funcții ale SGBD în acest caz sunt restabilirea tranzacțiilor neterminate și reluarea acelor operațiuni, ale căror rezultate în cele din urmă nu au apărut în memoria externă. Acest proces oferă un număr destul de mare de subtilități, care se referă în principal la organizarea jurnalului și a gestionării tamponului.
Accidente puternice
Dacă trebuie să restaurați baza de datedupă apariția unor defecțiuni grave, nu se utilizează doar jurnalul, ci și copia arhivată a bazei de date. Acesta din urmă este o copie completă a bazei de date până la începutul completării jurnalului. Desigur, pentru a efectua o procedură normală de recuperare, este necesară siguranța jurnalului, prin urmare, așa cum am menționat mai devreme, sunt impuse cerințe extrem de grave asupra siguranței sale în memoria externă. În acest caz, recuperarea bazei de date înseamnă că, pe baza copiei arhivei, toate tranzacțiile efectuate până la momentul producerii eșecului sunt redate în jurnal. Dacă este necesar, operațiunea tranzacțiilor incomplete poate fi chiar reprodusă și funcționarea normală a acestora poate continua după încheierea procedurii de recuperare, dar în majoritatea sistemelor reale o astfel de procedură nu se realizează din motivul că recuperarea de la eșecuri grave este o procedura lungă.
Suport lingvistic
Pentru lucrul cu baze de date modernesunt folosite diferite limbi, iar la începutul SGBD, al căror scop, funcții și alte caracteristici erau semnificativ diferite de sistemele moderne, a fost oferit suport pentru mai multe limbi extrem de specializate. Practic, acestea erau SDL și DML, concepute pentru a defini schema bazei de date și, respectiv, pentru a manipula datele.
SDL a fost folosit pentru a definistructura logică a bazei de date, adică să recunoască structura specifică a bazei de date care este prezentată utilizatorilor. DML, pe de altă parte, a inclus un întreg complex de operatori pentru manipularea informațiilor, permițându-vă să introduceți informații într-o bază de date, precum și să ștergeți, să modificați sau să utilizați datele deja existente.
Funcțiile SGBD includ diferite tipuri de suportun singur limbaj integrat, care asigură disponibilitatea oricăror instrumente necesare funcționării normale cu bazele de date, începând de la crearea inițială a acestuia și oferind o interfață standard pentru utilizator. SQL este folosit ca limbaj standard care oferă funcțiile de bază ale SGBD ale celor mai răspândite sisteme relaționale din zilele noastre.
Cum este el?
În primul rând, acest limbaj se combinăfuncțiile principale ale DML și SDL, adică oferă abilitatea de a defini semantica specifică a unei baze de date relaționale și de a manipula informațiile necesare. În același timp, denumirea diferitelor obiecte de bază de date este acceptată direct la nivel de limbă în sensul că compilatorul convertește numele obiectelor în identificatorii lor interni, pe baza tabelelor de catalog de servicii special acceptate. Nucleul sistemelor de control, în principiu, nu interacționează în niciun fel cu tabelele sau coloanele lor individuale.
Limbajul SQL include o listă întreagă deinstrumente speciale care vă permit să determinați constrângerile de integritate ale bazei de date. Din nou, orice astfel de restricții sunt incluse în tabelele de catalog speciale, iar controlul integrității se efectuează direct la nivel de limbă, adică în procesul de citire a operatorilor individuali de modificare a bazei de date, compilatorul, pe baza constrângerilor de integritate din baza de date, generează codul programului corespunzător.