De ce nu tii totul intr-o singura foaie de calcul
Acelasi nume de client, aceeasi adresa, acelasi telefon sunt scrise de la zero la fiecare comanda noua. Daca clientul isi schimba telefonul, trebuie corectat manual pe fiecare rand vechi — si e usor sa ratezi vreunul.
Acelasi client ajunge scris "Popescu Ion" pe un rand si "popescu ion" sau "I. Popescu" pe altul. Pentru calculator, acestea sunt trei clienti diferiti, desi in realitate e o singura persoana. O cautare dupa nume nu mai gaseste toate comenzile lui.
O intrebare simpla precum "cati clienti diferiti au comandat produse din lemn de stejar in luna martie" devine greu de raspuns cu incredere cand aceiasi clienti sunt scrisi in mai multe feluri si datele sunt amestecate intr-o singura lista lunga.
O baza de date relationala tine informatiile separate pe subiecte, in tabele distincte care se leaga intre ele: un tabel Clienti (fiecare client scris o singura data) si un tabel Comenzi (fiecare comanda leaga, printr-un cod, catre clientul din tabelul Clienti, nu retranscrie numele lui). Numele clientului exista intr-un singur loc "oficial"; comenzile doar il refera. Microsoft Access este un program pentru construit si gestionat astfel de baze de date.
Tabel, inregistrare, camp — vocabularul de baza
Tabel — o colectie de date despre un singur subiect (de exemplu toate materialele din depozit, sau toti clientii).
Inregistrare (record) — un rand din tabel; reprezinta o singura aparitie a subiectului (un material anume, un client anume).
Camp (field) — o coloana din tabel; o singura caracteristica, aceeasi pentru toate inregistrarile (de exemplu coloana "Pret" exista o singura data, dar are o valoare pe fiecare rand).
Tabelul are patru campuri (coloane): CodMaterial, DenumireMaterial, UnitateMasura, StocCurent.
O inregistrare (rand) arata asa: PSAL-04 | Placa PAL melaminat 18mm | buc | 45
Alta inregistrare: PSAL-07 | Sipca lemn de brad 20x30mm | ml | 320
Fiecare din cele doua randuri este o inregistrare; valoarea "45" singura este un camp (campul StocCurent al primei inregistrari).
Daca ai lucrat deja in Excel: un tabel Access = o foaie de calcul; o inregistrare = un rand; un camp (pentru o inregistrare data) = o celula. Diferenta mare fata de Excel este ca Access obliga fiecare coloana sa aiba un singur tip de date declarat dinainte — nu poti scrie text intr-o coloana declarata Numar.
Tipurile de date din Access
Pentru siruri de caractere scurte: nume, coduri, adrese, numere de telefon (telefonul e Text scurt, nu Numar, pentru ca nu faci calcule cu el si poate incepe cu 0). Lungime maxima implicita: 255 de caractere.
Pentru valori numerice cu care se fac calcule sau comparatii: cantitati, stocuri, varste. Nu se foloseste pentru sume de bani (pentru acelea exista Moneda) si nu pentru telefoane sau coduri postale (acelea sunt Text scurt).
Pentru date calendaristice si/sau ore: data comenzii, data livrarii. Access stie sa sorteze corect datele cronologic si sa calculeze diferente intre ele (de exemplu cate zile au trecut de la comanda).
Pentru valori care au doar doua stari posibile: livrat sau nelivrat, platit sau neplatit, activ sau inactiv. Se afiseaza de obicei ca o casuta de bifat (checkbox).
Pentru sume de bani: preturi, valori de deviz, incasari. Spre deosebire de Numar, pastreaza exact zecimalele (nu rotunjeste in calcule) si poate afisa automat simbolul monetar (de exemplu "lei").
Cea mai frecventa greseala a incepatorilor: alegerea tipului Numar pentru un camp de telefon sau cod postal. Rezultatul: numerele care incep cu 0 (ex. 0745123456) isi pierd 0-ul de la inceput, pentru ca Access le trateaza ca valori numerice, iar 0745123456 devine 745123456. Recunosti greseala cand vezi ca un telefon salvat are mai putine cifre decat cel introdus. Rezolvarea: schimbi tipul campului in Text scurt.
Crearea unui tabel in Vizualizarea Proiect
1. Deschizi Access. In ecranul de start alegi Blank database (Baza de date necompletata), scrii un nume pentru fisier (de exemplu Atelier.accdb), apesi pictograma de dosar de langa nume ca sa alegi folderul unde il salvezi, apoi apesi Create (Creare). Daca ai deja o baza de date, o deschizi normal, cu File → Open.
2. Imediat dupa Create, Access deschide automat un tabel gol numit Table1, in Vizualizare Foaie de date. Nu il folosi — il lasi deoparte (clic-dreapta pe fila lui, sus, apoi Close) si il vei recrea corect, cu nume si campuri alese de tine, la pasii urmatori.
3. In panglica (ribbon), din fila Create (Creare), apesi butonul Table Design (Proiect tabel). Se deschide o grila goala cu trei coloane: "Field Name" (Nume camp), "Data Type" (Tip date) si "Description" (Descriere — optionala, o poti lasa goala).
4. Pe primul rand al grilei, scrii numele primului camp, de exemplu CodMaterial, apoi in coloana Data Type alegi tipul din lista derulanta — pentru un cod, Short Text (Text scurt).
5. Repeti pentru fiecare camp: DenumireMaterial (Text scurt), UnitateMasura (Text scurt), StocCurent (Number/Numar), PretUnitar (Currency/Moneda), DataUltimeiIntrari (Date/Time), Activ (Yes/No).
6. Cand ai adaugat toate campurile, apesi Ctrl+S (Salveaza). Access iti cere un nume pentru tabel — scrii Materiale si apesi OK.
7. Daca nu ai desemnat inca o cheie primara, Access afiseaza o caseta care intreaba daca vrea sa creeze automat un camp de cheie primara. Raspunzi Da (Yes) — despre ce este cheia primara si de ce e importanta veti invata in lectia urmatoare.
8. Pentru a trece la introducerea datelor, apesi clic-dreapta pe fila tabelului (in partea de sus) si alegi Datasheet View (Vizualizare Foaie de date), sau butonul View din stanga panglicii.
Structura definita in Vizualizare Proiect:
CodMaterial — Short Text
DenumireMaterial — Short Text
UnitateMasura — Short Text
StocCurent — Number
PretUnitar — Currency
DataUltimeiIntrari — Date/Time
Activ — Yes/No
Prima inregistrare introdusa in Vizualizare Foaie de date, refacuta pas cu pas: cod PSAL-04, denumire Placa PAL melaminat 18mm, unitate buc, stoc 45, pret 24,50 (Access il afiseaza automat ca 24,50 lei), data 15.01.2026, activ bifat. Daca la StocCurent ai fi ales din greseala tipul Text scurt, valoarea "45" ar fi acceptata la fel ca "45buc" — Access nu ar semnala nicio eroare, dar mai tarziu o suma sau o sortare numerica pe acea coloana ar da rezultate gresite.
Greseala tipica: tipul de date gresit strica sortarea si calculele
Simptom 1: o coloana de numere sortata "crescator" nu iese in ordine normala (de exemplu 100 apare inaintea lui 20) — semn ca tipul campului e Text scurt, nu Number: textele se sorteaza caracter cu caracter ("100" incepe cu "1", inaintea lui "20" care incepe cu "2").
Simptom 2: un numar de telefon salvat are mai putine cifre decat cel scris (0745123456 devine 745123456) — semn ca tipul campului e Number in loc de Text scurt: Number nu pastreaza zerourile de la inceput.
Simptom 3: o data calendaristica nu se sorteaza cronologic — semn ca tipul campului e Text scurt in loc de Date/Time.
In Vizualizare Proiect, dai clic pe randul campului gresit si schimbi valoarea din coloana Data Type in tipul corect, apoi salvezi (Ctrl+S). Access poate afisa un avertisment ca unele date existente ar putea sa nu se converteasca perfect (de exemplu daca ai avut litere intr-un camp pe care il transformi in Number) — de aceea e mult mai bine sa alegi tipul corect de la inceput, in Vizualizarea Proiect, inainte de a introduce date, decat sa corectezi dupa.
Recapitulare si conexiuni
Problema (date repetate si contradictorii intr-o singura foaie de calcul)
↓ rezolvata prin
Baza de date relationala — subiecte separate in tabele diferite
↓ fiecare tabel are
Inregistrari (randuri) si Campuri (coloane)
↓ fiecare camp are
Tip de date — Text scurt, Numar, Data/Ora, Da/Nu, Moneda — ales in Vizualizare Proiect
Astazi ati creat un singur tabel independent. In lectia urmatoare veti invata cum se leaga doua tabele intre ele (de exemplu Clienti si Comenzi) printr-o cheie primara si o cheie externa, astfel incat sa evitati exact problema din provocarea de la inceput — clientul scris de mai multe ori, in mai multe feluri.
Tabel = subiect unic; Inregistrare = rand; Camp = coloana.
Text scurt — nume, coduri, telefoane (nu faci calcule cu telefonul).
Number — cantitati si valori de calculat (nu bani).
Currency — bani, cu zecimale exacte.
Date/Time — sortare si calcule cronologice corecte.
Yes/No — doar doua stari posibile.
Vizualizare Proiect (Design View) = unde definesti structura, INAINTE de a introduce date.