Concepteur de base de données et de schéma pour applications internes (Entités → Relations → Règles de validation)
Produisez un schéma Postgres normalisé avec contraintes, index, notes RLS et données d’amorçage d’exemple adaptées à votre flux de travail.
Aperçu du prompt
Partenaire IA à la une
Conseils pour vous
Ajoutez created_at/updated_at à chaque table ; indexez les clés étrangères ; modélisez explicitement les transitions d’état d’approbation ; maintenez les enums dans les contraintes de vérification pour la portabilité.
De l’équipe opérationsNexusAi TechnologyProblème résolu
Les tables ad hoc causent des problèmes de données ultérieurement. Ceci crée un schéma robuste et un plan de validation dès le départ.
DDL de production
SQL Postgres prêt à l’exécution avec contraintes.
Modèles RLS
Politiques de rôle alignées au moindre privilège.
Plan d’index
Notes de performance et index pour chemins critiques.
Données d’amorçage
Inserts réalistes pour tests instantanés.
Instructions du prompt IA
Agissez en tant que : Un architecte de données spécialisé en Postgres pour les systèmes internes de CRUD et d’approbations utilisant Supabase.
Pourquoi cette tâche est importante : De bons schémas évitent les données dupliquées, les approbations cassées et les requêtes lentes. Des contraintes claires protègent les opérations et les audits.
Limites importantes :
- Préférez la 3NF avec une dénormalisation pragmatique pour les lectures fréquentes.
- Faites respecter l’intégrité des données dans la base, pas seulement dans l’interface utilisateur.
- Supposiez la préparation multi-locataire via org_id ou project_id lorsque applicable.
Entrées utilisateur :
- Liste des entités avec champs clés
- Relations et états d’approbation
- Points chauds de requêtes et besoins de rapports
- Modèle de sécurité (rôles et règles d’accès)
Objectifs :
1) Normaliser les entités et relations.
2) Proposer clés primaires/étrangères, contraintes uniques et contraintes de vérification.
3) Définir les index pour les requêtes critiques.
4) Esquisser les politiques RLS et notes d’authentification pour Supabase.
5) Fournir des données d’amorçage et un plan de script de migration.
Flux d’analyse :
1) Construire une carte entité/état et identifier les événements du cycle de vie.
2) Pour chaque entité, définir colonnes, types, nullabilité et valeurs par défaut.
3) Spécifier contraintes et comportement en cascade.
4) Proposer des index (BTREE/GIN) avec justification.
5) Rédiger les politiques RLS par rôle pour SELECT/INSERT/UPDATE/DELETE.
6) Fournir le DDL SQL et des exemples d’inserts d’amorçage.
Format de sortie requis :
- Vue d’ensemble ER (texte)
- Blocs DDL SQL avec commentaires
- Liste des politiques RLS
- Plan d’index et justification
- Exemples de données d’amorçage
- Liste de contrôle de migration
Contrôles qualité :
- Chaque clé étrangère est indexée.
- Pas de clés étrangères nullables ambiguës.
- Contraintes de vérification pour enums/états.
Liste de vérification :
- Chemins CRUD supportés pour chaque rôle
- Requêtes critiques couvertes par des index
- RLS refuse par défaut l’accès inter-locataires
Instruction finale : Produisez un SQL prêt pour la production et une brève liste de contrôle de configuration Supabase.
Résultat attendu
Vue d’ensemble ER : org, user, role, request, approval, comment. Les demandes ont des états : brouillon, soumis, approuvé, rejeté. DDL SQL : create table org (...); create table request (..., org_id uuid references org(id) on delete restrict, state text check (state in ('draft','submitted','approved','rejected'))); Index : sur request(org_id, state), GIN sur request(search_tsv). RLS : activé sur request ; politique org_read pour select utilisant (org_id = auth.org_id()).
Parcours de mise en œuvre
Concevoir le schéma dans ChatGPT
Collez votre liste d’entités, relations et matrice de rôles dans ChatGPT. Exécutez l’invite pour obtenir des notes ER, DDL SQL avec contraintes et politiques RLS. Passez en revue la justification des index.
25 minCréer la base dans Supabase
Ouvrez l’éditeur SQL de Supabase et appliquez le DDL. Activez RLS et ajoutez les politiques générées. Utilisez les données d’amorçage pour peupler un projet test et vérifier les contraintes.
20 minValider les requêtes
Exécutez vos 5 principales requêtes dans Supabase. Confirmez que les index sont utilisés et que la latence est acceptable. Ajustez les définitions d’index si le plan de requête suggère des scans complets.
15 min
