Skill

Design Efficient Database Schemas

A database design skill that teaches context-aware schema design, database selection (PostgreSQL, Neon, Turso, SQLite), ORM choice, indexing, and query

Works with postgressqliteneonturso

80
Spark score
out of 100
Updated 3 months ago
Version 1.0.0

Add to Favorites

Why it matters

Design robust and efficient database schemas tailored to your application's specific needs. Avoid common anti-patterns and optimize for performance from the start.

Outcomes

What it gets done

01

Select the most appropriate database and ORM for your project context.

02

Design normalized schemas with proper primary keys and relationships.

03

Implement effective indexing strategies for performance tuning.

04

Optimize queries and understand performance implications.

Install

Add it to your toolbox

Run in your project directory:

curl -fsSL https://spark.entire.vc/get/ag-database-design | bash

Capabilities

What this skill does

Debug

Traces errors to their root cause and suggests fixes.

Overview

Database Design

What it does

Database design guidance covering database and ORM selection, schema design with normalization and relationships, indexing strategies, query optimization including N+1 prevention, and safe migrations-with a selective reading rule to consult only relevant files based on the specific task at hand.

How it connects

Use when you need to choose a database technology, design a schema, plan indexes, optimize queries, or execute migrations-especially when you want context-aware recommendations rather than generic SQL patterns, and when deployment environment (serverless, edge, traditional) influences the choice.

Source README

Database Design

Learn to THINK, not copy SQL patterns.

🎯 Selective Reading Rule

Read ONLY files relevant to the request! Check the content map, find what you need.

File Description When to Read
database-selection.md PostgreSQL vs Neon vs Turso vs SQLite Choosing database
orm-selection.md Drizzle vs Prisma vs Kysely Choosing ORM
schema-design.md Normalization, PKs, relationships Designing schema
indexing.md Index types, composite indexes Performance tuning
optimization.md N+1, EXPLAIN ANALYZE Query optimization
migrations.md Safe migrations, serverless DBs Schema changes

⚠️ Core Principle

  • ASK user for database preferences when unclear
  • Choose database/ORM based on CONTEXT
  • Don't default to PostgreSQL for everything

Decision Checklist

Before designing schema:

  • Asked user about database preference?
  • Chosen database for THIS context?
  • Considered deployment environment?
  • Planned index strategy?
  • Defined relationship types?

Anti-Patterns

❌ Default to PostgreSQL for simple apps (SQLite may suffice)
❌ Skip indexing
❌ Use SELECT * in production
❌ Store JSON when structured data is better
❌ Ignore N+1 queries

When to Use

This skill is applicable to execute the workflow or actions described in the overview.

Limitations

  • Use this skill only when the task clearly matches the scope described above.
  • Do not treat the output as a substitute for environment-specific validation, testing, or expert review.
  • Stop and ask for clarification if required inputs, permissions, safety boundaries, or success criteria are missing.

Discussion

Questions & comments · 0

Sign In Sign in to leave a comment.