database-design

Guide database design choices across normalization, indexing, ORM selection, and deployments.

Updated Sep 2, 2025
One-click install
npx skills add https://github.com/rafaelminatto1/fisioflow-51658291 --skill database-design-rafaelminatto1
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: database-design
Source: https://github.com/rafaelminatto1/fisioflow-51658291/tree/main/.agent/skills/database-design
Command: npx skills add https://github.com/rafaelminatto1/fisioflow-51658291 --skill database-design-rafaelminatto1

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill includes scripts (resource) components.

What problem does it solve?

Database design is often a balancing act between normalization, performance, and deployment constraints. This guidance helps teams make context-aware choices about schemas, indexing, and ORM selection for serverless, edge, and relational databases.

Core Features & Use Cases

  • Decision framework for selecting database technologies (PostgreSQL, Neon, Turso) based on deployment and scale.
  • Schema design guidance covering normalization, keys, timestamps, and relationships.
  • Indexing and migrations recommendations to optimize performance in serverless and edge environments.
  • Use cases: designing a multi-tenant SaaS with serverless PostgreSQL and edge access patterns, migrating from monolith schemas to modular, scalable structures.

Quick Start

Begin by mapping your project requirements to the decision trees and guidelines to choose an appropriate database design approach.

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 for serverless and edge deployments?

Designing a database schema for serverless and edge deployments requires balancing normalization against deployment constraints to optimize indexing strategies and connection patterns. You must map project requirements to decision trees to choose appropriate schemas and ORMs for PostgreSQL, Neon, or Turso environments.

When should I normalize my database schema?

You should normalize your database schema when data integrity and reducing redundancy are priorities, balancing this against performance needs. This guidance provides structured decision-making criteria and reference patterns to determine exactly when to apply normalization based on your project's scale and query patterns.

What is the best way to choose an ORM for PostgreSQL?

The best way to choose an ORM for PostgreSQL involves evaluating your deployment environment, such as serverless or edge, and matching it to the ORM's capabilities. Use the provided decision framework to select database technologies and ORMs by comparing structural fit against your project's scale and access requirements.

How do I optimize database indexing for multi-tenant SaaS applications?

Optimizing database indexing for multi-tenant SaaS applications involves applying context-aware strategies that balance edge access patterns with serverless PostgreSQL constraints. You can use the reference patterns to determine when to select specific indexing approaches that enhance performance and ensure efficient data retrieval at scale.

Does this database design approach work with Turso and Neon?

Yes, this database design approach works with Turso and Neon by providing tailored decision frameworks for both serverless PostgreSQL and edge deployments. It helps you select the appropriate database technology based on your specific deployment constraints, scaling requirements, and edge access patterns.

How do I migrate a monolith schema to a modular database structure?

Migrating a monolith schema to a modular database structure involves applying normalization guidelines and indexing recommendations to break down tables into scalable components. This guidance covers schema design and migrations to help you transition from monolithic structures to modular architectures effectively.