[TIP] Cum organizam datele In BD relationale

trucuri, sfaturi si alte idei pentru imbunatatirea lucrului cu Access
Închis
DR.ACCESS
Moderator
Moderator
Mesaje: 300
Membru din: Lun Sep 05, 2011 5:06 pm

[TIP] Cum organizam datele In BD relationale

Mesaj de DR.ACCESS » Mar Feb 04, 2014 10:38 am

Am observat, in majoritatea covarsitoare a exemplelor postate de utilizatorii Access, lipsa normalizarii bazelor de date. De cele mai multe ori, utilizatorii isi imagineaza ca problemele pe care nu le pot rezolva in Excel se rezolva in Access. Gresit. Cele doua aplicatii, lucreaza foarte bine impreuna, dar nu se inlocuiesc. Nu vom gasi niciodata in Access flexibilitatea de calcul a Excel-ului.
Inca odata: ACCESS NU E EXCEL! Si nici invers.
Astfel ca, cei care doresc sa creeze o baza de date, trebuie sa renunte la ideea ca tabelele Access sunt foile de calcul (sheet-urile) din Excel.
Vom porni de la un exemplu simplu.
Am o lista de clienti. Pentru fiecare client vreau sa am la dispozitie urmatoarele informatii: Nume Client, CUI, Reg.Com, Adresa, Telefon s.a
De asemenea am o lista de produse. Fiecarui produs îi voi da un cod ca să-l pot identifica in mod unic în lista de produse, un nume produs, o unitate de masură, pret unitar, unitati in stoc etc.
Clientii fac o comanda. Despre comanda vreau sa stochez urmatoarele informatii: Nr.comanda, Data, produse comandate
Cum sa le organizam?
Daca le pun pe toate la gramada intr-un tabel….
Voi avea ceva de genul:
Tabel1.jpg
Si daca un client isi schimba numarul de telefon ce fac? Iau la rand toate produsele din toate comenzile si modific in dreptul lor informatia respectiva?
Nu. Facem un tabel cu clienti, unul cu produse, listate in mod unic. Apoi cream un tabel comenzi in care inregistram doar numarul comenzii, data,id client. Mai putin produsele. De ce? Pentru ca o comanda poate contine mai multe produse asa cum un produs se poate regasi in mai multe comenzi. Si ce fac?
Fac un tabel cu doua coloane care asociaza numarul comenzii cu codul produsului. Il denumesc, sa spunem… Detalii (ca si zona de detalii dintr-o factura)
Cum interpretez datele? Asa cum si Access o face. Adica: in tabelul comenzi, cand citesc Id_Client e ca si cum as citi tot randul corespunzator din tabelul clienti. Am inlociut defapt o intreaga colectie de date redundante cu un singur numar.
structura corecta.jpg
Daca tabelele pe care le introducem in Access nu au nicio legatura intre ele, in momentul in care extragem printr-o interogare date din ambele (client-produs, spre exemplu) ceeea ce obtinem este defapt produsul cartezian al celor doua multimi de informatii, adica toate perechile posibile care se pot face prin asocierea fiecarui client cu fiecare produs. La ce mi-ar folosi? La nimic. In loc sa obtin produsele COMANDATE de client obtin o lista de genul: “Ce-ar fi daca fiecare client ar comanda fiecare produs?”

Daca datele sunt introduse corect, problemele de genul: "la modificarea categoriei sa mi se afiseze in tabelul produse informatiile in mod automat...." se anuleaza de la sine.
Nu aveţi permisiunea de a vizualiza fişierele ataşate acestui mesaj.
D. Tanase
MCT, MCTS
MOS Master Instructor

Avatar utilizator
Dr.Excel
Site Admin
Site Admin
Mesaje: 1997
Membru din: Sâm Ian 24, 2009 1:45 pm
Localitate: Bucharest
Contact:

Re: [TIP] Cum organizam datele In BD relationale

Mesaj de Dr.Excel » Mar Feb 04, 2014 10:50 am

Superb :)

Trimis de pe al meu GT-P5100 folosind Tapatalk

MCT, MCITP
MOS Master Instructor
IT Learning

DR.ACCESS
Moderator
Moderator
Mesaje: 300
Membru din: Lun Sep 05, 2011 5:06 pm

Re: [TIP] Cum organizam datele In BD relationale

Mesaj de DR.ACCESS » Mar Feb 04, 2014 11:07 am

Multumesc, mai am si altele in plan. Stati pe-aproape, ca urmeaza si subiectul "Tipuri de relatii si efectul lor la extragerea datelor"
D. Tanase
MCT, MCTS
MOS Master Instructor

danyt
Mesaje: 160
Membru din: Joi Mar 31, 2011 11:01 pm

Re: [TIP] Cum organizam datele In BD relationale

Mesaj de danyt » Vin Feb 07, 2014 10:01 pm

Bun exemplu!!! A mai aparut subiectul Tipuri de relatii si efectul lor la extragerea datelor? Multumim.

DR.ACCESS
Moderator
Moderator
Mesaje: 300
Membru din: Lun Sep 05, 2011 5:06 pm

Re: [TIP] Cum organizam datele In BD relationale

Mesaj de DR.ACCESS » Sâm Feb 08, 2014 8:39 am

Da, vedeti aici si aici
D. Tanase
MCT, MCTS
MOS Master Instructor

Închis

Înapoi la “Tips and tricks in Access (indiferent de versiune)”