sql >> Databáze >  >> RDS >> Mysql

návrh na vytvoření struktury databáze mysql

Pokud tomu dobře rozumím, log slouží k automatickému zaznamenávání podrobností o akcích uživatele a profile obsahuje údaje o uživateli.

Pro log Zdá se, že se pokoušíte uchovávat souhrnná data, která by bylo potřeba aktualizovat při každém odeslání formuláře. Navrhoval bych, abyste vložili nový záznam protokolu [např. log_id , log_date , profile_id , amount ] při odeslání a agregaci ponechte na zprávě. Chcete-li povolit připojení z log do profile , zahrnujeme profile_id .

Pro profile tabulky, pravděpodobně byste měli povolit duplicitní položky first_name |last_name |dob a zkuste najít jiný způsob, jak je učinit jedinečnými (buď pomocí profile_id nebo e-mailem nebo číslem pasu).

Nejsem si jistý vašimi záměry pro rowone , rowtwo , rowthree . Pokud víte, co to je, pak je výslovně pojmenujte; pokud jsou pro položky, které se opakují neznámo kolikrát, zvažte jejich přesunutí do samostatné tabulky (tj. normalizaci).

Pro vaši zprávu pak napíšete dotaz, abyste se připojili k log a profile tabulky dohromady, s agregací (tj. GROUP BY s SUM a/nebo COUNT na potřebných polích. "Počet návštěv" bude COUNT z položek protokolu pro tento profil, "Částka" bude SUM z amount .




  1. MYSQL - vyberte první 4 záznamy pro každou kategorii v tabulce

  2. Existuje databázový stroj, který umožňuje omezení dotazovatelného pole specifikované RegEx?

  3. MySQL Arrays:Dá se to udělat?

  4. protínají se mysql