Om jag förstår detta rätt, log
är för att automatiskt registrera detaljer om användaråtgärder och profile
innehåller användaruppgifterna.
För log
tabell, verkar du försöka hålla sammanfattade data, som skulle behöva uppdateras med varje formulärinlämning. Jag skulle föreslå att du bara infogar en ny loggpost [t.ex. log_id
, log_date
, profile_id
, amount
] vid inlämnandet och lämna sammanställningen till rapporten. För att aktivera anslutningen från log
till profile
, inkluderar vi profile_id
.
För profile
tabell, bör du förmodligen tillåta dubbletter av first_name
|last_name
|dob
och försök hitta ett annat sätt att göra dem unika (antingen genom att använda profile_id
, eller via e-post, eller passnummer).
Jag är inte säker på dina avsikter med rowone
, rowtwo
, rowthree
. Om du vet vad de är, namnge dem uttryckligen; om de är för objekt som upprepas ett okänt antal gånger, överväg att flytta dem till en separat tabell (dvs. normalisera).
För din rapport kommer du sedan att skriva en fråga för att gå med i log
och profile
tabeller tillsammans, med aggregering (dvs. GROUP BY
med SUM
och/eller COUNT
på de nödvändiga fälten. "Besöksantal" skulle vara COUNT
av loggposter för den profilen skulle "Belopp" vara SUM
av amount
.