Recapitulare baze de date
1. Diferența dintre rând și coloană
Un rând (row) reprezintă o înregistrare individuală într-un tabel. O coloană (column)
reprezintă un atribut sau un câmp al înregistrării. De exemplu, într-un tabel cu studenți,
fiecare rând ar fi un student, iar coloanele pot include Nume, Prenume, Vârstă etc.
2. DELETE vs DROP
DELETE șterge datele dintr-un tabel, dar păstrează structura tabelului. DROP șterge
complet tabelul, incluzând structura și datele.
3. Tipuri de inserare în tabele
INSERT INTO tabel (coloana1, coloana2) VALUES (valoarea1, valoarea2) – inserează valori
specifice. INSERT INTO tabel SELECT ... – inserează date preluate din altă interogare sau
tabel.
4. Formele normale 1-3
Formă
Ce elimină Exemplu de problemă
Normală
Grupuri repetate, valori
1NF Liste de cursuri într-o singură coloană
multiple
Nume student care depinde doar de o parte din
2NF Dependențe parțiale
cheia primară
Informații despre departament care depind de o
3NF Dependențe tranzitive
coloană non-cheie
5. Keywords
Cuvinte cheie SQL sunt termeni rezervați precum SELECT, FROM, WHERE, JOIN, INSERT etc.
6. ALTER
Permite modificarea structurii unui tabel existent, precum adăugarea unei coloane: ALTER
TABLE tabel ADD coloana TIP.
7. JOIN Types
INNER JOIN: doar datele comune ambelor tabele. LEFT JOIN: toate din stânga + potrivirile
din dreapta. RIGHT JOIN: inversul LEFT. FULL JOIN: toate combinațiile posibile. CROSS
JOIN(CARTESIAN PRODUCT) – toate inregistrarile din primul tabel cu toate din al doilea.
8. Tipurile de chei
Poate fi Număr per Legătură între
Tip de cheie Unicitate
NULL tabel tabele
Primary Key Da Nu 1 Nu
Da
Foreign Key Nu Mai multe Da
(opțional)
Candidate
Da Nu Mai multe Nu
Key
Alternate Key Da Nu Mai multe Nu
Composite Da (în
Nu 1 (sau FK) Da (des asociativ)
Key combinație)
9. Tipuri de relații între tabele
🔹 Tip
🔍 Exemplu Real ⚙️Mod de Implementare 💡 Observații Utile
Relație
- Se folosește o cheie externă (FK)
- Se folosește când
One- Un utilizator și care este și cheie primară (PK) în al
vrei să separi date
to-One adresa lui de doilea tabel. - Ex: [Link]
rare, sensibile sau
(1:1) corespondență este FK și PK, referă
opționale.
[Link].
- Tabelul de pe partea „many” are o
One-
cheie străină care referă cheia - Este cea mai
to- Un profesor predă
primară a tabelului „one”. - Ex: comună relație în
Many mai multe cursuri
[Link] este FK spre baze de date.
(1:N)
[Link].
- Permite gestionarea
- Se creează un tabel intermediar
eficientă a relațiilor
Many- Studenți înscriși la (tabel de legătură/asociativ) care
complexe. - Tabelul
to- mai multe cursuri conține două FK: [Link]
asociativ poate avea
Many și cursuri cu mai și [Link]. - Aceste două
și coloane proprii
(N:M) mulți studenți coloane formează de obicei o cheie
(ex: Nota, Data
compusă.
înscrierii).
10. Funcții agregate
SUM (suma valorilor), MAX (valoarea maximă), AVG (media), COUNT (numărul de
înregistrări) etc.
11. Backups
Full: copie completă. Incremental: doar modificările de la ultimul backup. Differential: toate
modificările de la ultimul full. Mirror: copiere în timp real pe alt device.
12. SELECT Types
SELECT DISTINCT – elimină duplicatele. UNION – combină rezultate fără duplicate.
INTERSECT – doar rezultatele comune ambelor SELECT-uri.
13. ORDER BY / GROUP BY
ORDER BY: sortează rezultatele. GROUP BY: grupează pe baza unei coloane, folosit cu funcții
agregate.
14. WHERE / HAVING
WHERE filtrează rândurile înainte de agregare. HAVING filtrează grupurile rezultate în
urma GROUP BY.
15. Indexuri
Clustered Index: determină ordinea fizică a datelor. Non-Clustered Index: structură separată
care conține pointeri(adrese) către datele reale.
16. LIKE / BETWEEN
LIKE – caută șabloane ('Artur%' toate care încep cu A). BETWEEN – verifică dacă o valoare
este într-un interval.
17. Normalizare
Procesul de organizare a datelor pentru a reduce redundanța și a preveni inconsistențele.
Folosirea cheilor primare și externe ajută la prevenirea orphaned records.
18. Roluri/GRANT, REVOKE
GRANT permite atribuirea de privilegii (SELECT, INSERT, UPDATE, DELETE, ALTER etc.) pe
obiecte (tabele, baze de date) către utilizatori. REVOKE retrage aceste drepturi. Exemplu:
GRANT SELECT ON Students TO User1;