database-design
Meistere Datenbankdesign und Schema-Entscheidungen
Entwickler kämpfen mit Datenbank-Auswahlmöglichkeiten und Schema-Design-Fallstricken. Diese Fähigkeit lehrt Entscheidungsrahmen für die Auswahl von Datenbanken, das Design von Schemata und die Optimierung von Abfragen basierend auf dem Kontext.
Télécharger le ZIP du skill
Importer dans Claude
Allez dans Paramètres → Capacités → Skills → Importer un skill
Activez et commencez à utiliser
Tester
Utilisation de "database-design". Ich benötige eine Datenbank für eine Echtzeit-Chat-Anwendung mit 10.000 gleichzeitigen Benutzern, globaler Verteilung und Latenzanforderungen unter 50ms.
Résultat attendu:
Für globales Echtzeit-Chat mit strengen Latenzanforderungen erwägen Sie Turso (Edge SQLite) für Präsenz und Metadaten von Nachrichten, kombiniert mit einer primären PostgreSQL-Instanz für dauerhafte Speicherung. Turso bietet Edge-Bereitstellung mit reduzierter Latenz, während PostgreSQL komplexe Abfragen und Transaktionen handhabt. Alternative: PlanetScale für MySQL-Kompatibilität mit globalem Branching.
Utilisation de "database-design". Sollte ich meine Benutzerpräferenztabelle normalisieren oder als JSONB speichern?
Résultat attendu:
Als JSONB speichern, wenn: Präferenzen selten einzeln abgefragt werden, sich das Schema häufig entwickelt und Sie immer das komplette Set abrufen. Normalisieren, wenn: Sie spezifische Präferenzen in WHERE-Klauseln abfragen müssen, verschiedene Präferenzen unterschiedliche Aktualisierungsfrequenzen haben oder Sie Fremdschlüssel-Constraints benötigen. Hybrider Ansatz: JSONB für flexible Präferenzen mit einer normalisierten Tabelle für häufig gefilterte Einstellungen.
Audit de sécurité
SûrAll static analyzer findings are false positives. The 'external_commands' detections are markdown code fence blocks (```) used for educational diagrams, not executable shell commands. The 'weak cryptographic algorithm' flags reference UUID/ULID discussions in documentation context. The schema_validator.py is a legitimate local Python script for Prisma schema validation. This is a documentation-only skill teaching database design principles.
Score de qualité
Ce que vous pouvez construire
Datenbank-Setup für neues Projekt
Ein Startup-Gründer, der einen MVP entwickelt, benötigt Anleitung bei der Wahl zwischen PostgreSQL, SQLite oder serverlosen Optionen. Die Fähigkeit bietet einen Entscheidungsbaum basierend auf Skalierbarkeitsbedarf, Budget und Bereitstellungspräferenzen.
Schema-Design-Überprüfung
Ein Backend-Ingenieur, der ein neues Feature entwirft, benötigt Hilfe bei der Modellierung von Benutzerbeziehungen, Zeitstempeln und Fremdschlüssel-Constraints. Die Fähigkeit überprüft Normalisierungs-Kompromisse und Beziehungsmuster.
Abfrageleistung-Fehlerbehebung
Ein Entwickler mit langsamen Abfragen muss Indexierungsstrategien und N+1-Probleme verstehen. Die Fähigkeit erklärt die Interpretation von EXPLAIN ANALYZE und das Design zusammengesetzter Indizes.
Essayez ces prompts
I am building a {project_type} application with {expected_users} users. My budget is {budget_level} and I need {specific_requirements}. Based on the database selection guide, recommend the best database option and explain the trade-offs.Review my schema design for {table_name} table. I need to store {data_fields} with relationships to {related_tables}. Check if my approach follows normalization principles, has appropriate indexes, and uses the correct relationship types.My query for {query_description} is taking {execution_time}. Here is the EXPLAIN ANALYZE output: {explain_output}. Identify the bottleneck and recommend specific indexing or query restructuring strategies.I need to migrate from {current_schema} to {target_schema} with zero downtime. The table has {row_count} rows and serves {traffic_level} traffic. Design a migration strategy using the techniques from the migrations guide.Bonnes pratiques
- Immer created_at und updated_at Zeitstempel mit TIMESTAMPTZ für Zeitzonenbewusstsein definieren
- UUID oder ULID Primärschlüssel für verteilte Systeme verwenden, um Enumerationsangriffe zu vermeiden und Offline-ID-Generierung zu ermöglichen
- Zusammengesetzte Indizes erstellen, die Ihren häufigsten Abfragemustern entsprechen, mit Gleichheits-Spalten vor Bereichsspalten
Éviter
- Standardmäßig PostgreSQL für einfache Anwendungen wählen, bei denen SQLite ausreichen würde, was unnötige Infrastrukturkomplexität hinzufügt
- Indizes auf jeder Spalte erstellen, ohne den Einfluss auf die Schreibleistung und die Ineffizienz bei niedriger Kardinalität zu berücksichtigen
- SELECT * in Produktionsabfragen verwenden, anstatt explizit benötigte Spalten auszuwählen