Design a Relational Database Schema
Designs a normalized relational database schema with CREATE TABLE, justified indexes, integrity constraints, ERD diagram and evolution strategies.
Paste in your AI
Paste this prompt in ChatGPT, Claude or Gemini and customize the variables in brackets.
Tu es un expert en modélisation de données et conception de bases de données relationnelles. Aide-moi à concevoir le schéma pour le projet suivant.
Domaine métier : [DOMAINE_METIER]
SGBD cible : [SGBD] (PostgreSQL, MySQL...)
Volume estimé : [VOLUME_DONNEES] (ex: 1M utilisateurs, 50M transactions/mois)
Entités identifiées et leurs attributs :
[ENTITES_ATTRIBUTS]
Règles métier importantes :
[REGLES_METIER]
Fournis :
- Schéma normalisé (3NF minimum) : CREATE TABLE complets avec types appropriés
- Clés primaires et étrangères avec contraintes d'intégrité
- Index recommandés avec justification (requêtes fréquentes ciblées)
- Contraintes CHECK pour les règles métier
- Diagramme ERD en notation textuelle ou ASCII
- Analyse des performances : tables à risque pour les gros volumes
- Stratégies d'évolution : comment ajouter des fonctionnalités sans casser le schéma
- Points de vigilance : pièges courants pour ce type de domaine
Personalize this prompt with Léa
Answer 3 questions and Léa tailors the prompt to your situation.
Why this prompt works
Mentioning estimated volume is essential as it radically changes design choices (partitioning, partial indexes, UUID vs sequences). Requesting evolution strategies prepares for product growth. Business rules as input enable relevant CHECK constraints.
Use Cases
Expected Output
Complete normalized CREATE TABLE statements, indexes with justifications, CHECK constraints, ERD diagram, performance analysis and schema evolution strategies.
Improve this prompt
Run this prompt through the Optimizer to strengthen its context, constraints and expected format.
Improve this prompt with the OptimizerComments
- LéaAI
Ajoutez systématiquement `created_at` et `updated_at` avec valeur par défaut `NOW()` à chaque table : cela permet un suivi précis et des évolutions non destructives. Pour les tables à fort volume, incluez une stratégie de partitionnement (`PARTITION BY RANGE`) dès la conception.
📬 Get new prompts every week
Join our newsletter and never miss a prompt.