Marcin
Buczek
archiwista, Archiwum
Państwowe w Lublinie
Leszek
Rabek
IT Team Manager/IT
Designer/Analityk/Se
nior Developer
Temat: Ograniczenie liczby wprowadzonych rekordów w czasie
Można zastosować różne podejścia, ale algorytm będzie podobny:Sprawdzasz ile zamówień dany użytkownik wykonał w ciągu ostatnich 24 godzin (przykładowo systemowa data złożenia zamówienia). Oczywiście zamówienia nie anulowane. Jeżeli spełnione są warunki (tu akurat jeżeli zamówień jest mniej niż 10) to pozwalasz dodawac kolejne, jeżeli nie no to komunikat kierowany do użytkownika.
Od strony interfejsu użytkownika można aktywować funkcjonalność dodawania zamówień jeżeli warunek jest ok, w przeciwnym wypadku dezaktywować.
Należy sprawdzać podczas dodawania kolejnych zamówień.
konto usunięte
Temat: Ograniczenie liczby wprowadzonych rekordów w czasie
triggerjak count w 24 h większy niż 10 to rollback ;)
Jarosław
Żurek
Dyrektor ds. rozwoju
systemów
informatycznych
Temat: Ograniczenie liczby wprowadzonych rekordów w czasie
jakbyś "poszedł" w te triggery, to pamiętaj, aby sprawdzić count'em liczbę zamówionych produktów na początku transakcji zamówienia i na końcu, bo użytkownik może działać np. na kilku sesjach...konto usunięte
Temat: Ograniczenie liczby wprowadzonych rekordów w czasie
Marcin Buczek:Nie bardzo rozumiem to "wciągu 24 h", Można zliczać zamówienia dla klienta w zadanym przedziale czasowym od teraz do 24 h wstecz - wówczas mamy np problem ze jak klient zrobi 10 zamówień w sobotę o 20 to w niedziele o 8 rano nie zrobi zamówienia. Monza zrobić tez tak że zrobić licznik dla klienta i na jego podstawie dopuszczać możliwość zrobienie kolejnego zamówienia bądź nie i np o 24 zerować licznik dla wszystkich klientów. Ja bym zrobił sprawdzanie wcześniej niż na trigerze - na trigerze tylko dodatkową blokadę ale np w monecie jak kliknie np zamów na pozycji.
Czy jest możliwe z poziomu bazy np MySQL wprowadzenie ograniczeń co do liczby wprowadzanych rekordów w określonym czasie. W mojej aplikacji użytkownicy logują się na swoje konta i zamawiają produkty. Mam jednak problem z wbudowaniem ograniczenia które pozwoli na zamówienie 10 rekordów w ciągu 24 godzin. Jeśli jest jakieś rozwiązanie to mile się z nim zapoznam lub poproszę o jakąś podpowiedz to może sam dojdę do reszty. Jestem początkującym użytkownikiem MySQL
Roman
Janas
Tech. Sup. & Opr.
Supervisor, Amway
Polska Sp. z o.o.
Temat: Ograniczenie liczby wprowadzonych rekordów w czasie
Marcin Buczek:
Mam jednak problem z wbudowaniem ograniczenia które pozwoli na zamówienie 10 rekordów w ciągu 24 godzin.
Na wstępie proponuję zdefinować co to jest 24 godziny. Czy chodzi o 24 godziny od złożenia ostatniego zamówienia czy o zamowienia złożone w ciagu jednego dnia kalendarzowego (pomiedzy godzina 0:00 i 24:59). Jeżeli problemem jest liczba zamówień to trzeba też wziąć pod uwagę weekendy (sobota, niedziela) jak i dni świąteczne. W przypadku świąt Bożego Narodzenia może to w skrajnym przypadku być nawet 5 dni kalendarzowych (3 dni świąt plus sobota i niedziela).
Ponadto trzeba zdefiniować czy mówimy o 10 zamówieniach w ciągu 24h czy o 10 produktach (zlicznym rekordem może być zarówno zamówienia jak i produkt / pozycja na zamówieniu).
Najłatwiejszą drogą jest przyjęcie 24 godzin jako jednego dnia kalendarzowego i zliczania zamówień (produktów) dokonanych w danym dniu.
Marcin
Buczek
archiwista, Archiwum
Państwowe w Lublinie
Temat: Ograniczenie liczby wprowadzonych rekordów w czasie
n użytkowników zamówiło każdy max 10 produktów w określonym cyklicznym przedziale czasu 24 godzin (razem max n * 10 zamówień w czasie np: od 12:00 do 12:00 dnia następnego)Podobne tematy
-
Bazy Danych » Access 2007 - Filtrowanie i wydruk raportu wg... -
-
Bazy Danych » Selekcja 100 rekordów po numerze kolumny -
-
Bazy Danych » Brak dodawnai rekordów do bazy danych -
-
Bazy Danych » Losowanie rekordów w dużej bazie danych -
-
Bazy Danych » MS SQL - zliczanie zgrupowanych rekordów -
-
Bazy Danych » Wyświetlanie pierwszych rekordów z poszczególnych grup -
-
Bazy Danych » pytanie o pobranie rekordów z miesiąca poprzedniego -
-
Bazy Danych » IN (1,2,3,4,5,6,...,5000) w tabeli z 20 mln rekordów -
-
Bazy Danych » MsSQL Narzędzie do edycji rekordów -
-
Bazy Danych » Łączenie 2 rekordów -
Następna dyskusja: