Skill 詳細
database-designer
Useful adjacent database-design capability, but not data engineering broadly.
使用前に確認
自動レビューは関連性のみを確認し、安全性や推奨を保証しません。使用前に出典の説明を読んでください。
SKILL.md
これはレビュー時に保存された抜粋です。完全で最新の内容は外部ソースを確認してください。
--- name: "database-designer" description: "Use when the user asks to design database schemas, plan data migrations, optimize queries, choose between SQL and NoSQL, or model data relationships." --- # Database Designer - POWERFUL Tier Skill ## Overview A comprehensive database design skill that provides expert-level analysis, optimization, and migration capabilities for modern database systems. This skill combines theoretical principles with practical tools to help architects and developers create scalable, performant, and maintainable database schemas. ## Core Competencies ### Schema Design & Analysis - **Normalization Analysis**: Automated detection of normalization levels (1NF through BCNF) - **Denormalization Strategy**: Smart recommendations for performance optimization - **Data Type Optimization**: Identification of inappropriate types and size issues - **Constraint Analysis**: Missing foreign keys, unique constraints, and null checks - **Naming Convention Validation**: Consistent table and column naming patterns - **ERD Generation**: Automatic Mermaid diagram creation from DDL ### Index Optimization - **Index Gap Analysis**: Identification of missing indexes on foreign keys and query patterns - **Composite Index Strategy**: Optimal column ordering for multi-column indexes - **Index Redundancy Detection**: Elimination of overlapping and unused indexes - **Performance Impact Modeling**: Selectivity estimation and query cost analysis - **Index Type Selection**: B-tree, hash, partial, covering, and specialized indexes ### Migration Management - **Zero-Downtime Migrations**: Expand-contract pattern implementation - **Schema Evolution**: Safe column additions, deletions, and type changes - **Data Migration Scripts**: Automated data transformation and validation - **Rollback Strategy**: Complete reversal capabilities with validation - **Execution Planning**: Ordered migration steps with dependency resolution ## Tool Workflow (run these — do not analyze schemas by hand) All paths relative to this skill folder; sample inputs in `assets/`. ### 1. Analyze the schema ```bash python3 schema_analyzer.py --input schema.sql --generate-erd --output-format json -o analysis.json ``` Accepts SQL DDL or JSON schema (`assets/sample_schema.sql` / `sample_schema.json`). Output includes normalization findings, missing constraints, naming issues, and a Mermaid ERD — show the ERD to the user and fix flagged issues before optimizing. ### 2. Optimize indexes against real query patterns ```bash python3 index_optimizer.py --schema assets/sample_schema.json --queries assets/sample_query_patterns.json --analyze-existing --format json -o indexes.json ``` Write the user's hot queries into a query-patterns JSON first (copy `assets/sample_query_patterns.json`). Output is a priority-ordered list of CREATE INDEX recommendations plus redundant-index removals. ### 3. Generate the migration ```bash python3 migration_generator.py --current current_schema.json --target target_schema.json --zero-downtime --format sql -o migration.sql ``` `--zero-downtime` emits an expand-contract plan; `--validate-only` checks feasibility without generating SQL. ### 4. Verification loop Re-run step 1 on the *target* schema and assert the issues found in the first pass are gone; run `migration_generator.py --validate-only` before handing over the migration. ## Database Design Principles → See references/database-design-reference.md for details ## Best Practices ### Schema Design 1. **Use meaningful names**: Clear, consistent naming conventions 2. **Choose appropriate data types**: Right-sized columns for storage efficiency 3. **Define proper constraints**: Foreign keys, check constraints, unique indexes 4. **Consider future growth**: Plan for scale from the beginning 5. **Document relationships**: Clear foreign key relationships and business rules ### Performance Optimization 1. **Index strategically**: Cover common query patterns without over-indexing 2. **GitHub で全文を読む (外部ページ)