Soy principalmente autodidacta cuando se trata de diseños de bases de datos. Estoy planteando esta pregunta porque me he decidido por esta estructura común, pero me pregunto si es el método más eficiente o 'estándar de la industria'.
La mayoría de las bases de datos que diseño tienen una tabla de usuario, y luego una actividad de personas se rastrea en otra tabla. Entiendo que la belleza de la base de datos es tener este tipo de eficiencias, pero la tabla de actividades reunirá muchos eventos con bastante rapidez solo por cada usuario que la use regularmente, convirtiéndose así en una gran tabla con bastante rapidez con un uso moderado del usuario. ¿Es esta la mejor práctica simplemente dejar que crezca de esta manera? ¿O es un nivel de tablas, o dividirse en diferentes tablas en función de las fechas, o por cantidad de usuarios, o algo más?
+--------------------+ +------------------------+
| UserData | | Activity |
+-=------------------+ +------------------------+
| ID (auto uint) | <--1-to-many-+ | ID (auto uint) |
| UserName (text) | +--> | UserID (uint) |
| Email (text) | | Timestamp (time) |
| additional info... | | Type (ID to elsewhere) |
+--------------------+ | additional info... |
+------------------------+
Solo me gustaría saber dónde puedo mejorar cualquier cosa, para ayudarme a aprender.