Kiedy przechowywać w bazie rekordy, które można wyliczyć?

0

Witam wszystkich :)

Przeczytałem, że nie należy przechowywać w bazie danych, które mogę wyliczyć.... ale to też zależy jakie to dane i jak często są wyświetlane. I teraz mam dylemat [glowa] tworzę widok w którym użytkownik sprawdza ile ma jeszcze do zapłaty za kurs, czyli teoretycznie każdy użytkownik będzie tę kwotę wyświetlać przynajmniej raz w miesiącu czy przechowywać ją w bazie czy wyliczać za każdym razem ... co proponujecie?

0

jak często się zmienia ta kwota?

0

średnio raz w miesiącu :-/

0

a co powoduje tą zmianę? Pytam bo chcę wiedzieć czy dało by się zrobić automatyczny update tych komórek (np. triger)

0

W skrócie: człowieczek widzi ile jeszcze ma do zapłaty; kwota zmienia się jeśli dokupi coś lub wpłaci kolejną ratę - dokupi max 1 na pół roku, rata będzie wpływać średnio co miesiąc.
Cały czas myślę o trigerze, ale mam wątpliwości czy jeśli coś się wysypie w działaniu trigera (czy tak w ogóle należy zakładać ???), to spowoduje to straty dla firmy, a przy tym ktoś mi może zarzucić, że przechowuję dane, które można wyliczyć. Z drugiej strony jak klient będzie wyświetlał tą wartość co tydzień albo codziennie... Nie wiem jak będzie lepiej [???]
Co robić ?

0

ja bym sugerował trigger.
btw takie rzeczy często trzyma się w bazie bo generalnie bardziej liczy się szybkość przetważania danych a nie to ile one miejsca zajmują

0

w takim układzie zastosuję trigger :) dzięki za pomoc :)

0

Zamiast triggera zrobiłbym insert razem z update w jednej transakcji. Najlepiej jednak takie rzeczy wyliczać. Sam napisałeś, że wartość będzie się rzadko zmieniać, więc będzie też rzadko wyświetlana przez osobę zainteresowaną.

Agregowanie danych jest uzasadnione tylko w przypadku gdy coś wylicza się dłużej niż zauważalną chwilę, np. jakieś raporty sezonowe, które wyliczają się kilka godzin.

1 użytkowników online, w tym zalogowanych: 0, gości: 1