Pagina de start a forumului Forum PHP Romania - Discutii despre PHP, MySQL, Javascript, AJAX, etc Forum PHP Romania - Discutii despre PHP, MySQL, Javascript, AJAX, etc
Comunitatea PHP Romania
 

normalizare
Vezi mesajul original

 
       Pagina de start a forumului Forum PHP Romania - Discutii despre PHP, MySQL, Javascript, AJAX, etc -> MySQL
Subiectul anterior :: Subiectul următor  
Autor Mesaj
badtiger



Data înscrierii: 03/Noi/2006
Mesaje: 238

Trimis: Mar Noi 13, 2007 12:52 pm    Titlul subiectului: normalizare  

Pt un site (site+baza de date) care are integrat un blog/forum este buna normalizarea bazei de date in ceea ce priveste stocare userilor care au postat?
Mai exact sa nu am 100 de gigel in tabela de posturi, daca gigel a postat de 100 de ori, ci sa am 100 de [UID a lui gigel]

Cele 2 situatii la care ma gandesc sunt:

1] incarcare bazei de date, deci ar trebui normalizata (optimizata)
2] interogarile pt a afla userii sa cada mai greu in balanta decat 1]



<post reeditat; motiv:ambiguitate>
Sus  
beeuser



Data înscrierii: 20/Mai/2004
Mesaje: 389

Trimis: Mar Noi 13, 2007 2:02 pm    Titlul subiectului:  

Cateodata ii mai bine sa lasi numele decat id-ul.
Eu personal folosesc id-uri pentru chei straine.

Dar exista situatii in care este mai bine sa ocupe mai mult spatiu baza de date (cand nu folosesti chei straine), dar interogarile sa dureze mai putin (pentru ca nu mai faci join). Asta de obicei in cazul in care trebuie sa faci un join intre mai multe tabele cu multe inregistrari. Si apoi ai grija la indecsi, chei straine, cum definesti structura tabelei.
Sus  
badtiger



Data înscrierii: 03/Noi/2006
Mesaje: 238

Trimis: Mar Noi 13, 2007 2:36 pm    Titlul subiectului:  

ok. merci de sfat.

Cred ca pt inceput am sa las nenormalizat si apoi in functie de evolutia site-ului voi normaliza daca va fi nevoie. :D
Sus  
mihaitha



Data înscrierii: 04/Mai/2007
Mesaje: 1816
Locație: Sibiu

Trimis: Mar Noi 13, 2007 4:41 pm    Titlul subiectului:  

Eu iti recomand sa gandesti baza de date de la inceput cu cat mai putine informatii redundante. Gandeste-te ca un camp de tip varchar ascii cu valoarea 'gheorge' sa zicem ocupa 9 octeti (8 caractere de cate 1 octet + octetul \0 de final), iar daca e utf papa de 2 ori mai mult (2 octeti/caracter), in timp ce un int (cat ar fi un index) iti papa 4 octeti, iar un mediumint 2. Plus ca m-ar mira sa iti afecteze un join performanta in asa hal. In schimb fragmentarea informatiei in baza de date sigur ti-o afecteaza serios.

//LE: plus ca o sa te chinui serios sa rearanjezi baza de date odata ce e plina de informatie.
Sus  
dechim



Data înscrierii: 10/Mai/2005
Mesaje: 656
Locație: Drobeta Turnu Severin

Trimis: Mar Noi 13, 2007 6:12 pm    Titlul subiectului:  

@mihaitha, cat de mare si incurcata trebuie sa fie tabela ca cei cca 20 de octeti in plus sa conteze atat de mult. Ma gandesc ca "username" nu se poate modifica niciodata. Doar pentru spatiu sa ma complic !? Merita ?
Am incercat sa pun furnizorii asa (fara ID) si a trebuit sa renunt la tot si sa refac. Da' aici parca-i alta treaba !
Sus  
PHPRomania Bot
Bot Member


Data înscrierii: 27/Dec/2007
Mesaje: 1
Locaţie: Server Google
Trimis: Mie Dec 26, 2007 7:01 pm   Titlul subiectului: Ad  

Sus  
 
       Pagina de start a forumului Forum PHP Romania - Discutii despre PHP, MySQL, Javascript, AJAX, etc -> MySQL
Pagina 1 din 1


Powered by phpBB 2.0.22 © 2001, 2002 phpBB Group
Varianta în limba română: Romanian phpBB online community