database-design

Guide database normalization, primary keys, and indexing decisions.

Updated Nov 7, 2025
One-click install
npx skills add https://github.com/phoenicisf/forex-analyzer --skill database-design-phoenicisf
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: database-design
Source: https://github.com/phoenicisf/forex-analyzer/tree/main/.agents/skills/database-design
Command: npx skills add https://github.com/phoenicisf/forex-analyzer --skill database-design-phoenicisf

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

Database design challenges lead to data anomalies, complex queries, and brittle migrations when schemas lack clear normalization, PK/FK strategies, and consistent timestamp conventions.

Core Features & Use Cases

  • Normalization guidance: determine when to split data into separate tables to minimize redundancy.
  • Key strategy: selecting appropriate primary and foreign keys and defining relationships.
  • Consistent timestamps: establish created_at, updated_at, and optional deleted_at conventions for robust auditing.
  • Use Case: building a multi-tenant application with clear data isolation and scalable schema evolution.

Quick Start

Normalize your first schema by separating entities into focused tables and define timestamps and keys for each.

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 a scalable transactional application?

Design a scalable database schema by separating entities into focused tables, applying normalization to minimize redundancy, and selecting appropriate primary and foreign keys to define clear relationships for transactional apps.

What is database normalization and when should I split data into separate tables?

Database normalization is the process of organizing data to minimize redundancy. You should split data into separate tables when it reduces anomalies and ensures clear, focused entities for scalable transactional applications.

How do I choose primary and foreign keys for multi-tenant data isolation?

Choose primary and foreign keys for multi-tenant isolation by selecting consistent key strategies that define clear relationships and enforce data boundaries, ensuring scalable schema evolution without data anomalies.

What timestamp conventions should I use for database auditing?

For robust database auditing, establish consistent timestamp conventions using created_at, updated_at, and optional deleted_at columns to track records and support reliable schema migrations.

How do I handle database migrations to avoid brittle schema changes?

Handle database migrations and avoid brittle schema changes by applying practical migration considerations alongside clear normalization, primary and foreign key strategies, and consistent timestamp conventions.