Allgemeine Konventionen für zukünftige Datenbankstrukturen
Wenn Sie ein neues Plugin oder eine Funktion starten, die Änderungen an der Datenbank erfordert, und obwohl Sie die meisten dieser Informationen in den Codierungskonventionen finden (nächster Abschnitt), beachten Sie bitte die folgenden Regeln:
Alle Tabellen MÜSSEN eine eindeutige Kennung haben, die auf einer einzelnen Spalte basiert. Wenn die Tabelle bereits ein
id
enthält, das von einerc_id
-Spalte abhängig ist, MUSS die neue Spalte den Nameniid
Alle Tabellen, die sich auf Kurse beziehen, MÜSSEN die ganzzahlige ID des Kurses verwenden und die entsprechende Spalte aufrufen
c_id
Alle Tabellen, die sich auf Sitzungen beziehen, MÜSSEN die ganzzahlige ID der Sitzung verwenden und die entsprechende Spalte
session_id
(und NICHTid_session
) aufrufenAlle Tabellen, die die Beziehung zwischen anderen Tabellen darstellen (nämlich eine n-m- oder 1-n-Beziehung), SOLLTEN einen Namen mit einem zentralen « rel » -Begriff tragen, in dem die beiden Tabellennamen in alphabetischer Reihenfolge ausgedrückt werden, es sei denn, dies ist kontraintuitiv. Zum Beispiel trägt das Verknüpfen von Benutzern mit Kursen den Tabellennamen
course_rel_user
.Wenn Sie speziell einen Tabellenindex definieren, um die Dinge zu beschleunigen, SOLLTE dieser Index der Reihenfolge der Felder folgen, die in den entsprechenden Abfragen verwendet werden. Beispielsweise sollte für eine Tabelle, die mindestens die drei Felder
user_id
,c_id
undsession_id
enthält, ein Index für diese drei Felder auf den Abfragen basieren, die an diese Tabelle gestellt werden. Wenn eine Abfrage wie folgt funktioniert:SELECT id FROM table WHERE c_id = 3 AND user_id = 872 AND session_id = 32
dann sollte der Index in dieser Reihenfolge erstellt werden:ALTER TABLE table ADD INDEX idx_tcus (c_id, user_id, session_id)
Übersetzungen von Begriffen werden außerhalb der Datenbank verwaltet. Alle Tabellen-, Spalten- und Indexnamen MÜSSEN in ENGLISCHER SPRACHE KORREKT geschrieben sein, um die Verständlichkeit anderer Entwickler auf der ganzen Welt zu verbessern.
Last updated