Communitygithub.com

sickn33/datenbankdesign

Grundsätze des Datenbankdesigns und Entscheidungsfindung. Schema-Design, Indexierungsstrategie, ORM-Auswahl, serverlose Datenbanken.

Was ist datenbankdesign?

Dieser Skill unterstützt Entwickler und KI-Agenten bei allen Aspekten des Datenbankdesigns, von der Schema-Erstellung über die Indexierung bis hin zur Auswahl des passenden ORM (Object-Relational Mapping) und serverloser Datenbanklösungen. Er bietet fundierte Entscheidungshilfen, um je nach Anwendungsfall (z. B. hohe Schreiblast, komplexe Abfragen oder geringe Latenz) die optimale Datenbankarchitektur zu wählen. Der Skill ist plattformunabhängig und kann mit gängigen Entwicklungsumgebungen wie Claude Code, Cursor und Codex genutzt werden. Durch die Integration von Best Practices und aktuellen Trends im Datenbankbereich hilft er, performante, skalierbare und wartbare Datenbanksysteme zu entwerfen.

Funktioniert mit~Claude Code~Codex CLI~Cursor
npx skills add https://github.com/sickn33/antigravity-awesome-skills/tree/main/skills/database-design

In Ihrer bevorzugten KI fragen

Öffnet einen neuen Chat, in dem dieser Agent-Skill bereits geladen ist.

Dokumentation

Was macht datenbankdesign?

Grundsätze des Datenbankdesigns und Entscheidungsfindung. Schema-Design, Indexierungsstrategie, ORM-Auswahl, serverlose Datenbanken.

Überblick

Dieses Skill-Dokument beschreibt Prinzipien und Entscheidungsprozesse für das Design von Datenbanken. Es behandelt:

  • Schema-Design: Normalisierung, Denormalisierung, Beziehungen (1:1, 1:N, N:M), Primär- und Fremdschlüssel.
  • Indexierungsstrategie: Auswahl von Index-Typen (B-Baum, Hash, GiST, GIN), Composite-Indizes, Index-Only-Scans, Auswirkungen auf Schreib- und Leseleistung.
  • ORM-Auswahl: Kriterien für die Wahl eines ORM (z. B. SQLAlchemy, Prisma, TypeORM, Django ORM), Trade-offs zwischen Abstraktion und Performance, Unterstützung für komplexe Abfragen.
  • Serverlose Datenbanken: Einsatz von Datenbanken wie Amazon Aurora Serverless, Google Cloud Spanner, CockroachDB Serverless, Azure Cosmos DB. Vorteile: automatische Skalierung, Pay-per-Use, geringer Verwaltungsaufwand. Nachteile: Latenz bei Kaltstarts, Einschränkungen bei Transaktionen.

Verwendung

Dieser Skill kann in beliebigen Kontexten eingesetzt werden, in denen Datenbankdesign-Entscheidungen getroffen werden müssen. Er eignet sich für:

  • Projektinitialisierung: Auswahl der Datenbanktechnologie und des Schemas basierend auf den Anforderungen.
  • Optimierung bestehender Systeme: Identifikation von Engpässen und Verbesserung der Indexierung oder des Schemas.
  • ORM-Migration: Bewertung und Wechsel zwischen verschiedenen ORMs.
  • Serverlose Architekturen: Entscheidung für serverlose Datenbanken und Konfiguration.

Entscheidungsmatrix

KriteriumEmpfohlene LösungBegründung
Hohe SchreiblastNoSQL (z. B. MongoDB, Cassandra)Horizontale Skalierung, flexible Schemas
Komplexe AbfragenRelationale Datenbank (z. B. PostgreSQL, MySQL)ACID-Transaktionen, JOINs, Indizes
Geringe LatenzIn-Memory-Datenbank (z. B. Redis, Memcached)Sub-Millisekunden-Zugriff
Automatische SkalierungServerlose Datenbank (z. B. Aurora Serverless)Elastizität, kein Kapazitätsmanagement
Einfache EntwicklungORM (z. B. Prisma, SQLAlchemy)Abstraktion, weniger Boilerplate-Code

Best Practices

  1. Schema-Design: Beginne mit einer normalisierten Struktur und denormalisiere nur bei nachgewiesenen Performance-Problemen.
  2. Indexierung: Erstelle Indizes basierend auf häufig ausgeführten Abfragen (SELECT, JOIN, WHERE). Vermeide übermäßige Indexierung, da sie Schreiboperationen verlangsamt.
  3. ORM: Wähle ein ORM, das zur Sprache und zum Ökosystem passt. Achte auf Unterstützung für komplexe Abfragen und Transaktionen.
  4. Serverlos: Nutze serverlose Datenbanken für Anwendungen mit variabler Last oder saisonalen Spitzen. Plane für Kaltstart-Latenz.

Beispiele

Beispiel 1: Wahl zwischen SQL und NoSQL

# Für ein Social-Media-Feed mit vielen Lese-/Schreiboperationen und flexiblem Schema
# Empfehlung: MongoDB
from pymongo import MongoClient
client = MongoClient('mongodb://localhost:27017/')
db = client['social_media']
posts = db['posts']
# Einfügen eines Beitrags mit flexiblen Feldern
post = {"user": "alice", "content": "Hallo Welt!", "timestamp": "2023-10-01", "tags": ["news"]}
posts.insert_one(post)

Beispiel 2: Optimierung einer Abfrage mit Index

-- Langsame Abfrage ohne Index
SELECT * FROM orders WHERE customer_id = 12345;

-- Hinzufügen eines Index
CREATE INDEX idx_orders_customer_id ON orders(customer_id);

-- Schnelle Abfrage mit Index
EXPLAIN ANALYZE SELECT * FROM orders WHERE customer_id = 12345;

Beispiel 3: ORM mit Prisma (Node.js)

import { PrismaClient } from '@prisma/client';

const prisma = new PrismaClient();

async function main() {
  // Alle Benutzer mit ihren Bestellungen abrufen
  const users = await prisma.user.findMany({
    include: { orders: true },
  });
  console.log(users);
}

main();

Ressourcen

Lizenz

Dieser Skill ist unter der MIT-Lizenz verfügbar.

Individual skills in this repo

This repo contains 20 individual skills — each has its own dedicated page.

sickn33/3d-web-experience

Expert in building 3D experiences for the web - Three.js, React Three Fiber, Spline, WebGL, and interactive 3D scenes. Covers product configurators, 3D portfolios, immersive websites, and bringing depth to web experiences.

sickn33/agent-memory-mcp

A hybrid memory system that provides persistent, searchable knowledge management for AI agents (Architecture, Patterns, Decisions).

sickn33/agent-memory-systems

Memory is the cornerstone of intelligent agents. Without it, every interaction starts from zero. This skill covers the architecture of agent memory: short-term (context window), long-term (vector stores), and the cognitive architectures that organize them.

sickn33/ai-agents-architect

Expert in designing and building autonomous AI agents. Masters tool use, memory systems, planning strategies, and multi-agent orchestration.

sickn33/api-documentation-generator

Generate comprehensive, developer-friendly API documentation from code, including endpoints, parameters, examples, and best practices

sickn33/api-patterns

API design principles and decision-making. REST vs GraphQL vs tRPC selection, response formats, versioning, pagination.

sickn33/api-security-best-practices

Implement secure API design patterns including authentication, authorization, input validation, rate limiting, and protection against common API vulnerabilities

sickn33/app-store-optimization

Complete App Store Optimization (ASO) toolkit for researching, optimizing, and tracking mobile app performance on Apple App Store and Google Play Store

sickn33/architecture

Architectural decision-making framework. Requirements analysis, trade-off evaluation, ADR documentation. Use when making architecture decisions or analyzing system design.

sickn33/audio-transcriber

Transform audio recordings into professional Markdown documentation with intelligent summaries using LLM integration

sickn33/aws-serverless

Specialized skill for building production-ready serverless applications on AWS. Covers Lambda functions, API Gateway, DynamoDB, SQS/SNS event-driven patterns, SAM/CDK deployment, and cold start optimization.

sickn33/backend-architect

Expert backend architect specializing in scalable API design, microservices architecture, and distributed systems.

sickn33/backend-dev-guidelines

You are a senior backend engineer operating production-grade services under strict architectural and reliability constraints. Use when routes, controllers, services, repositories, express middleware, or prisma database access.

sickn33/bash-linux

Bash/Linux terminal patterns. Critical commands, piping, error handling, scripting. Use when working on macOS or Linux systems.

sickn33/bash-scripting

Bash scripting workflow for creating production-ready shell scripts with defensive patterns, error handling, and testing.

sickn33/brainstorming

Use before creative or constructive work (features, architecture, behavior). Transforms vague ideas into validated designs through disciplined reasoning and collaboration.

sickn33/browser-automation

Browser automation powers web testing, scraping, and AI agent interactions. The difference between a flaky script and a reliable system comes down to understanding selectors, waiting strategies, and anti-detection patterns.

sickn33/browser-extension-builder

Expert in building browser extensions that solve real problems - Chrome, Firefox, and cross-browser extensions. Covers extension architecture, manifest v3, content scripts, popup UIs, monetization strategies, and Chrome Web Store publishing.

sickn33/bullmq-specialist

BullMQ expert for Redis-backed job queues, background processing, and reliable async execution in Node.js/TypeScript applications.

sickn33/bun-development

Fast, modern JavaScript/TypeScript development with the Bun runtime, inspired by [oven-sh/bun](https://github.com/oven-sh/bun).

Verwandte Skills