Mysql
 sql >> Baza danych >  >> RDS >> Mysql

sugestia tworzenia struktury bazy danych mysql

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 .




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. AttributeError:obiekt 'tuple' nie ma atrybutu 'encode' - MySQLdb Python

  2. jak usunąć partycję bez upuszczania danych w MySQL?

  3. Błąd zamiany lub wstawiania SQL do składni

  4. Błąd połączenia Androida java.lang.UnsupportedOperationException

  5. ten sam zalogowany użytkownik przypisał różne identyfikatory sesji (w różnych przeglądarkach)