database-design

Guide relational schema design with normalization, keys, indexing, and migration practices.

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

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

This skill provides structured guidance for designing robust relational database schemas, helping teams avoid common anti-patterns and ensure scalable data models.

Core Features & Use Cases

  • Normalization and schema design best practices, including primary keys, timestamps, relationships, and indexing.
  • Guidance on ORM selection and migration considerations for different deployment needs.
  • Use cases such as designing a new feature database, refactoring an existing schema, and evaluating query performance.
  • Example: ensure natural keys vs surrogate keys considerations and how to plan indexing.

Quick Start

Prototype a normalized relational schema for a new product feature and validate it against the principles outlined.

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

Schema design for scalable apps requires normalization, careful selection of primary keys, structured relationships, and strategic indexing. This approach prevents data-modeling pitfalls and enforces best-practice constraints for naming and performance.

What is the best way to normalize a database schema without hurting query performance?

Balancing normalization with indexing prevents performance degradation. Normalize tables to reduce redundancy and enforce constraints, then apply strategic indexing on frequently queried columns to maintain fast read and write operations.

When should I use natural keys vs surrogate keys in database design?

Choose natural keys when the key has inherent, stable business meaning, and use surrogate keys for simplicity and join performance. Evaluating both options during schema design ensures robust, scalable data models across applications and microservices.

Does schema design guidance cover ORM selection and migration practices?

Yes, schema design guidance covers ORM selection and migration considerations across different deployment needs. It evaluates how ORM choices interact with normalized schemas and outlines practices for safely refactoring existing schemas.

How do I plan indexing for a new feature database schema?

Plan indexing by identifying frequently queried columns and relationships in your normalized schema, then apply indexes to optimize query performance. Proper indexing prevents bottlenecks and ensures the new feature database scales effectively.

Can I apply relational schema design principles to data warehouses and microservices?

Relational schema design principles apply to data warehouses and microservices by enforcing normalization, constraints, and indexing best practices. The guidance ensures scalable, secure data models across diverse deployment contexts and architectural patterns.