O bază de date relațională este un tip de bază de date care stochează și oferă acces la punctele de date care sunt legate între ele. Bazele de date relaționale se bazează pe modelul relațional, o modalitate intuitivă și simplă de reprezentare a datelor în tabele. Într-o bază de date relațională, fiecare rând din tabel este o înregistrare cu un cod unic numit cheie. Coloanele din tabel au atribute ale datelor și fiecare înregistrare are, de obicei, o valoare pentru fiecare atribut, facilitând stabilirea relațiilor dintre punctele de date.
Iată, de exemplu, două tabele simple, pe care le-ar putea utiliza o întreprindere mică pentru a procesa comenzile de produse ale sale. Primul tabel conține informații despre fiecare client, inclusiv numele, adresa, informațiile de expediere și de facturare, numărul de telefon și alte informații de contact. Fiecare informație (fiecare atribut) se află în propria coloană, iar baza de date atribuie un cod unic (o cheie) fiecărui rând. În al doilea tabel, cu comenzile clienților, sunt incluse numerele de identificare ale clienților care au plasat comenzile, produsele comandate, cantitatea, dimensiunea și culoarea selectate și așa mai departe, dar nu și numele sau informațiile de contact ale clienților.
Aceste două tabele au un singur lucru în comun: coloana ID (numărul de identificare). Dar, din cauza acestei coloane comune, baza de date relațională poate crea o relație între cele două tabele. Prin urmare, când aplicația de procesare a comenzilor a companiei trimite o comandă către baza de date, baza de date poate să acceseze tabelul cu comenzile clienților, să preia informațiile corecte despre comanda respectivă și să utilizeze ID-ul clientului din tabel pentru a găsi informațiile sale de facturare și expediere în tabelul cu informații despre clienți. Apoi, depozitul poate extrage produsul corect, clientul poate primi comanda la timp, iar compania poate fi plătită.
Modelul relațional înseamnă că structurile de date logice - tabelele de date, vizualizările și indexurile - sunt separate de structurile de stocare fizice. Această separare înseamnă că administratorii bazei de date pot gestiona stocarea datelor fizice fără a afecta accesul la aceste date ca o structură logică. De exemplu, redenumirea unui fișier din baza de date nu redenumește tabelele stocate în el.
Diferența dintre structura logică și cea fizică se aplică și operațiunilor bazei de date, adică acțiunile clar definite prin care aplicațiile efectuează manipularea datelor și a structurilor bazei de date. Operațiile logice permit unei aplicații să precizeze conținutul de care are nevoie, iar operațiile fizice determină modul în care aceste date trebuie accesate pentru ca aplicația să îndeplinească sarcina.
Pentru a vă asigura că datele sunt întotdeauna exacte și accesibile, bazele de date relaționale respectă anumite reguli de integritate. De exemplu, o regulă de integritate poate specifica faptul că rândurile duplicate nu sunt permise într-un tabel, pentru a elimina posibilitatea de introducere a informațiilor eronate în baza de date.
În perioada de început a bazelor de date, fiecare aplicație stoca date în propria sa structură unică. Când dezvoltatorii doreau să construiască aplicații pentru a utiliza acele date, era necesar să știe multe despre structura de date respectivă pentru a găsi datele de care aveau nevoie. Aceste structuri de date erau ineficiente, greu de întreținut și greu de optimizat pentru ca aplicațiile să înregistreze performanțe bune. Modelul relațional al bazei de date a fost conceput pentru a rezolva problema mai multor structuri de date arbitrare.
Modelul de date relațional a oferit un mod standard de reprezentare și interogare a datelor, care putea fi utilizat de orice aplicație. De la început, dezvoltatorii au recunoscut că principalul punct forte al modelului relațional de bază de date consta în folosirea tabelelor, care reprezentau o modalitate intuitivă, eficientă și flexibilă de stocare și accesare a informațiilor structurate.
În timp, a apărut un alt punct forte al modelului relațional, deoarece dezvoltatorii au început să utilizeze limbajul structurat de interogare (SQL) pentru a scrie și a interoga datele într-o bază de date. Timp de mulți ani, SQL a fost utilizat pe scară largă ca limbaj pentru interogarea bazelor de date. Bazat pe algebra relațională, SQL oferă un limbaj matematic consecvent la nivel intern, care facilitează îmbunătățirea performanței tuturor interogărilor bazelor de date. Prin comparație, alte abordări trebuie să definească interogări individuale.
Modelul relațional simplu și puternic este utilizat de organizații de toate tipurile și dimensiunile pentru o gamă largă de necesități de informare. Bazele de date relaționale sunt utilizate pentru a urmări inventarele, a procesa tranzacțiile de comerț electronic, a gestiona cantități uriașe de informații importante despre clienți și multe altele. O bază de date relațională poate fi luată în considerare pentru orice nevoie de informații în care punctele de date se corelează și trebuie să fie gestionate într-un mod sigur, bazat pe reguli și consecvent.
Bazele de date relaționale se folosesc din anii 1970. Astăzi, datorită avantajelor sale, modelul relațional continuă să fie modelul cel mai acceptat pentru bazele de date.
Modelul relațional este cel mai bun pentru menținerea consecvenței datelor între aplicații și copiile bazei de date (numite instanțe). De exemplu, atunci când un client depune bani la un ATM și apoi analizează soldul contului de pe un telefon mobil, clientul se așteaptă ca această depunere să se reflecte imediat într-un sold actualizat al contului. Bazele de date relaționale excelează la acest tip de consecvență a datelor, asigurând faptul că mai multe instanțe ale unei baze de date au aceleași date tot timpul.
Pentru alte tipuri de baze de date, este dificil să mențină acest nivel de consecvență în timp util cu cantități mari de date. Unele baze de date recente, cum ar fi NoSQL, pot asigura doar o „consecvență relativă”. Conform acestui principiu, atunci când baza de date este scalată sau când mai mulți utilizatori accesează aceleași date simultan, datele necesită timp pentru a fi „sincronizate”. Eventuala consecvență este acceptabilă pentru anumite utilizări, cum ar fi menținerea listelor într-un catalog de produse, însă, pentru operațiunile importante, cum ar fi tranzacțiile cu cardul de cumpărături, baza de date relațională este în continuare standardul de aur.
Bazele de date relaționale abordează regulile și politicile de afaceri la un nivel foarte granular, cu politici stricte privind comiterea (adică, modificarea permanentă a bazei de date). De exemplu, să analizăm o bază de date de inventar care urmărește trei părți ce sunt utilizate întotdeauna împreună. Atunci când o parte este scoasă din inventar, celelalte două trebuie, de asemenea, retrase. Dacă una dintre cele trei părți nu este disponibilă, niciuna nu trebuie retrasă - toate cele trei părți trebuie să fie disponibile înainte ca baza de date să își ia orice angajament. O bază de date relațională nu își va lua un angajament pentru o parte până când nu știe că poate face acest lucru pentru toate trei. Această capacitate de comitere multiplă este denumită atomicitate. Atomicitatea este esențială pentru menținerea de date precise în baza de date și pentru respectarea regulilor, reglementărilor și politicilor companiei.
Patru proprietăți esențiale definesc tranzacțiile din bazele de date relaționale: atomicitatea, consecvența, izolarea și durabilitatea - pe scurt, ACID.
Accesul la date implică multe acțiuni repetitive. De exemplu, este posibil ca o interogare simplă pentru a obține informații dintr-un tabel de date să fie repetată de sute sau mii de ori pentru a produce rezultatul dorit. Aceste funcții de acces la date necesită un anumit tip de cod pentru a accesa baza de date. Dezvoltatorii de aplicații nu doresc să scrie un cod nou pentru aceste funcții în fiecare aplicație nouă. Din fericire, bazele de date relaționale permit proceduri stocate, care sunt blocuri de cod ce pot fi accesate cu un simplu apel de cerere. De exemplu, o singură procedură stocată poate oferi o etichetare consecventă a înregistrărilor pentru utilizatorii de aplicații multiple. Procedurile stocate pot, de asemenea, ajuta dezvoltatorii să se asigure că anumite funcții de date din aplicație sunt implementate într-un mod special.
Într-o bază de date pot să apară conflicte atunci când mai mulți utilizatori sau aplicații încearcă să schimbe aceleași date în același timp. Tehnicile de blocare și rulare simultană reduc posibilitatea de conflict, menținând integritatea datelor.
Blocarea împiedică alți utilizatori și aplicații să acceseze date în timp ce acestea se actualizează. În unele baze de date, blocarea se aplică întregului tabel, ceea ce creează un impact negativ asupra performanței aplicațiilor. Alte baze de date, cum ar fi bazele de date relaționale Oracle, aplică blocări la nivel de înregistrare, lăsând disponibile celelalte înregistrări din tabel și contribuind astfel la performanțe mai bune ale aplicațiilor.
Concurența gestionează activitatea atunci când mai mulți utilizatori sau mai multe aplicații invocă simultan interogări în aceeași bază de date. Această capacitate asigură accesul corect la utilizatori și aplicații în conformitate cu politicile definite pentru controlul datelor.
Software-ul utilizat pentru stocarea, gestionarea, interogarea și recuperarea datelor stocate într-o bază de date relațională se numește sistem de gestionare a bazelor de date relaționale (RDBMS). RDBMS oferă o interfață între utilizatori și aplicații și baza de date, precum și funcții administrative pentru gestionarea stocării, accesării și performanței datelor.
Mai mulți factori vă pot ghida decizia atunci când alegeți dintre tipurile de baze de date și dintre produsele bazei de date relaționale. Sistemul RDBMS pe care îl alegeți depinde de nevoile dvs. de afaceri. Puneți-vă următoarele întrebări:
De-a lungul anilor, bazele de date relaționale au devenit mai bune, mai rapide, mai puternice și mai ușor de utilizat. Totodată, au devenit mai complexe, iar administrarea bazei de date era o activitate care necesita mult timp. În loc să-și utilizeze experiența pentru a se concentra asupra dezvoltării unor aplicații inovatoare care să aducă valoare companiei, dezvoltatorii erau nevoiți să-și dedice cea mai mare parte a timpului managementului necesar optimizării performanței bazelor de date.
În prezent, tehnologia autonomă se bazează pe punctele forte ale modelului relațional, pe tehnologia cloud pentru bazele de date și pe machine learning pentru a furniza un nou tip de bază de date relațională. Baza de date cu funcționare proprie (cunoscută și sub denumirea de bază de date autonomă) menține puterea și avantajele modelului relațional, însă utilizează inteligența artificială (AI), învățarea asistată de computer și automatizarea pentru a monitoriza și a îmbunătăți performanțele interogărilor și sarcinile de gestionare. De exemplu, pentru a îmbunătăți performanța interogărilor, baza de date autonomă poate emite ipoteze și poate testa indexurile pentru a accelera interogările și pentru a le propulsa pe cele mai bune în producție - totul, în mod autonom. Baza de date cu funcționare proprie face aceste îmbunătățiri în mod continuu, fără a fi nevoie de implicare umană.
Tehnologia autonomă eliberează dezvoltatorii de rutina gestionării bazei de date. De exemplu, aceștia nu mai trebuie să identifice în prealabil cerințele privind infrastructura. În schimb, cu o bază de date cu funcționare proprie, aceștia pot adăuga resurse de stocare și de calcul, după cum este necesar, pentru a susține creșterea bazei de date. Cu doar câțiva pași, dezvoltatorii pot crea cu ușurință o bază de date relațională autonomă, accelerând timpul pentru dezvoltarea aplicațiilor.