Database Design

Standardizes database schema design with naming conventions, normalization, data types, and indexing rules.

Updated May 12, 2026
One-click install
npx skills add https://github.com/ZzZueszZ/claude-kit --skill database-design-zzzueszz
Or copy as Structured Prompt for Agent▼
Please help me install this Agent Skill.
Skill: Database Design
Source: https://github.com/ZzZueszZ/claude-kit/tree/main/.claude/skills/database-design
Command: npx skills add https://github.com/ZzZueszZ/claude-kit --skill database-design-zzzueszz

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve? Designing enterprise database schemas without consistent standards leads to naming chaos, poor data type choices, missing constraints, and slow queries. This Skill provides a complete set of rules for naming, normalization, data types, keys, constraints, and indexing so every schema follows the same proven conventions. ## Core Features & Use Cases - Naming Conventions: Enforces snake_case tables and columns plus standardized prefixes for indexes (idx_), unique constraints (uq_), checks (chk_), and sequences (seq_). - Normalization & Data Types: Guides schemas to at least 3NF and maps business data (money, booleans, JSON, timestamps) to correct Oracle data types with proper precision. - Keys, Constraints & Indexing: Covers surrogate vs natural keys, ON DELETE behaviors, composite and function-based indexes, and the Oracle requirement to manually index foreign keys. - Use Case: When creating a new orders module, apply this Skill to generate a fully constrained CREATE TABLE script with proper FK indexes, CHECK constraints, and a review checklist. ## Quick Start Ask the AI to design a new database table or review an existing schema using the database design standards, for example: design an orders and order_items schema following the naming, normalization, and indexing conventions.

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 database schema with proper naming conventions?▼

Use snake_case plural names for tables (users, order_items) and snake_case for columns (created_at, is_active). Name indexes as idx_{table}_{columns}, unique constraints as uq_{table}_{columns}, and foreign keys as {referenced_table_singular}_id.

What data type should I use for money in Oracle?▼

Use NUMBER(15,2) or NUMBER(19,4) for monetary values with explicit precision. Never use FLOAT or DOUBLE for money because floating-point rounding causes financial calculation errors.

Does Oracle automatically create indexes on foreign keys?▼

No, Oracle does not automatically create indexes on foreign key columns. You must manually create them (for example, CREATE INDEX idx_orders_user_id ON orders(user_id)) to avoid locking issues and slow joins.

When should I denormalize a database schema?▼

Denormalize only after query profiling proves a performance bottleneck, typically for reporting tables, materialized views, or cached computed values. Always document the reason and maintain a sync mechanism such as triggers or scheduled jobs.

How do I choose column order in a composite index?▼

Place high-selectivity equality columns first and range columns last. A query that skips the leading column cannot use the index, so match the index order to your most common WHERE clause patterns.