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
.