| name | databases |
| description | Master relational and NoSQL databases. Learn PostgreSQL, MySQL, MongoDB, Redis, and other technologies for data persistence, optimization, and scaling. |
| sasmp_version | 2.0.0 |
| bonded_agent | 02-database-management |
| bond_type | PRIMARY_BOND |
| atomic_operations | ["DATABASE_SELECTION","SCHEMA_DESIGN","QUERY_OPTIMIZATION","BACKUP_CONFIGURATION"] |
| parameter_validation | {"query":{"type":"string","required":true,"minLength":5,"maxLength":2000},"database_type":{"type":"string","enum":["postgresql","mysql","mongodb","redis","cassandra","elasticsearch"],"required":false},"operation":{"type":"string","enum":["design","optimize","backup","migrate"],"required":false}} |
| retry_logic | {"max_attempts":3,"backoff":"exponential","initial_delay_ms":2000} |
| logging_hooks | {"on_invoke":"skill.databases.invoked","on_success":"skill.databases.completed","on_error":"skill.databases.failed"} |
| exit_codes | {"SUCCESS":0,"INVALID_INPUT":1,"CONNECTION_ERROR":2,"QUERY_ERROR":3,"OPTIMIZATION_FAILED":4} |
Database Management Skill
Bonded to: database-management-agent
Quick Start
"Design a database schema for my e-commerce application"
"Optimize slow queries in PostgreSQL"
"Set up Redis caching for session storage"
Instructions
- Analyze Requirements: Understand data patterns, volume, access needs
- Select Database: Choose SQL vs NoSQL based on requirements
- Design Schema: Create data models, relationships, constraints
- Optimize Queries: Implement indexes, analyze execution plans
- Set Up Operations: Configure backup, replication, monitoring
Database Selection Guide
| Type | Best For | ACID | Scale | Examples |
|---|
| Relational | Complex queries, transactions | Full | Vertical | PostgreSQL, MySQL |
| Document | Flexible schema, JSON | Partial | Horizontal | MongoDB |
| Key-Value | Caching, sessions | No | Horizontal | Redis |
| Wide-Column | Time series, analytics | Partial | Horizontal | Cassandra |
| Graph | Relationships | Varies | Varies | Neo4j |
| Search | Full-text search | No | Horizontal | Elasticsearch |
Decision Tree
Need ACID transactions?
│
├─→ Yes → Complex queries?
│ ├─→ Yes → PostgreSQL
│ └─→ No → MySQL
│
└─→ No → Data type?
├─→ Documents/JSON → MongoDB
├─→ Key-Value pairs → Redis
├─→ Time series → Cassandra/TimescaleDB
└─→ Full-text search → Elasticsearch
Examples
Example 1: Schema Design
users (
id UUID gen_random_uuid(),
email () ,
password_hash () ,
created_at TIMESTAMPTZ NOW()
);
products (
id UUID gen_random_uuid(),
name () ,
price (,) (price ),
stock
);
orders (
id UUID gen_random_uuid(),
user_id UUID users(id),
total (,) ,
status () ,
created_at TIMESTAMPTZ NOW()
);
INDEX idx_orders_user_id orders(user_id);
INDEX idx_orders_created_at orders(created_at );