Jeśli dobrze to rozumiem, log służy do automatycznego rejestrowania szczegółów działań użytkownika i profile przechowuje dane użytkownika.
Dla log tabeli, wydaje się, że próbujesz przechowywać podsumowane dane, które wymagają aktualizacji przy każdym przesłaniu formularza. Proponuję po prostu wstawić nowy wpis do dziennika [np. log_id , log_date , profile_id , amount ] po złożeniu i pozostawić agregację w sprawozdaniu. Aby włączyć dołączenie z log do profile , dołączamy profile_id .
Dla profile tabeli, prawdopodobnie powinieneś zezwolić na zduplikowane wpisy first_name |last_name |dob i spróbuj znaleźć inny sposób na uczynienie ich unikalnymi (albo za pomocą profile_id , e-mailem lub nr paszportu).
Nie jestem pewien twoich intencji co do rowone , rowtwo , rowthree . Jeśli wiesz, czym one są, nazwij je wyraźnie; jeśli dotyczą elementów, które powtarzają się nieznaną liczbę razy, rozważ przeniesienie ich do osobnej tabeli (tj. znormalizowanie).
W swoim raporcie będziesz wtedy pisać zapytanie, aby dołączyć do log i profile tabele razem, z agregacją (np. GROUP BY z SUM i/lub COUNT na niezbędnych polach. „Liczba odwiedzin” to COUNT wpisów dziennika dla tego profilu, „Kwota” to SUM amount .