Intrebare legata de structurarea bazei de date

Întrebări legate de conectarea la baze de date MySQL prin intermediul PHP

Moderatori: Zamolxe, Moderatori

serbanalexandru94
PHPRomania Supporter
Mesaje: 11
Membru din: Vin Iul 25, 2014 12:34 pm

Intrebare legata de structurarea bazei de date

Mesajde serbanalexandru94 » Vin Iul 25, 2014 1:10 pm

Salut!
Am si eu o intrebare legata de structurarea unor tabele in baza de date.Situatia este urmatoarea,am mai multe companii ce pot avea clienti,deci o relatie many to many intre companii si clienti,pe care o rezolv usor cu un tabel companii_clienti insa clientii pot fi de mai multe tipuri gen persoana fizica,persoana juridica,persoana cu probleme,etc si tipurile astea de persoane au niste field-uri in comune si niste field-uri proprii.Intrebarea mea este cum e cel mai bine sa fac structurarea tipelor de persoane tinand cont si de combinarea cu companiile.Eu pana in momentul de fata am ajuns la trei solutii.
Prima ar fi sa fac un singur tabel pentru toate tipurile de persoane si sa adaug acolo toate tipurile de proprietati si o coloana care spune ce fel de persoana este,dar dezavantajul este ca vor fi multe locuri null in tabel si ca la introducerea unui noi tip de persoane trebuie sa adaug coloane si cu proprietatile ei particulare.
A doua este sa fac un tabel pentru fiecare tip de persoana,gen PersoanaFizica,PersoanaJuridica etc si sa am un tabel tipuri_clienti cu toate tipurile de clienti si id pentru fiecare si astfel tabelul companii_clienti din relatia many to many o sa contina un field cu id-ul client si unul cu id-ul tipului clientului ca sa stiu in ce tabel il gasesc,dezavantajele sunt ca pentru fiecare tip de persoana aparut trebuie sa fac un nou tabel si practic modific baza de date din logica si stiu ca asta e foarte rau.
Si ultima varianta putin asemanatoare cu a doua,sa fac un tabel care sa contina toate proprietaiile comune ale persoanelor gen id,nume,adresa etc si pentru fiecare tip de persoana sa mai fac un tabel unde pun propietatiile particulare si sa leg tabelul general de celelalte tabeluri particulare dar din nou desi am tabele mai micute pentru fiecare persoana tot sunt nevoit sa fac un tabel nou pentru fiecare tip de persoana.
Intrebarea mea este ce alte posibilitati mai sunt si daca nu mai sunt posibilitati care din cele 3 este cea mai practicata si nu uitati dupa cum am zis am o relatie many to many intre companii si acesti clienti deci trebuie sa iau si asta in calcul.
Multumesc!



Înapoi la “MySQL”

Cine este conectat

Utilizatori ce ce navighează pe acest forum: Niciun utilizator înregistrat și 13 vizitatori