Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> Architekura bazy - jedna czy kilka tabel?
Foxx
post
Post #1





Grupa: Zarejestrowani
Postów: 896
Pomógł: 76
Dołączył: 15.11.2003
Skąd: Sosnowiec/Kraków

Ostrzeżenie: (0%)
-----


Załóżmy, że mamy sklep z kilkoma typami produktów.
Załóżmy, że każdy produkt ma dużo atrybutów, powiedzmy 50.
I na koniec - że poszczególne typy produktów mają większość atrybutów wspólnych. Powiedzmy, że gdyby zrobić jeden superprodukt, posiadający wszystkie możliwe atrybuty to byłoby ich 65.

Czy w takiej sytuacji należy zrobić osobną tabelę dla produktów każdej kategorii czy raczej zrobić jedną tabelę ze wszystkimi możliwymi parametrami i pozwolić na niewykorzystanie kilku z nich w każdym produkcie?
Jakimi kryteriami kierować się przy podejmowaniu decyzji?
Go to the top of the page
+Quote Post
Rafal Filipek
post
Post #2





Grupa: Zarejestrowani
Postów: 274
Pomógł: 54
Dołączył: 2.05.2006
Skąd: Nadarzyn

Ostrzeżenie: (0%)
-----


Ja bym zrobił to bez udziwniania.
- tabela z produktami
- tabela z typami
- tabela z atrybutami typow
- tabela z atrybutami typow przypisanymi do produtkow
powiedzmy ze masz 1000 produktow w sklepie kazdy tak jak mowiles ma 50 atrybutow. Powiedzmy ze kazdy typ ma jakies 10 atrybutow. Typow masz ze 20. W takim przypadku masz:
produtky - 1000
typy - 20
atrybuty typow - 20 * 20 = 400 ( zakladam pesymistycznie ze kady typ ma rozne atrybuty )
atrybuty produktow = 1000 * 50 = 50000
i jest to pesymistyczna ilosc rekordow. Zakladajac teraz ze na 1 stronie maksymalnie wyswietlisz ze 30 produktow to ilosc danych jakie bedziesz musial przerobic robi sie bardzo mala.
Dorzucisz do tego cache i nie powinno byc problemu. No i pamietaj o indeksach (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)
Go to the top of the page
+Quote Post
konys
post
Post #3





Grupa: Zarejestrowani
Postów: 100
Pomógł: 7
Dołączył: 5.11.2005

Ostrzeżenie: (0%)
-----


Podobny sposób zostal zaimplementowany w Magento i warto moim zdaniem zajrzec do wygenerowanej przez niego bazy. Swoja droga polecam tutorial EAV.
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 26.09.2025 - 13:39