Installs into .claude/skills of the current project.
Are you the author of Databases Schema Design Basics Mysql?
Add the live security badge to your README. It updates with every re-scan.
[](https://www.skillsdirectory.com/skills/aniruddhaadak80-databases-schema-design-basics-mysql)
---
name: databases-schema-design-basics-mysql
description: "Normalize enough to stay consistent, denormalize deliberately where reads demand it."
---
# Design schemas for change (MySQL)
> Normalize enough to stay consistent, denormalize deliberately where reads demand it.
**Track:** ⚙️ Backend Engineering · **Domain:** Databases · **Level:** foundation · **~35 min**
**Who this is for:** Backend Engineers, API Developers, Platform Engineers, Full-Stack Developers
## When to Use This Skill
Normalize enough to stay consistent, denormalize deliberately where reads demand it.
Use it whenever a matching task appears in conversation — the agent loads these instructions on demand.
## Steps
1. Identify entities and relationships; write 10 queries you must answer well
2. Normalize to 3NF by default; document any intentional denormalization
3. Use UUIDs or bigint PKs; never emails or natural keys
4. Add created_at/updated_at with DB-level defaults on every table
5. Constrain with FKs, CHECKs, and NOT NULL — let the DB defend integrity
6. Review growth estimates: which table hits 100M rows first, plan partitioning now
7. Pick InnoDB with utf8mb4; watch index length limits
8. Beware implicit type coercion in joins
## Common Pitfalls
- Soft-delete columns complicating every unique constraint
- Storing money as float instead of integer minor units
## Commands
**Install with skills CLI**
```bash
npx skills add aniruddhaadak80/skills --skill databases-schema-design-basics-mysql
```
**Install globally**
```bash
npx skills add aniruddhaadak80/skills --skill databases-schema-design-basics-mysql -g
```
---
Part of [aniruddhaadak80/skills](https://github.com/aniruddhaadak80/skills) · Browse all at https://skills.sh/aniruddhaadak80/skills