database-design

Designs database schemas with indexing and ORM selection for relational systems.

Updated Jan 26, 2026
One-click install
npx skills add https://github.com/TwuanMinn/fadelab --skill database-design-twuanminn
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: database-design
Source: https://github.com/TwuanMinn/fadelab/tree/main/.agent/skills/skills/database-design
Command: npx skills add https://github.com/TwuanMinn/fadelab --skill database-design-twuanminn

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill includes scripts (resource) components.

What problem does it solve?

Database design often struggles with consistency, performance trade-offs, and long-term maintainability. This skill provides structured principles and decision criteria to guide schema design, indexing strategies, ORM choices, and serverless database considerations.

Core Features & Use Cases

  • Schema design guidelines covering normalization, primary keys, timestamps, and relationships to ensure data integrity.
  • Indexing and performance guidance, including when to create indexes, types of indexes, and composite index principles.
  • Deployment and ORM guidance, helping choose between PostgreSQL, Neon, Turso, and SQLite based on context, deployment needs, and DX.
  • Use Case Example: Design a blog schema with users, posts, and comments to illustrate decision points and end-to-end design.

Quick Start

Design a normalized schema for a simple blog with users, posts, and comments.

Frequently Asked Questions about database-design

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I design a database schema that balances normalization and performance?

Database schema design balances normalization, performance, and deployment constraints by applying structured principles to primary keys, timestamps, relationships, and indexing strategies to ensure data integrity and long-term maintainability.

When should I create indexes and what composite index patterns should I use?

Create indexes to optimize query performance by applying indexing patterns and composite index principles that match your database access patterns, ensuring efficient data retrieval without compromising write performance.

How do I choose between PostgreSQL, Neon, Turso, and SQLite for a serverless database?

Choosing between PostgreSQL, Neon, Turso, and SQLite for a serverless database involves evaluating deployment needs, developer experience, and context to select the system that best fits your application constraints.

What conventions should I use for timestamps and foreign keys in database design?

Timestamp and foreign key conventions in database design standardize relationship mapping and audit trails, applying structured principles to ensure data integrity and consistency across your schema.

How do I design a normalized schema for a blog with users, posts, and comments?

Design a normalized blog schema with users, posts, and comments by mapping relationships, primary keys, and indexing strategies to illustrate end-to-end decision points and ensure data integrity.

What are the performance trade-offs when adding indexes to a relational database?

Adding indexes to a relational database improves read query performance but introduces write overhead and storage costs, requiring indexing strategy decisions that balance these trade-offs against your specific access patterns.