Datenbank-Namenskonventionen: Tabellen, Spalten und Schlüssel

6 Min. Lesezeit

Konsistente Benennung in Datenbanken verhindert Verwirrung, vereinfacht Abfragen und macht Schema-Migrationen sicherer.

Der Standard: snake_case

Die überwältigende Konvention in SQL-Datenbanken ist snake_case für alles: Tabellennamen, Spaltennamen, Indizes und Constraints.

CREATE TABLE user_accounts (
  user_id SERIAL PRIMARY KEY,
  first_name VARCHAR(100),
  last_name VARCHAR(100),
  created_at TIMESTAMP DEFAULT NOW()
);

Tabellennamen: Singular oder Plural?

StilBeispielVerwendet von
Singularuser, orderLaravel, Django
Pluralusers, ordersRails, viele Teams

Wählen Sie eines und bleiben Sie konsistent. Beide sind gültig.

Regeln zur Spaltenbenennung

  • Primärschlüssel: id oder table_name_id
  • Fremdschlüssel: referenced_table_id (z. B. user_id)
  • Zeitstempel: created_at, updated_at, deleted_at
  • Booleans: is_active, has_verified
  • Reservierte Wörter vermeiden: Benennen Sie Spalten nicht order, user, group

Index- und Constraint-Namen

idx_users_email        -- Index
uq_users_email         -- Unique Constraint
fk_orders_user_id      -- Fremdschlüssel
chk_orders_total       -- Check Constraint

In snake_case umwandeln

Nutzen Sie den snake_case-Konverter oder den Case-Converter-Hub.