PostgreSQL
 sql >> Datenbank >  >> RDS >> PostgreSQL

Modellierung von Datenbanktabellen für Benutzer, Gruppen und Mitgliedschaften

sieht ziemlich gut aus.

Sie zeigen „approved_by“ in 2 Tabellen. Wenn Sie die MembershipStatus-Tabelle beibehalten, sollte sie dorthin gehören. außerdem impliziert der Name „genehmigt_von“ den Status „genehmigt“, der existieren kann oder nicht. vielleicht fällt dir ein anderer Name ein...

Sie sollten wahrscheinlich auch eine Tabelle haben, die identifiziert, welche Benutzer Administratoren für welche Gruppen sind. Auf diese Weise können Sie die datenbankseitige Sicherheit dafür codieren, wer genehmigen darf, und speichern, wer tatsächlich genehmigt hat.

Außerdem bin ich kein großer Fan davon, den Überwachungsverlauf in der Tabelle zu speichern, wie Sie sie zeigen. Verwenden Sie entweder die integrierte Audit-Datenbank oder ziehen Sie diese in eine andere Tabelle, um den Audit-Verlauf aufzuzeichnen.

schließlich scheinen id und userid überflüssig zu sein. gehen Sie mit Benutzer-ID. (ähnlich auf anderen Tischen)