Înregistrări și chei primare
Vreau să înțeleg cum identific unic fiecare înregistrare!
- Să definești ce este o înregistrare (record)
- Să înțelegi importanța unicității datelor
- Să explici rolul cheii primare
Incearca!
Imaginează-ți că ești profesorul clasei și trebuie să pui notă unui elev. Privește acest tabel:
| Nume | Prenume | Clasa | Nota |
|---|---|---|---|
| Popescu | Ion | 7A | 9 |
| Ionescu | Maria | 7A | 8 |
| Ionescu | Maria | 7A | ? |
| Marin | Elena | 7B | 10 |
❌ Problema:
Sunt două eleve "Ionescu Maria" din clasa 7A! Cum știi cărei Maria îi pui nota?
În viața reală, acest lucru se întâmplă des - oameni cu același nume există!
✅ Soluția - Cheia primară:
Adăugăm un ID unic pentru fiecare elev. Chiar dacă au același nume, ID-ul lor va fi diferit!
Inregistrare si cheie primara
📌 Ce este o înregistrare?
O înregistrare (record) este un rând complet dintr-un tabel care conține toate informațiile despre o singură entitate (un elev, un produs, o carte, etc.).
🔑 Ce este cheia primară?
Cheia primară (Primary Key) este un câmp special care identifică unic fiecare înregistrare. Valorile din acest câmp trebuie să fie:
- Unice - nu se pot repeta
- Non-nule - nu pot fi goale
- Stabile - nu se schimbă în timp
Exemplu cu cheie primară:
| 🔑 ID_Elev | Nume | Prenume | Clasa | Nota |
|---|---|---|---|---|
| 1 | Popescu | Ion | 7A | 9 |
| 2 | Ionescu | Maria | 7A | 8 |
| 3 | Ionescu | Maria | 7A | 10 |
| 4 | Marin | Elena | 7B | 10 |
Acum, deși avem două "Ionescu Maria", le putem distinge: eleva cu 🔑 ID 2 are nota 8, iar eleva cu 🔑 ID 3 are nota 10.
🌍 Exemple din viața reală:
- Număr matricol - Identifică unic fiecare elev în școală
- Cod de bare - Identifică unic fiecare produs
- Număr de înmatriculare - Identifică unic fiecare mașină
- ISBN - Identifică unic fiecare carte publicată
- ID generat automat - Număr unic creat de baza de date (ex: 1, 2, 3...)
⚠️ Atenție: Coduri care conțin date personale reale (CNP, număr de pașaport etc.) sunt informații sensibile protejate de lege. Nu le colectați și nu le stocați în proiectele voastre — folosiți ID-uri generate automat de baza de date!
🧪 Simulare: Ce se întâmplă dacă încerci să adaugi un ID duplicat?
💡 AutoNumber - Cel mai folosit tip de cheie primară
În Access și alte baze de date, poți seta câmpul ID ca AutoNumber. Aceasta înseamnă că:
- Baza de date generează automat un număr unic pentru fiecare înregistrare nouă
- Nu trebuie să-ți faci griji că vei introduce un ID duplicat
- Numerele cresc in ordine, dar nu sunt neaparat consecutive: dupa stergeri, secventa poate arata 1, 2, 5, 9... — comportament normal; important e ca sunt unice
Practica
Nivel Minim
Priveste tabelul urmator si raspunde: care dintre coloane ar putea fi cheie primara? De ce?
| ID_Elev | Nume | Prenume | Clasa |
|---|---|---|---|
| 1 | Popescu | Ion | 7A |
| 2 | Ionescu | Maria | 7B |
| 3 | Popescu | Ana | 7A |
Scrie raspunsul in caiet: de ce ID_Elev este potrivit ca cheie primara, iar Nume sau Clasa nu sunt?
Nivel Standard
Creaza in caiet un tabel pentru o biblioteca cu 4 carti. Tabelul trebuie sa aiba:
- Un camp ID_Carte (cheie primara, AutoNumber — numere unice generate automat; in exemplu poti folosi 1, 2, 3, 4 daca nu ai sters inregistrari)
- Campurile: Titlu, Autor, An_Publicare
- Cel putin doua carti cu acelasi autor (demonstrand ca ID-ul le diferentiaza)
Verifica: toate valorile din ID_Carte sunt unice si nenule?
Nivel Performanta
Analizeaza situatia: un magazin online stocheaza comenzile clientilor. Propune un tabel Comenzi cu:
- Campul cheie primara potrivit si justificarea alegerii
- Minim 5 campuri relevante (cu tipurile de date corecte: Text, Numar, Data, Da/Nu)
- Un exemplu de 3 inregistrari completate corect
Bonus: De ce nu se poate folosi Nume_Client ca cheie primara?
Recapitulare
Ce am invatat:
- O inregistrare (record) este un rand complet dintr-un tabel — toate datele despre o singura entitate (elev, produs, carte etc.)
- Cheia primara (Primary Key) identifica unic fiecare inregistrare din tabel
- Valorile cheii primare trebuie sa fie unice, non-nule si stabile in timp
- AutoNumber este cel mai comun tip de cheie primara: baza de date genereaza automat numere unice — nu neaparat consecutive (dupa stergeri pot sari: 1, 2, 5, 9... — normal; important e ca sunt unice)
- Exemple din viata reala de chei unice: numar matricol, cod de bare, ISBN, ID generat automat