Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Jak zapisywac narzut procentowy dla różnych kategorii
jajcarzd1
post
Post #1





Grupa: Zarejestrowani
Postów: 215
Pomógł: 19
Dołączył: 24.12.2003
Skąd: Przemyśl

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


Witam

Mam takie pytanie. Otóż posiadam w bazie kilka tysięcy produktów, produkty te należą do róznych kategorii i jest ich na chwilę obecną (tych kategorii) około 1400. Dany produkt nalezy do jednej kategorii. Kategorie są przechowywane w tabeli według schematu

Kod
idCategory,idParent,name, ....


Teraz administrator systemu może każdemu użytkowikowi tego systemu przypisac różny narzut procentowy dla każdej z kategorii. Produkty są przechowywane w z cenami netto zakupu. I teraz pytanie w jaki sposób przechowywać te wartości
aby potem móc swobodnie obliczać wartości cen produktów gdy dany użytkownik je sobie przegląda. Jest to coś w stylu B2B. Zakładając że administrator określi np. dla jakiejś kategorii najwyższego poziomu narzut 5%, więc musze zapisać również wszystkie kategorie podrzędne z taką wartością. Potem jednak jeśli chce pobrać z bazy np 1000 produktów naraz to muszą w jakiś sposób sprawdzić dla danego produktu jaki jest dla niego narzut a własciwie dla kategorii do której należy a następnie go obliczyć.

Jakie macie pomysły na coś takeigo

Będę wdzięczny za wszelkei info.
Pozdrawiam

Ten post edytował jajcarzd1 26.07.2010, 13:58:34
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
Pilsener
post
Post #2





Grupa: Zarejestrowani
Postów: 1 590
Pomógł: 185
Dołączył: 19.04.2006
Skąd: Gdańsk

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


Cytat
problemem jest potem w locie określenie ceny dla danego usera robiąc selecta dla produktów. Bo w danym selecie muszę pobrać produkty dla każdego pobrac wartośc narzutu z ewentualnej tabeli narzutów, jesli takiego nie ma to przypisują domyślny i wtedy wyliczam cenę netto sprzedaży dla danego kontrahenta. I nie mam na to pomysłu za brdzo żeby było to wydajne
- ciężko teoretyzować, generalnie dołączanie małych tabel przy relacji jeden do jednego śmiga jak burza (jak masz indeksy), operacje matematyczne też należą do jednych z szybszych. Problem może być wtedy, jeśli masz dużo userów i dużo produktów, wtedy można:
- dodać dodatkowe pola, przeliczane przy modyfikacji danych danej tabeli/tabel
- rozbijać tabele na mniejsze (np. każda główna kategoria produktów w innej tabeli)

Najlepiej sprawdzić testując obciążenie, nie ma sensu martwić się na zapas.
Go to the top of the page
+Quote Post
jajcarzd1
post
Post #3





Grupa: Zarejestrowani
Postów: 215
Pomógł: 19
Dołączył: 24.12.2003
Skąd: Przemyśl

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


Cytat(Pilsener @ 26.07.2010, 21:14:39 ) *
- ciężko teoretyzować, generalnie dołączanie małych tabel przy relacji jeden do jednego śmiga jak burza (jak masz indeksy), operacje matematyczne też należą do jednych z szybszych.

Hmm ale nie bardzo wiem co masz a myśli, co by się miało znaleźć w tych tabelach, bo na chwilę obecną tak jak wspomniałem wcześniej jest już pracująca struktura tabeli produktów i kategorii.

Cytat(Pilsener @ 26.07.2010, 21:14:39 ) *
Problem może być wtedy, jeśli masz dużo userów i dużo produktów, wtedy można:
- dodać dodatkowe pola, przeliczane przy modyfikacji danych danej tabeli/tabel
- rozbijać tabele na mniejsze (np. każda główna kategoria produktów w innej tabeli)

Najlepiej sprawdzić testując obciążenie, nie ma sensu martwić się na zapas.


Userów wielu nie będzie ale produktów aktywnych oscyluje w okolicach od kilku do kilkunastu tys.


Chyba jednak spróbuję zrobić tabelę

Kod
user | kategoria| narzut


tylko że w trakcie definiowania tych wartości będę zapisywał od razu do tej tabeli wszystkie potomne kategorie jeśli dana kategoria takowe posiada i wtedy dość łatwo powinienem pociągnąć left joinem wartość narzutu bo każdy produkt ma pole kategorii w tabeli produktów.
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: 25.12.2025 - 19:06