top of page

În practică #8 | De ce au nevoie aplicațiile de baze de date?

31 aug.
4 min de citit

Cum schimbă tehnologia modul în care lucrăm

„În practică” este seria în care explicăm, fără jargon inutil și pornind de la exemple concrete, concepte și tehnologii care stau în spatele instrumentelor digitale pe care le folosim zi de zi.


Deschizi o aplicație de cumpărături și produsele pe care le-ai pus ieri în coș sunt încă acolo. Intri într-o platformă de streaming și găsești lista cu filmele salvate. Te autentifici într-o aplicație și aceasta știe cine ești, ce setări ai ales și ce ai făcut ultima dată.

Aplicația trebuie să păstreze toate aceste informații undeva.

Aici intră în scenă bazele de date.

Ele nu sunt partea pe care o vede utilizatorul și, în general, nici nu ne gândim la existența lor atunci când folosim o aplicație. Dar sunt în spatele unei mari părți din lucrurile pe care ne așteptăm ca aplicațiile moderne să le poată face.



O aplicație trebuie să aibă memorie

Să luăm un exemplu simplu: un magazin online.

Aplicația trebuie să știe ce produse există, cât costă fiecare, câte bucăți sunt disponibile, cine sunt clienții, ce au comandat și unde trebuie livrate comenzile.

Dacă toate aceste informații ar exista doar cât timp aplicația rulează, ar dispărea odată cu închiderea ei. La următoarea accesare, magazinul ar trebui să înceapă de la zero.

Baza de date îi oferă, într-un fel, memorie.

Informațiile sunt stocate într-o formă organizată, astfel încât aplicația să le poată găsi, modifica și utiliza atunci când are nevoie de ele.

Iar pe măsură ce aplicația crește, organizarea aceasta devine esențială. Una este să găsești un produs într-o listă de zece articole și cu totul alta să gestionezi sute de mii de produse, utilizatori și tranzacții.


Ce găsim, de fapt, într-o bază de date?

În cazul unei baze de date relaționale, informațiile pot fi organizate în tabele.

Un tabel poate conține utilizatorii. Altul, produsele. Un altul, comenzile.

Fiecare păstrează anumite informații, iar între ele pot exista relații. O comandă, de exemplu, trebuie asociată unui anumit client și produselor pe care acesta le-a cumpărat.

De aici vine și termenul de bază de date relațională: nu păstrăm pur și simplu informații, ci putem stabili și legăturile dintre ele.

Pentru a lucra cu aceste date, dezvoltatorii folosesc frecvent SQL – Structured Query Language. Prin intermediul său pot cere bazei de date informațiile de care aplicația are nevoie.

De exemplu: arată-mi comenzile acestui client. Actualizează stocul produsului. Adaugă un utilizator nou. Găsește produsele dintr-o anumită categorie.

Pentru utilizator, toate acestea se traduc într-un click, o căutare sau un ecran care se încarcă.


Ce se întâmplă când apeși „Cumpără”?

În spatele unui buton aparent simplu pot avea loc mai multe operațiuni.

Aplicația trebuie să identifice utilizatorul, să afle ce produse sunt în coș, să verifice informațiile necesare pentru comandă, să înregistreze tranzacția și să actualizeze datele relevante.

Interfața pe care o vedem este doar una dintre componente. În spate, aplicația comunică permanent cu alte componente și, foarte des, cu o bază de date.

De aceea, pentru un developer, lucrul cu datele nu este un subiect separat de dezvoltarea unei aplicații. Este parte din modul în care aceasta funcționează.


Dar de ce nu salvăm totul într-un fișier?

Tehnic, pentru aplicații foarte simple, informațiile pot fi păstrate și în fișiere. Problema apare când cantitatea de date crește, când mai mulți utilizatori lucrează simultan sau când avem nevoie să găsim și să actualizăm rapid anumite informații.

O bază de date este construită tocmai pentru a gestiona astfel de situații.

Poate organiza volume mari de informații, permite căutări și actualizări eficiente și oferă mecanisme prin care datele pot fi gestionate într-un mod controlat.

Asta nu înseamnă că toate aplicațiile folosesc același tip de bază de date. Alegerea depinde de ceea ce construim, de datele cu care lucrăm și de modul în care vor fi folosite.


Și unde intră SQL Server?

Microsoft SQL Server este un sistem de gestionare a bazelor de date relaționale și este folosit în numeroase aplicații construite în ecosistemul Microsoft.

Pentru un developer .NET, însă, lucrul cu baza de date nu înseamnă neapărat să scrie manual fiecare operațiune SQL.

Aici putem întâlni instrumente precum Entity Framework Core, care permit aplicației să lucreze cu datele prin intermediul obiectelor din cod și gestionează o parte din comunicarea cu baza de date.

În spate rămâne aceeași nevoie: aplicația trebuie să poată salva o informație astăzi și să o găsească din nou mâine.


De la cod la date și înapoi

Bazele de date fac parte și din programa cursului .NET, organizat prin proiectul Transilvania Digitală Inovativă 5.0.

Participanții pornesc de la fundamentele C# și programarea orientată pe obiecte și avansează către instrumentele necesare pentru construirea unei aplicații, printre care Git și GitHub, SQL Server, Entity Framework Core și ASP.NET Core Web API.


Iar lucrul cu bazele de date este una dintre etapele prin care proiectul dezvoltat în timpul cursului începe să semene tot mai mult cu o aplicație reală.


Așa cum explica și George Moise, .NET Software Developer și trainerul cursului, participanții vor ajunge să lucreze cu date folosind SQL Server și să înțeleagă cum se construiește și se testează un Web API simplu.

Pentru că o aplicație poate avea o interfață foarte bună și un cod bine scris. Dar dacă trebuie să își amintească cine ești, ce ai făcut sau ce informații ai salvat, undeva în spate are nevoie și de o memorie.



„În practică” este seria prin care explicăm, pe înțelesul tuturor, concepte și tehnologii despre care se vorbește tot mai des în domeniul digital și arătăm ce înseamnă ele în activitatea de zi cu zi a companiilor și profesioniștilor.


Citește și celelalte articole din seria „În practică”

Postări recente

Afișează-le pe toate

Comentarii


bottom of page