jedno pitanje. Kod projektovanja sistema gde postoji veliki broj korisnika, da li se za svakog korisnika koji se registruje(otvara nalog) pravi nova tabela(u kojoj su naprimer sem osnovnih podataka i podaci o custom izgledu interfejsa) ili se to radi na neki drugi nacin?
Naravno da ne. Program ne bi trebalo da menja strukturu baze.
Recimo da imaš portal gde ti se customizacija svodi na izbor .css-a i uključivanje i isključivanje pojedinih modula od strane korisnika. Da bi to uradio, imaš:
1) tabelu korisnici, u kojoj su userid, osnovni podaci i styleid
2) tabelu stliovi, u kojoj su styleid i putanja do css fajla
3) tabelu moduli u kojoj su moduleid i sva druga bitna polja vezana za module
4) tabelu korisnikmodul u kojoj su userid i moduleid
Isključivanjem i uključivanjem pojedinih modula od strane korisnika samo se brišu i dodaju odgovarajući slogovi u tabelu korisnikmodul.
odlicno..kapiram..
a za slucaj da je u pitanju npr. student i treba da se organizujue baza za svakog studenta da se vide polozeni(i nepolozeni) ispit, da li se svi ispiti od razlicitih studenata guraju u istu tabelu kao novi redovi, ili svaki ispit ima svoju tabelu, ili je svaki ispit posebna kolona?
Nađi neku literaturu o relacionim bazama, pročitaj malo o kardinalnosti relacija. Uopšteno, važi pravilo: jedna vrsta objekata - jedna tabela.
Dakle, u tvom slučaju: za studente imaš jednu tabelu, za predmete imaš jednu tabelu, za ocene (polagane ispite) imaš jednu tabelu (u kojoj imaš polja studentid, predmetid, datum i ocena). Pri dodavanju novog ispita (ili novog studenta), ne menjaš strukturu baze, ne dodaješ tabele, već samo slogove u postojeće tabele.
Uzmi knjigu, mnogo je bolje nego da pitaš i dobijaš ovde odgovore parče po parče.