sql >> Database teknologi >  >> RDS >> Mysql

forslag til oprettelse af mysql-databasestruktur

Hvis jeg forstår dette korrekt, log er til automatisk registrering af detaljer om brugerhandlinger og profile indeholder brugeroplysningerne.

Til log tabel, ser det ud til, at du forsøger at opbevare opsummerede data, som skal opdateres med hver formularindsendelse. Jeg vil foreslå, at du bare indsætter en ny logpost [f.eks. log_id , log_date , profile_id , amount ] ved indsendelse og overlade sammenlægningen til rapporten. For at aktivere joinforbindelsen fra log til profile , inkluderer vi profile_id .

Til profile tabel, bør du sandsynligvis tillade duplikerede indtastninger af first_name |last_name |dob og prøv at finde en anden måde at gøre dem unikke på (enten ved at bruge profile_id , eller via e-mail eller pas nr.).

Jeg er ikke sikker på dine hensigter med rowone , rowtwo , rowthree . Hvis du ved, hvad de er, så navngiv dem eksplicit; hvis de er til elementer, der gentages et ukendt antal gange, kan du overveje at flytte dem til en separat tabel (dvs. normalisere).

Til din rapport vil du derefter skrive en forespørgsel for at deltage i log og profile tabeller sammen med aggregering (dvs. GROUP BY med SUM og/eller COUNT på de nødvendige felter. "Besøgstal" ville være COUNT af logposter for den profil ville "Beløb" være SUM af amount .




  1. hvordan man får Doctrine_Expression ( doktrin 1.2 ) til at prøve at få de sidste 7 dage

  2. Sådan formateres tid til '2:34 timer', '0:34 timer' osv. i MySQL

  3. SQL-punktnotation

  4. Aggreger booleske værdier til sand, hvis nogen af ​​kildekolonnerne er sande