Mam taką strukturę bazy którą chcę zmodyfikować do jak najpoprawniejszej postaci.

Centralną częścią jest tabela "payments" która przechowuje informacje o:
- idproduct - produkt za jaki odnotowano płatność
- idtitle - tytuł płatności
- idaccount - numer konta
- date - data odnotowania płatności
Teraz istotną sprawą jest to że wpłata klienta może zostać podzielona na kilka osób dlatego też założyłem tabelę "payments_client" która przechowuje informacje o wysokości wpłaty klienta oraz jego identyfikator.
Kolejny krok to rozdzielenie płatności klienta na elementy w ramach jednego produktu dlatego też istnieje tabela "payments_items". dlaczego płatność klienta jest dzielona ? Ponieważ załóżmy że mamy zestaw komputerowy który składa się z monitora i stacji są to obiekty które muszą zostać rozdzielone ze względu np. na różne stawki VAT.
Ostatnia sprawa to zwrot płatności, jednak należy uwzględnić że nie musi zostać zwrócona cała płatność a jedynie jej część a ze względu na konieczność określania poziomu wpłat za dany obiekt wydaje mi się konieczne dokonywanie zwrotu na poziomie elementu.
Chciałem się dowiedzieć co sądzicie o tej strukturze oraz możliwościach jej modyfikacji ?