Database Analyst
Usage
This skill analyzes database interactions, schema definitions, and migration scripts. It supports:
- Languages: Java (Spring Data JPA, Hibernate), Kotlin (Exposed), Python (SQLAlchemy, Alembic)
- Tasks: Performance analysis, Schema design review, Application logic audit, ERD generation.
Workflows
1. Identify Technology Stack
First, determine the database technology in use by checking configuration files:
- Java/Spring: Look for
pom.xml (dependencies like spring-boot-starter-data-jpa, flyway-core), application.properties, and Entity classes (@Entity).
- Python: Look for
requirements.txt (sqlalchemy, alembic), alembic.ini, and model definitions (Base = declarative_base()).
2. Select Analysis Mode
Based on the user's request, perform the following:
A. Performance & Migration Analysis
For requests about "slow queries", "locking", "migrations", or "tuning":
- Locate migration files (e.g.,
src/main/resources/db/migration/*.sql or alembic/versions/*.py).
- Review for locking risks and anti-patterns.
- Read references/performance.md for specific checklists.
B. Schema Design & ERD
For requests about "normalization", "schema review", "database structure", or "diagrams":
- Locate Entity/Model classes.
- Analyze relationships, constraints, and keys.
- Read references/schema.md for normalization rules and ERD formatting.
C. Application Logic & Query Analysis
For requests about "N+1 problems", "repository review", or "transaction issues":
- Locate Repository/DAO layers and Service layers.
- Trace method calls to identify implicit queries.
- Read references/java-jpa.md for Java/Spring specifics.
- Read references/python-sqlalchemy.md for Python specifics.
Output Format
- Analysis: Group findings by "Critical", "Warning", and "Info".
- ERD: Use Mermaid diagram format unless requested otherwise.
- Recommendations: Provide concrete code snippets for fixes (e.g., adding an index, refactoring a query).
Converted and distributed by TomeVault — claim your Tome and manage your conversions.
1---2name: database-analyst3description: Analyzes database schemas, migrations, ORM entities, and repository pattern across Java, Kotlin, and Python codebases. Identifies performance issues, N+1 queries, locking risks, normalization violations, and generates ERD documentation4---56# Database Analyst78## Usage910This skill analyzes database interactions, schema definitions, and migration scripts. It supports:11- **Languages:** Java (Spring Data JPA, Hibernate), Kotlin (Exposed), Python (SQLAlchemy, Alembic)12- **Tasks:** Performance analysis, Schema design review, Application logic audit, ERD generation.1314## Workflows1516### 1. Identify Technology Stack1718First, determine the database technology in use by checking configuration files:19- **Java/Spring:** Look for `pom.xml` (dependencies like `spring-boot-starter-data-jpa`, `flyway-core`), `application.properties`, and Entity classes (`@Entity`).20- **Python:** Look for `requirements.txt` (`sqlalchemy`, `alembic`), `alembic.ini`, and model definitions (`Base = declarative_base()`).2122### 2. Select Analysis Mode2324Based on the user's request, perform the following:2526#### A. Performance & Migration Analysis27For requests about "slow queries", "locking", "migrations", or "tuning":281. Locate migration files (e.g., `src/main/resources/db/migration/*.sql` or `alembic/versions/*.py`).292. Review for locking risks and anti-patterns.303. **Read [references/performance.md](references/performance.md)** for specific checklists.3132#### B. Schema Design & ERD33For requests about "normalization", "schema review", "database structure", or "diagrams":341. Locate Entity/Model classes.352. Analyze relationships, constraints, and keys.363. **Read [references/schema.md](references/schema.md)** for normalization rules and ERD formatting.3738#### C. Application Logic & Query Analysis39For requests about "N+1 problems", "repository review", or "transaction issues":401. Locate Repository/DAO layers and Service layers.412. Trace method calls to identify implicit queries.423. **Read [references/java-jpa.md](references/java-jpa.md)** for Java/Spring specifics.434. **Read [references/python-sqlalchemy.md](references/python-sqlalchemy.md)** for Python specifics.4445## Output Format4647- **Analysis:** Group findings by "Critical", "Warning", and "Info".48- **ERD:** Use Mermaid diagram format unless requested otherwise.49- **Recommendations:** Provide concrete code snippets for fixes (e.g., adding an index, refactoring a query).5051---52> Converted and distributed by [TomeVault](https://tomevault.io/claim/ddobrin) — claim your Tome and manage your conversions.53<!-- tomevault:4.0:skill_md:2026-04-11 -->