Sono principalmente autodidatta quando si tratta di progettare database. Sto ponendo questa domanda perché mi sono basato su questa struttura comune, ma mi chiedo se sia il metodo più efficiente o "standard di settore".
La maggior parte dei database che progetto hanno una tabella utente e quindi un'attività di persone viene tracciata in un'altra tabella. Capisco che la bellezza del database sia quella di avere questo tipo di efficienze, ma la tabella delle attività raccoglierà molti eventi abbastanza rapidamente da ogni utente che lo utilizza regolarmente, diventando così una tabella enorme abbastanza rapidamente con un uso moderato da parte dell'utente. È questa buona pratica lasciarla crescere in questo modo? O è un livello di tabelle o suddivisione in tabelle diverse in base alle date o per quantità di utenti o qualcos'altro?
+--------------------+ +------------------------+
| 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... |
+------------------------+
Vorrei solo sapere dove posso migliorare qualsiasi cosa, per aiutarmi a imparare.