Lecția 5: Normalizare – Transferabilitatea relațiilor și rezolvarea relațiilor many-to-many
Bun venit la lecția 5 a cursului de normalizare a bazelor de date! În această lecție, vom explora conceptul de transferabilitate a relațiilor și vom învăța cum să rezolvăm relațiile many-to-many.
Definiția normalizării și prima formă de normalizare (1NF)
Pentru a începe, să recapitulăm ce înseamnă normalizarea în contextul bazelor de date. Normalizarea este procesul de organizare a datelor într-o bază de date relațională, astfel încât să respecte anumite reguli și să elimine redundanța și dependențele nedorite.
Prima formă de normalizare (1NF) este primul pas în procesul de normalizare. Pentru ca o relație să fie în 1NF, fiecare atribut trebuie să conțină o singură valoare atomică și să nu permită valori multiple sau valori compuse.
De exemplu, să luăm în considerare o tabelă “Angajați” care conține următoarele atribute: ID_angajat, Nume, Departament și Proiecte. Dacă în coloana “Proiecte” avem valori multiple separate de virgulă, cum ar fi “Proiect1, Proiect2, Proiect3”, atunci această tabelă nu respectă 1NF.
Pentru a rezolva această problemă, putem crea o nouă tabelă “Proiecte_Angajati” care să conecteze angajații cu proiectele la care lucrează. Astfel, vom avea o relație many-to-many între angajați și proiecte, iar fiecare valoare din coloana “Proiecte” va fi înlocuită de o înregistrare separată în tabela “Proiecte_Angajati”.
Exerciții practice rezolvate pentru aplicarea conceptelor de normalizare
Pentru a înțelege mai bine conceptele de normalizare și rezolvarea relațiilor many-to-many, să trecem acum la câteva exerciții practice rezolvate.
Exercițiul 1:
Să presupunem că avem o tabelă “Comenzi” cu următoarele atribute: ID_comanda, Nume_client, Produse_comandate și Cantități. Această tabelă conține valori multiple în coloanele “Produse_comandate” și “Cantități”. Pentru a normaliza această tabelă, putem crea două noi tabele: “Comenzi_Produse” și “Produse”.
Tabela “Comenzi_Produse” va conține următoarele atribute: ID_comanda, ID_produs și Cantitate. Astfel, fiecare produs comandat va fi înregistrat separat în tabela “Comenzi_Produse”.
Tabela “Produse” va conține următoarele atribute: ID_produs și Nume_produs. Această tabelă va conține informații despre fiecare produs în parte.
Exercițiul 2:
Să presupunem că avem o tabelă “Studenti” cu următoarele atribute: ID_student, Nume_student și Cursuri. Această tabelă conține valori multiple în coloana “Cursuri”. Pentru a normaliza această tabelă, putem crea o nouă tabelă “Studenti_Cursuri” care să conecteze studenții cu cursurile la care participă.
Tabela “Studenti_Cursuri” va conține următoarele atribute: ID_student și ID_curs. Astfel, fiecare curs la care participă un student va fi înregistrat separat în tabela “Studenti_Cursuri”.
Acestea au fost doar câteva exemple de exerciții practice rezolvate pentru aplicarea conceptelor de normalizare. Prin rezolvarea acestor exerciții, veți dobândi o mai bună înțelegere a procesului de normalizare și veți putea aplica aceste concepte în proiectele dvs. de baze de date.
Încheiem aici lecția 5 a cursului de normalizare a bazelor de date. Sperăm că ați înțeles și apreciat importanța transferabilității relațiilor și rezolvarea relațiilor many-to-many. Vă așteptăm la următoarea lecție, în care vom explora mai multe aspecte ale normalizării.