Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: skrypt bank
Forum PHP.pl > Forum > Bazy danych > MySQL
mapy
Witam.

Piszę skrypt bank - systemu transakcyjnego przelewów i nie wiem jak będzie lepiej zaprojektować.

Wszystkie operacje w jednej tabeli, np.

ID | DATA_OPERACJI | KWOTA | ID_NADAWCY | ID_ODBIORCY | SALDO_PO_OPERACJI

Czy w tabeli KLIENCI zapisywać saldo? Czy zawsze liczyć sumowaniem w tabeli OPERACJE?
Zastrzegam, że będzie wiele OPERACJI.
Tak samo SALDO_PO_OPERACJI trzeba obliczać sumowaniem po każdej operacji.

Jak to zrobić, aby było jak najbardziej optymalnie? Może podział na tabele dla każdego klienta?
Klientów także będzie sporo.
Robienie przelewów będzie także wymagać transakcji, ale jak to zrobić, bo przelew będzie wyglądać tak:
OPERACJA Obciążenie konta -x.xx
OPERACJA Zasilenie innego konta x.xx.
Czyli 2 operacje jednocześnie, w dodatku każda musi mieć aktualne saldo po jej wykonaniu.

Dodatkowo będą robione różne raporty - obroty itp.






CuteOne
1. W jakim celu trzymasz saldo_po_operacji?
2. Ja bym to rozdzielił na kilka tabel - każda przystosowana do osobnych danych np.

transakcje (aktualne transakcje czekające na wykonanie)
id | id_nadawca | id_odbiorca | kwota | status

transakcje_archiwum(wykonane transakcje)
-=-

klient (dane osobowe)
id | imie | nazwisko itd.

rachunek
id | id_klienta | saldo | wolne_srodki

3. Zamiast wykonywać operacje w czasie zapisu danych do bazy lepiej użyć do tego crona lub demona tak jak to robią banki (pamiętaj, że wykonanie zwykłego przelewu to wiele operacji na bazie nie tylko sprawdzenie czy saldo >= kwocie przelewu)
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.