Colecția mea - Bază de date
Vreau să organizez informațiile profesionist și să demonstrez ce am învățat!
Obiectivul lectiei
Dupa aceasta lectie vei putea:
- Sa creezi o baza de date completa de la zero
- Sa definesti structura corecta cu campuri si tipuri de date potrivite
- Sa implementezi o cheie primara functionala
- Sa introduci cel putin 10 inregistrari
Incearca!
Selectează unul dintre proiectele de mai jos (sau propune altul):
Cerințele proiectului meu de bază de date
👆 Selectează mai întâi o temă pentru a vedea structura recomandată.
📋 Cerințe obligatorii:
- Minimum 5 câmpuri (inclusiv cheia primară)
- Cel puțin 3 tipuri diferite de date
- Cheie primară de tip AutoNumber
- Minimum 10 înregistrări introduse
- Denumiri clare și în română pentru câmpuri
Proiectare pe hartie inainte de Access — de ce si cum
📌 Regula de aur a proiectării
Profesioniştii în baze de date nu deschid Access-ul primul. Ei proiectează mai întâi structura pe hârtie (sau pe o foaie de calcul), verifică că e corectă, şi abia apoi o implementează. Corectarea structurii după ce ai introdus 100 de înregistrări este mult mai dificilă decât înainte.
✏️ Cum arată un proiect pe hârtie — exemplu complet (Colecție de filme)
| Câmp | Tip de date | De ce? | Valoare exemplu |
|---|---|---|---|
| ID_Film | AutoNumber | Cheie primară — identificator unic generat automat | 1, 2, 3… |
| TitluFilm | Short Text | Litere şi cuvinte — nu facem calcule cu el | Inception |
| AnAparitie | Number | Număr întreg — putem compara şi sorta cronologic | 2010 |
| DurataMin | Number | Număr — calculăm total ore sau filtrăm după durată | 148 |
| Rating | Number | Număr (1–10) — putem calcula medie sau sorta | 9 |
| GenFilm | Short Text | Text — categorie descriptivă | SF / Thriller |
| LamVazut | Yes/No | Doar două valori posibile: Da sau Nu | Da |
✅ Lista de verificare înainte să deschizi Access
- Am câmp ID de tip AutoNumber ca cheie primară?
- Am minim 5 câmpuri (inclusiv ID-ul)?
- Folosesc cel puțin 3 tipuri diferite de date (ex: Text + Number + Yes/No)?
- Fiecare câmp stochează o singură informație (nu "NumeȘiPrenume" íntr-un câmp)?
- Denumirile sunt clare, fără spații (TitluFilm, nu "Titlu Film")?
- Am planificat cel puțin 10 înregistrări reale de introdus?
⚠️ Greşeli tipice la proiectare
- An ca Text: "2010" scris ca text nu poate fi sortat numeric — pune-l ca Number.
- Rating ca Text: Dacă pui "9/10" ca text, nu poți calcula media — pune-l ca Number.
- Mai multe valori íntr-un câmp: Nu pune "SF, Thriller" íntr-un câmp GenFilm — alege un gen principal sau creează un câmp separat.
- Fără cheie primară: Access permite dubluri şi nu poți identifica unic o înregistrare.
Practica
Nivel Minim
Alege una dintre temele de proiect (muzică, filme, jocuri sau cărți). Pe o foaie de hârtie, proiectează structura tabelului: scrie numele câmpurilor, tipul de date pentru fiecare și câte un exemplu de valoare. Verifică că ai: minim 5 câmpuri, cel puțin 3 tipuri diferite de date și un câmp ID de tip AutoNumber ca cheie primară.
Vezi rezolvarea
Exemplu ales: Colectia de filme (functioneaza la fel cu oricare tema).
- ID_Film - AutoNumber - cheie primara - exemplu: 1
- TitluFilm - Short Text - exemplu: Inception
- Regizor - Short Text - exemplu: Christopher Nolan
- GenFilm - Short Text - exemplu: SF
- AnAparitie - Number - exemplu: 2010
- DurataMin - Number - exemplu: 148
- Rating - Number - exemplu: 9
- LamVazut - Yes/No - exemplu: Da
Verificare: 8 campuri (minim 5, OK), 4 tipuri diferite - AutoNumber, Text, Number, Yes/No (minim 3, OK), ID_Film este AutoNumber si cheie primara (OK).
Nivel Standard
Creează în Access baza de date a colecției alese. Pași obligatorii: (1) Deschide Access → Blank database → nume sugestiv (ex: "ColectiaMea.accdb"). (2) Creează tabelul în Design View cu minim 5 câmpuri și 3 tipuri diferite de date. (3) Setează câmpul ID ca AutoNumber și marchează-l ca Primary Key. (4) Treci în Datasheet View și introdu minim 10 înregistrări reale. (5) Salvează cu Ctrl+S.
Vezi rezolvarea
Pasii aplicati pentru tema Filme (identici pentru orice alta tema):
- Deschide Access, alege Blank database, denumeste fisierul
ColectiaMeaFilme.accdb, apoi Create. - In Design View redenumeste tabelul "Filme" si adauga campurile: ID_Film (AutoNumber), TitluFilm (Short Text), Regizor (Short Text), GenFilm (Short Text), AnAparitie (Number), DurataMin (Number), Rating (Number), LamVazut (Yes/No).
- Click pe randul ID_Film, apoi pe butonul "Primary Key" din bara de instrumente - apare simbolul cheii.
- Comuta in Datasheet View si introdu minim 10 filme reale, un rand pe film, de exemplu: Inception / Nolan / SF / 2010 / 148 / 9 / Da; Titanic / Cameron / Drama / 1997 / 195 / 8 / Da - si continua pana la 10 randuri; ID_Film se completeaza singur.
- Salveaza cu Ctrl+S.
Nivel Performanta
Extinde proiectul cu un al doilea tabel legat. Exemplu pentru colecția de filme: al doilea tabel "Actori" cu câmpurile ID_Actor (AutoNumber, PK), NumeActor (Text), TaraOrigine (Text), AnNastere (Număr). Introdu 5 actori. Explică în scris: (1) Ce reprezintă fiecare tabel? (2) Cum ar putea fi legate cele două tabele? (3) De ce este mai bine să ai date despre actori separat față de datele despre filme?
Vezi rezolvarea
Al doilea tabel Actori: ID_Actor (AutoNumber, PK), NumeActor (Text), TaraOrigine (Text), AnNastere (Number) - exact ca in cerinta. Introdu 5 actori reali.
Schita de raspuns la intrebari (completeaz-o tu, nu e data de-a gata):
- Ce reprezinta fiecare tabel? Filme = catalogul filmelor; Actori = catalogul actorilor, tinut separat.
- Cum s-ar lega? Lectia nu a predat relatiile intre tabele (foreign key) in Access - e un pas care depaseste ce s-a invatat aici. Logic, ai avea nevoie de un camp comun, de exemplu un al treilea tabel "Roluri" cu ID_Film si ID_Actor, pentru ca un actor poate juca in mai multe filme.
- De ce separat? Gandeste: daca acelasi actor apare in 5 filme, ce s-ar repeta inutil daca ai pune totul intr-un singur tabel mare?
Criterii de evaluare: tabelul Actori corect (4 campuri, tipuri corecte, PK setat), minim 5 actori introdusi, raspuns coerent la toate cele 3 intrebari, argumentul de la (3) sa mentioneze evitarea repetarii datelor.
Recapitulare
Ce am invatat:
- Un proiect complet de bază de date necesită: minim 5 câmpuri, 3 tipuri de date diferite, o cheie primară AutoNumber și minimum 10 înregistrări.
- Procesul complet: alegere temă → proiectare structură (pe hârtie) → creare în Access (Design View) → introducere date (Datasheet View) → salvare.
- Denumirile câmpurilor trebuie să fie clare, descriptive și fără spații (ex: NumeFilm, nu "Numele Filmului").
- Validarea proiectului: toate ID-urile sunt unice și nenule, fiecare rând reprezintă o entitate distinctă, tipurile de date sunt corecte pentru fiecare câmp.
Vrei mai mult?
In baza de date pe care ai creat-o, deschide tabelul in Datasheet View si da click-dreapta pe antetul unei coloane numerice (de exemplu AnPublicare sau NumarVizionari). Alege "Sort Ascending", apoi "Sort Descending". Noteaza in caiet ce se schimba in tabel si ce ramane la fel.
- De gandit: Un magazin online ar putea pastra totul intr-un singur tabel "Comenzi", care sa contina si numele clientului, si adresa, si produsul cumparat. De ce este o problema sa repeti numele si adresa clientului de fiecare data cand el mai face o comanda?
- Deschidere: Exact acest exercitiu - proiectarea campurilor pe hartie inainte de a deschide programul - este primul pas pe care il face un adevarat proiectant de baze de date la firme ca Netflix (tabele pentru Utilizatori, Filme, Vizionari) sau Amazon (Produse, Comenzi, Clienti), doar la o scara de milioane de randuri.