Ein normalisiertes Datenbankschema entwerfen
Machen Sie aus fachlichen Anforderungen ein normalisiertes relationales Schema mit Entitäten, Schlüsseln, Constraints, Indizes, DDL und Prüfabfragen. Entwickelt für ChatGPT, Claude und Gemini. Er enthält 6 anpassbare Variablen und lässt sich kostenlos mit einem Klick kopieren.
Experte · Code · Redaktionelle Prüfung ausstehend
Prompt
Handle als Datenarchitekt mit Erfahrung in relationaler Modellierung und {{engine}}.
Anwendungskontext: {{application}}.
Fachliche Anforderungen (was das System speichern und erlauben muss): {{requirements}}.
Geschätztes Datenvolumen: {{volume}}.
Häufigste Abfragen: {{queries}}.
Liefere in dieser Reihenfolge:
1. Die aus den Anforderungen abgeleiteten Entitäten und Attribute und weise auf Unklarheiten hin, die ich klären muss.
2. Ein Entity-Relationship-Diagramm in Mermaid-Syntax (`erDiagram`) mit Kardinalitäten.
3. Die Begründung für die Normalisierung bis zur 3NF (und wo bewusste Denormalisierung sinnvoll ist, samt Grund).
4. Vollständige DDL für {{engine}}: passende Datentypen, Primärschlüssel (und die Wahl zwischen Ganzzahlen, UUIDs oder ULIDs), Fremdschlüssel mit begründetem `ON DELETE`, `NOT NULL`, `UNIQUE`, `CHECK`-Constraints und Standardwerte.
5. Empfohlene Indizes für die häufigen Abfragen, jeweils mit Erklärung.
6. Eine Strategie für Soft Deletes, Auditing (`created_at`, `updated_at`) und sensible personenbezogene Daten.
7. Drei Beispiel-SQL-Abfragen, die zeigen, dass das Schema die wichtigsten Anwendungsfälle abdeckt.
8. Risiken bei der Weiterentwicklung des Schemas und wie man sie mit Migrationen beherrscht.
Vorgaben:
- Füge keine Entitäten hinzu, die sich nicht aus den Anforderungen ergeben, ohne es mir zu sagen.
- Verwende für Tabellen- und Spaltennamen die Sprache {{naming_language}} in snake_case.
- Wenn kritische Informationen fehlen, frage mich, bevor du die DDL schreibst.So verwenden Sie ihn
- Schreiben Sie Anforderungen als einfache Sätze: „Ein Kunde kann mehrere Adressen haben“.
- Fügen Sie die Abfragen hinzu, die Sie am häufigsten ausführen; sie bestimmen die Indizes.
- Fügen Sie das Mermaid-Diagramm in einen kompatiblen Viewer ein, um es zu prüfen.
- Führen Sie die DDL auf einer Testdatenbank aus, bevor Sie die endgültigen Migrationen schreiben.
Anwendungsbeispiel
Anwendung: Verwaltung einer Sprachschule · Anforderungen: Teilnehmende, Kurse, Kursgruppen, Anmeldungen und monatliche Zahlungen · Datenbanksystem: PostgreSQL 16.
Beispielergebnis
4. DDL (Auszug, PostgreSQL 16)
CREATE TABLE students (
id bigint GENERATED ALWAYS AS IDENTITY PRIMARY KEY,
full_name text NOT NULL,
email text NOT NULL UNIQUE,
created_at timestamptz NOT NULL DEFAULT now(),
deleted_at timestamptz -- Soft Delete
);
CREATE TABLE enrollments (
id bigint GENERATED ALWAYS AS IDENTITY PRIMARY KEY,
student_id bigint NOT NULL REFERENCES students (id) ON DELETE RESTRICT,
class_group_id bigint NOT NULL REFERENCES class_groups (id) ON DELETE RESTRICT,
enrolled_on date NOT NULL DEFAULT current_date,
UNIQUE (student_id, class_group_id)
);
CREATE TABLE monthly_payments (
id bigint GENERATED ALWAYS AS IDENTITY PRIMARY KEY,
enrollment_id bigint NOT NULL REFERENCES enrollments (id) ON DELETE RESTRICT,
period date NOT NULL CHECK (extract(day FROM period) = 1),
amount_cents integer NOT NULL CHECK (amount_cents >= 0),
paid_at timestamptz,
UNIQUE (enrollment_id, period)
);
-- Partieller Index für „Teilnehmende mit überfälligen Zahlungen“
CREATE INDEX idx_payments_unpaid ON monthly_payments (period) WHERE paid_at IS NULL;
ON DELETE RESTRICT verhindert, dass beim Löschen eines Teilnehmers die Zahlungshistorie verloren geht – deshalb Soft Deletes. Beträge werden in Cent gespeichert, um Rundungsfehler zu vermeiden.
Unklarheiten
- Deckt eine Zahlung eine einzelne Anmeldung ab oder alle Anmeldungen eines Teilnehmers im Monat? [AUSFÜLLEN] …
Wichtige Fakten
- Kategorie
- Programmierung & Entwicklung · SQL
- Ausgabetyp
- Code
- Niveau
- Experte
- Entwickelt für
- ChatGPT, Claude und Gemini
- Verifiziert in
- Redaktionelle Prüfung ausstehend
- Variablen
- Datenbanksystem, Anwendung, Anforderungen, Geschätztes Volumen, Häufige Abfragen und Sprache der Bezeichner
- Sprache
- Deutsch
- Preis
- Kostenlos, ohne Anmeldung
- Aktualisiert
- 07.11.2026
Häufig gestellte Fragen
Sollte ich immer bis zur 3NF normalisieren?
Es ist ein solider Ausgangspunkt, der Duplikate und Inkonsistenzen verhindert. Für Auswertungen oder extrem leselastige Tabellen kann sich Denormalisierung lohnen, sollte aber eine bewusste, dokumentierte Entscheidung sein.
UUIDs oder Ganzzahl-IDs?
Ganzzahlen sind kompakt und schnell; UUIDs oder ULIDs verraten keine Datensatzzahlen und lassen sich außerhalb der Datenbank erzeugen. Der Prompt lässt die KI ihre Wahl begründen.
Wofür ist dieser Prompt gedacht?
Machen Sie aus fachlichen Anforderungen ein normalisiertes relationales Schema mit Entitäten, Schlüsseln, Constraints, Indizes, DDL und Prüfabfragen.
Mit welchen KI-Tools funktioniert er?
Er ist für ChatGPT, Claude und Gemini entwickelt. Wir haben ihn in diesen Tools noch nicht überprüft, daher können die Ergebnisse variieren.
Wie passe ich den Prompt an?
Klicken Sie auf „Anpassen“ und füllen Sie die Variablen aus (Datenbanksystem, Anwendung, Anforderungen, Geschätztes Volumen, Häufige Abfragen und Sprache der Bezeichner). Der Text wird sofort aktualisiert und lässt sich anschließend mit einem Klick kopieren. Die Werte werden nur in Ihrem Browser gespeichert.
Brauche ich Erfahrung, um ihn zu verwenden?
Er ist für Experten: Er richtet sich an Personen mit Erfahrung im Thema, die das Ergebnis beurteilen und anpassen können.
Ist dieser Prompt kostenlos?
Ja. Jeder Prompt von HomeCasa Prompts ist kostenlos, ohne Anmeldung und ohne Abonnement. Sie können ihn auch in beruflichen Projekten verwenden.
Kann ich der KI-Ausgabe vertrauen?
Betrachten Sie sie als hochwertigen Entwurf: Prüfen Sie Daten, Zahlen und wichtige Aussagen immer, bevor Sie etwas veröffentlichen oder Entscheidungen treffen.