Ich bin größtenteils Autodidakt, wenn es um Datenbankdesigns geht. Ich stelle diese Frage, weil ich mich auf diese gemeinsame Struktur geeinigt habe, mich aber frage, ob sie die effizienteste oder die branchenüblichste Methode ist.
Die meisten Datenbanken, die ich entwerfe, haben eine Benutzertabelle, und dann wird eine Personenaktivität in einer anderen Tabelle verfolgt. Ich verstehe, dass die Schönheit der Datenbank darin besteht, diese Art von Effizienz zu erzielen, aber die Aktivitätstabelle erfasst viele, viele Ereignisse ziemlich schnell, nur von jedem Benutzer, der sie regelmäßig verwendet, und wird so ziemlich schnell zu einer riesigen Tabelle mit mäßiger Benutzerauslastung. Ist dies die beste Vorgehensweise, um es einfach so wachsen zu lassen? Oder handelt es sich um eine Tabellenebene oder eine Aufteilung in verschiedene Tabellen basierend auf dem Datum, der Anzahl der Benutzer oder etwas anderem?
+--------------------+ +------------------------+
| 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... |
+------------------------+
Ich möchte nur wissen, wo ich etwas verbessern kann, um zu lernen.