Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Skladowanie danych w tabeli (many to many)
jacobson
post
Post #1





Grupa: Zarejestrowani
Postów: 468
Pomógł: 36
Dołączył: 14.12.2010

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


Witam, mam takie pytanie. Powiedzmy ze mam 10 uzytkownikow i 10 produktow. Kazdy uzytkownik moze miec ile chce produktow. Musze to skladowac w bazie danych. Czy najlepiej jest stworzyc tabele np: Id, uzytkownik, produkt i tam dodawac kolejne rekordy np:
  1. id1 uzytkownik1 produkt1
  2. id2 uzytkownik1 produkt2
  3. id3 uzytkownik1 produkt3
  4. id1 uzytkownik2 produkt1

czy jest jakies lepsze wyjscie zeby nie dodawac do bazy danych miliona rekordow tylko 1 rekord dla kazdego uzytkownika? Czy takie rozwiazanie jest wystarczajaco optymalne ze nie potrzeba innego ? ;p

pozdrawiam
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
jacobson
post
Post #2





Grupa: Zarejestrowani
Postów: 468
Pomógł: 36
Dołączył: 14.12.2010

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


tak wiem tylko sie zastanawialem np w przypadku jak jest 100000 produktow i uzytkownik ma kazdy z nich to w tabeli jest 100000 rekordow dla kazdego produktu. Czy mimo to to jest najbardziej optymalne rozwiazanie ?
Go to the top of the page
+Quote Post
bpskiba
post
Post #3





Grupa: Zarejestrowani
Postów: 340
Pomógł: 49
Dołączył: 3.07.2009
Skąd: Rzeszów

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


Cytat(jacobson @ 6.05.2012, 16:10:10 ) *
tak wiem tylko sie zastanawialem np w przypadku jak jest 100000 produktow i uzytkownik ma kazdy z nich to w tabeli jest 100000 rekordow dla kazdego produktu. Czy mimo to to jest najbardziej optymalne rozwiazanie ?

Jestem pewny, że trzy tabele będą lepszym rozwiązaniem od Twojej propozycji.
100 000 produktów... wydaje mi się, że nieco przeszacowałeś tą liczbę, gdyż nie widzę przedsiębiorstwa tak szerokim asortymentem.

Aby rozmawiać o wydajności należy jeszcze oszacować ilość klientów, a także ilość i częstość transakcji i dopuszczalny czas odpowiedzi serwera.
Do tego kwestia sprzętu, backupu, może replikacji.
Sama ilość rekordów nie musi być więc przerażająca. Możesz to oczywiście dzielić na części typu zakupy_2012, zakupy_2013, co ułatwi przeprowadzanie porządków.
Weź pod uwagę, że tabele klienci i towary zapewne będą wykorzystywane w innych mechanizmach. W przypadku Twojego pomysłu będzie z tym wielki problem.
Pójście na skróty z lubi się zemścić.
Go to the top of the page
+Quote Post

Posty w temacie


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: 14.10.2025 - 16:58