database-design

Design database schemas and select storage strategies for relational and serverless databases.

Updated Aug 27, 2026
One-click install
npx skills add https://github.com/thimmarques/gestao-inteligente --skill database-design-thimmarques
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: database-design
Source: https://github.com/thimmarques/gestao-inteligente/tree/main/.agent/skills/database-design
Command: npx skills add https://github.com/thimmarques/gestao-inteligente --skill database-design-thimmarques

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill includes scripts (resource) components.

What problem does it solve?

This knowledge unit guides architects and engineers in designing robust, scalable databases by outlining core principles, decision criteria, and best practices for schema design, normalization, indexing, ORM selection, and serverless databases.

Core Features & Use Cases

  • Guided schema design: helps decide when to normalize vs denormalize, how to choose primary keys and timestamps, and how to model relationships (one-to-one, one-to-many, many-to-many).
  • DB technology decisions: provides criteria for selecting databases (relational vs serverless) and ORMs based on deployment and DX needs.
  • Practical patterns: discusses indexing strategies, migration considerations, and safe evolution of schemas with minimal downtime.

Quick Start

Review the core principles and apply the decision checklist to your current schema design project.

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 scalable database schema for a growing application?

Design a scalable database schema by analyzing normalization levels, choosing appropriate primary keys, and modeling relationships correctly to optimize performance and maintainability. Apply decision criteria for when to normalize versus denormalize based on your specific context and complexity.

When should I normalize vs denormalize my database tables?

Normalize your database tables to enforce data integrity and reduce redundancy, or denormalize them to optimize read performance. Evaluate your deployment context, query patterns, and scalability requirements to determine the appropriate balance for your schema design.

What's the best way to choose an ORM for my database project?

Choose an ORM by evaluating criteria based on your deployment requirements and developer experience needs. Consider how the ORM interacts with your relational or serverless database strategy and whether it supports safe schema migrations.

How do I create indexing strategies that optimize database performance?

Create indexing strategies by following established guidelines that analyze your query patterns and relationship types. Apply index recommendations to optimize database performance while maintaining schema evolvability and ensuring minimal downtime during migrations.

Can I use serverless databases for applications with complex relational models?

Yes, you can use serverless databases for complex relational models by applying the provided selection criteria to evaluate deployment needs. The guidelines help you decide between relational and serverless options based on your project's specific complexity and scalability demands.

How do I safely evolve a database schema with minimal downtime?

Safely evolve a database schema by following migration considerations and patterns that ensure minimal downtime. Apply timestamp strategies, primary key design principles, and index guidelines to produce robust, evolvable data models during the evolution process.