المهارات postgresql
📦

postgresql

آمن

PostgreSQL-Datenbankschemata entwerfen

متاح أيضًا من: 2025Emma,2025Emma

Datenbankschema-Fehler verursachen Performance-Probleme und Datenintegritätsprobleme. Dieses Skill bietet PostgreSQL-spezifische Best Practices für Datentypen, Indizes, Constraints und Skalierbarkeitsmuster.

يدعم: Claude Codex Code(CC)
🥉 74 برونزي
1

تنزيل ZIP المهارة

2

رفع في Claude

اذهب إلى Settings → Capabilities → Skills → Upload skill

3

فعّل وابدأ الاستخدام

اختبرها

استخدام "postgresql". Entwerfen Sie eine Benutzertabelle mit E-Mail, Name und Zeitstempeln

النتيجة المتوقعة:

  • CREATE TABLE users (
  • user_id BIGINT GENERATED ALWAYS AS IDENTITY PRIMARY KEY,
  • email TEXT NOT NULL UNIQUE,
  • name TEXT NOT NULL,
  • created_at TIMESTAMPTZ NOT NULL DEFAULT now(),
  • updated_at TIMESTAMPTZ NOT NULL DEFAULT now()
  • );
  • CREATE UNIQUE INDEX ON users (LOWER(email));

استخدام "postgresql". Sollte ich UUID oder BIGINT für Primärschlüssel verwenden?

النتيجة المتوقعة:

  • Verwenden Sie BIGINT GENERATED ALWAYS AS IDENTITY wenn:
  • - Sequenzielle IDs akzeptabel sind
  • - Index-Performance kritisch ist
  • - Kleinere Indexgröße wichtig ist
  •  
  • Verwenden Sie UUID wenn:
  • - Globale Eindeutigkeit erforderlich ist
  • - ID-Opacity eine Sicherheitsanforderung ist
  • - Daten aus mehreren Quellen zusammengeführt werden

التدقيق الأمني

آمن
v1 • 2/24/2026

All 221 static analyzer findings were determined to be false positives. The skill consists entirely of markdown documentation (SKILL.md) with no executable code. Backtick characters are markdown formatting for code examples, not shell execution. References to security features like Row Level Security are PostgreSQL documentation, not Windows SAM access. The skill provides educational guidance for database schema design with no security risks.

1
الملفات التي تم فحصها
233
الأسطر التي تم تحليلها
0
النتائج
1
إجمالي عمليات التدقيق
لا توجد مشكلات أمنية
تم تدقيقه بواسطة: claude

درجة الجودة

38
الهندسة المعمارية
100
قابلية الصيانة
87
المحتوى
50
المجتمع
100
الأمان
91
الامتثال للمواصفات

ماذا يمكنك بناءه

Neues Anwendungsschema entwerfen

Entwerfen Sie ein vollständiges Datenbankschema für eine neue Webanwendung mit geeigneten Datentypen, Primärschlüsseln, Fremdschlüsselbeziehungen und Indizes für gängige Abfragemuster.

Schema-Überprüfung und Optimierung

Überprüfen Sie vorhandene Tabellen-Designs auf Performance-Probleme, fehlende Indizes, ungeeignete Datentypen oder Constraint-Lücken, die Datenintegritätsprobleme verursachen könnten.

Migrationsplanung

Planen Sie sichere Schema-Evolution mit transaktionalem DDL, gleichzeitiger Index-Erstellung und Strategien zum Hinzufügen von Spalten zu großen Tabellen ohne Ausfallzeit.

جرّب هذه الموجهات

Grundlegendes Tabellen-Design
Entwerfen Sie eine PostgreSQL-Tabelle zum Speichern von Benutzerprofilen mit Feldern für E-Mail, Name, Registrierungsdatum und optionale Profileinstellungen. Verwenden Sie geeignete Datentypen und Constraints.
Index-Strategie
Ich habe eine Abfragetabelle mit den Spalten: id, user_id, status, created_at. Häufige Abfragen filtern nach user_id und status und sortieren nach created_at absteigend. Empfehlen Sie eine Indexierungsstrategie.
JSONB-Designentscheidung
Große Tabellen partitionieren
Ich habe eine Events-Tabelle, die um 10M Zeilen pro Monat wächst. Abfragen filtern typischerweise nach event_date und device_id. Empfehlen Sie eine Partitionierungsstrategie und erläutern Sie die Kompromisse.

أفضل الممارسات

  • Verwenden Sie TIMESTAMPTZ statt TIMESTAMP für alle Ereigniszeitstempel, um Zeitzonenverwirrung zu vermeiden
  • Fügen Sie explizite Indizes für Fremdschlüsselspalten hinzu, da PostgreSQL diese nicht automatisch erstellt
  • Normalisieren Sie zuerst auf 3NF, denormalisieren Sie dann nur für nachgewiesene ROI-starke Lese-Performance-Gewinne

تجنب

  • Verwendung von VARCHAR mit Längenbeschränkungen statt TEXT mit CHECK-Constraints
  • Erstellen von Indizes für jede Spalte ohne Analyse der tatsächlichen Abfragemuster
  • Verwendung von SERIAL statt GENERATED ALWAYS AS IDENTITY für Auto-Inkrement-Spalten

الأسئلة المتكررة

Soll ich TEXT oder VARCHAR für String-Spalten verwenden?
Verwenden Sie TEXT für die meisten Fälle. PostgreSQL speichert TEXT und VARCHAR identisch. Wenn Sie Längenvalidierung benötigen, fügen Sie einen CHECK-Constraint hinzu, anstatt VARCHAR(n) zu verwenden.
Muss ich Fremdschlüsselspalten indizieren?
Ja. PostgreSQL indiziert keine FK-Spalten automatisch. Fügen Sie explizite Indizes für FK-Spalten hinzu für Join-Performance und um Sperrprobleme beim Löschen von übergeordneten Zeilen zu vermeiden.
Wann sollte ich JSONB anstelle regulärer Spalten verwenden?
Verwenden Sie JSONB für optionale, variable oder halbstrukturierte Attribute. Behalten Sie Kern-Relationsdaten in regulären Spalten. Fügen Sie immer einen GIN-Index für JSONB-Spalten für Containment-Abfragen hinzu.
Was ist der Unterschied zwischen TIMESTAMP und TIMESTAMPTZ?
TIMESTAMPTZ speichert Zeitstempel mit Zeitzonenbewusstsein und konvertiert intern zu UTC. TIMESTAMP speichert literale Werte ohne Zeitzonenkontext. Verwenden Sie immer TIMESTAMPTZ, um Zeitzonenfehler zu vermeiden.
Sollte ich meine Tabelle partitionieren?
Erwägen Sie Partitionierung für Tabellen mit mehr als 100M Zeilen, bei denen Abfragen konsistent nach einem Partitionsschlüssel wie Datum filtern. Partitionierung fügt Komplexität hinzu, verwenden Sie sie nur bei klaren Vorteilen.
Wie füge ich einer großen Tabelle sicher eine NOT NULL-Spalte hinzu?
Fügen Sie die Spalte zuerst als NULL hinzu, füllen Sie die Daten zurück, ändern Sie dann auf NOT NULL. Das Hinzufügen von NOT NULL mit einem volatilen Standardwert wie now() verursacht einen vollständigen Tabellenschreibvorgang. Verwenden Sie einen nicht-volatilen Standardwert oder eine mehrstufige Migration.

تفاصيل المطور

المؤلف

sickn33

الترخيص

MIT

مرجع

main

بنية الملفات

📄 SKILL.md