Namenskonvention
Es gibt keine offiziellen Namenskonventionen für SQL, aber es gibt einige etablierte Konventionen für die Namensgebung.
Noch wichtiger als die Namensgebung ist die Konsistenz.
Wechsle nicht zwischen verschiedenen Stilen.
Ausführlichere Informationen findest du hier.
Von Nutzern erstellte Namen sollten in der Regel snake_case
sein
Datenbank und Schema
Vermeide Datenbanken und Schemas, die mit Zahlen beginnen. Du musst sie sonst jedes Mal in Anführungszeichen setzen, und das kann sehr lästig sein kann
Tabellen
- Tabellen sollten mit singulären Begriffen benannt werden. (Nachricht, Rolle anstelle von Nachrichten, Rollen)
- Verwende wenn möglich einzelne Wörter
Spalten
- Vermeide die Verdoppelung des Tabellennamens. Wenn deine Tabelle
user
heißt und eine id-Spalte hat, nenne sieid
stattuser_id
. - Auch wenn es möglich ist, dass eine Spalte den gleichen Namen wie ihren Typ hat, sollte dies vermieden werden.
Primary Key Spalte
Am häufigsten ist id
für die Spalte des Primary Keys.
Foreign key Spalte
Wenn deine Spalte Teil eines Foreign Keys ist, verwende den Namen der Tabelle, auf die sich der Schlüssel bezieht.
Stell dir eine Tabelle User(id, Name)
und eine Tabelle money(user_id, amount)
vor.
Die Spalte user_id
in money
ist ein Verweis auf die Spalte id
in user
.
Daten
Datumsangaben sollten nicht nur als date
bezeichnet werden, sondern einen beschreibenden Namen wie created
oder changed
haben.
Boolesche Werte
Boolesche Spalten sollten fragende Namen wie is_enabled
oder enabled
haben.
Schlüssel und Indizes
Sollten mit dem Tabellennamen beginnen.
Indizes
Beispiele
<tabellenname>_<Spalte.1>_<Spalte.2>_<Spalte.n>_index
<tabellenname>_<Spalte.1>_<Spalte.2>_<Spalte.n>_uindex
- Enthaltene Spalten
- Suffix mit
index
, wenn nicht eindeutig - Suffix mit
uindex
, wenn eindeutig
Primary Key
- Suffix mit
pk
Foreign keys
<Herkunfts_tabellenname>_<verwandter_tabellenname>
<Herkunfts_tabellenname>_<verwandter_tabellenname>_fk
<Herkunfts_tabellenname>_<verwandter_tabellenname>_<herukunft_spalte>_<verwandte_spalte>_fk
- Enthält den Namen der zugehörigen Tabelle
- mit der Endung
fk
Foreign key player_id
in money
zu id
in player
:\
money_user_player_id_id_fk
Views
- Views sollten mit dem Präfix
v_
versehen werden, um den Unterschied zwischen einer Tabelle und einem View sichtbar zu machen.