sql >> Base de Datos >  >> RDS >> Mysql

sugerencia para crear la estructura de la base de datos mysql

Si entiendo esto correctamente, log es para registrar automáticamente los detalles de las acciones del usuario y profile contiene los detalles del usuario.

Para el log table, parece que está intentando mantener datos resumidos, que necesitarían actualizarse con cada envío de formulario. Le sugiero que simplemente inserte una nueva entrada de registro [p. log_id , log_date , profile_id , amount ] en el momento de la presentación y dejar la agregación para el informe. Para habilitar la unión desde log a profile , incluimos profile_id .

Para el profile tabla, probablemente debería permitir entradas duplicadas de first_name |last_name |dob e intente encontrar otra forma de hacerlos únicos (ya sea usando profile_id , o por correo electrónico, o número de pasaporte).

No estoy seguro de tus intenciones para rowone , rowtwo , rowthree . Si sabe cuáles son, entonces nómbrelos explícitamente; si son para elementos que se repiten un número desconocido de veces, considere moverlos a una tabla separada (es decir, normalizar).

Para su informe, escribirá una consulta para unirse al log y profile tablas juntas, con agregación (es decir, GROUP BY con SUM y/o COUNT en los campos necesarios. "Recuento de visitas" sería el COUNT de entradas de registro para ese perfil, "Cantidad" sería el SUM de la amount .