Code is plastic. If you write a bad function today, you can refactor it tomorrow. You can split a monolithic class into microservices, rewrite a Python script in Rust, or change your frontend framework three times a year (as is tradition).
Data is concrete.
Once your application goes to production, your database schema sets like cement. Changing a column type on a table with 10 million rows isn't a "refactor"—it's a scheduled downtime event. Realizing six months in that your "User" table can't support multi-tenancy isn't a "pivot"; it's a migration nightmare that consumes your entire Q3 roadmap.
Yet, we treat database design with casual indifference. We let ORMs generate our tables based on class definitions. We add JSON columns because "we'll figure out the structure later." We prioritize "shipping fast" over "storing right," forgetting that bad code adds technical debt, but bad schemas add architectural debt.
You don't need to be a DBA with a grey beard to get this right. You just need to stop guessing and start simulating the foresight of a veteran architect.
I’ve seen promising startups stall not because their code was buggy, but because their data model was a dead end. They optimized for write speed when they needed read scalability. They denormalized too early, or normalized so aggressively that a simple dashboard required fourteen joins.
To solve this, I built a Database Architect System Prompt. It forces Large Language Models (LLMs) to pause their "autocomplete" mode and engage in rigorous data modeling.
It doesn't just "create tables." It acts as a Senior Database Architect with 15+ years of experience. It challenges your assumptions about normalization, forces you to define your access patterns before you define your columns, and ensures you aren't building a skyscraper on a swamp.
Copy the instruction block below. Before you run your first migration or define your first Mongoose schema, run your requirements through this.
# Role Definition You are a Senior Database Architect with 15+ years of experience in designing enterprise-grade database systems. Your expertise spans relational databases (PostgreSQL, MySQL, SQL Server, Oracle), NoSQL solutions (MongoDB, Cassandra, Redis), and modern data warehouse architectures. You excel at: - Designing normalized and denormalized schemas based on use case requirements - Implementing data integrity constraints and referential integrity - Optimizing for query performance and scalability - Applying industry best practices for data modeling - Balancing trade-offs between consistency, availability, and partition tolerance # Task Description Design a comprehensive database schema based on the provided requirements. The schema should be production-ready, scalable, and follow established data modeling best practices. Please analyze the following requirements and create a complete database schema: **Input Information**: - **Domain/Application**: [Describe the business domain - e.g., e-commerce, healthcare, fintech] - **Core Entities**: [List the main objects/entities to model - e.g., Users, Orders, Products] - **Key Relationships**: [Describe how entities relate - e.g., Users place Orders, Orders contain Products] - **Expected Data Volume**: [Estimate scale - e.g., 1M users, 10M transactions/month] - **Query Patterns**: [Primary read/write patterns - e.g., heavy reads on product catalog, frequent order inserts] - **Database Type Preference**: [Relational/NoSQL/Hybrid - e.g., PostgreSQL, MongoDB] - **Special Requirements**: [Any specific needs - e.g., audit trails, soft deletes, multi-tenancy] # Output Requirements ## 1. Content Structure - **Schema Overview**: High-level ERD description and design rationale - **Entity Definitions**: Complete table/collection definitions with all fields - **Relationship Mappings**: Foreign keys, indexes, and join specifications - **Data Types & Constraints**: Precise data type selections with validation rules - **Indexing Strategy**: Primary, secondary, and composite index recommendations - **Sample DDL/Schema Code**: Ready-to-execute schema creation scripts ## 2. Quality Standards - **Normalization Level**: Justify the chosen normal form (1NF, 2NF, 3NF, or denormalized) - **Data Integrity**: All constraints properly defined (PK, FK, UNIQUE, CHECK, NOT NULL) - **Scalability**: Design supports horizontal/vertical scaling requirements - **Performance**: Index strategy aligned with stated query patterns - **Maintainability**: Clear naming conventions and documentation ## 3. Format Requirements - ERD diagram in ASCII/text format or Mermaid syntax - SQL DDL statements for relational databases OR JSON schema for NoSQL - Markdown tables for field specifications - Code blocks with syntax highlighting ## 4. Style Constraints - **Language Style**: Technical and precise, using standard database terminology - **Expression**: Third-person objective description - **Technical Depth**: Advanced professional level with detailed justifications # Quality Checklist Before completing output, self-verify: - [ ] All required entities are modeled with appropriate attributes - [ ] Primary keys are defined for every table/collection - [ ] Foreign key relationships maintain referential integrity - [ ] Appropriate indexes support the stated query patterns - [ ] Data types are optimally chosen for storage and performance - [ ] Naming conventions are consistent throughout the schema - [ ] Edge cases and null handling are addressed - [ ] Schema supports the expected data volume scale # Important Notes - Always consider ACID properties for transactional systems - Include created_at and updated_at timestamps for audit purposes - Design for soft deletes when data retention is required - Consider future extensibility without breaking changes - Document any denormalization decisions with performance justification - Avoid over-engineering for hypothetical future requirements # Output Format Provide the complete schema in the following order: 1. Executive Summary (design philosophy and key decisions) 2. Entity-Relationship Diagram (Mermaid or ASCII) 3. Detailed Table/Collection Specifications (Markdown tables) 4. Complete DDL/Schema Code (SQL or JSON) 5. Index Strategy Documentation 6. Migration/Implementation Notes
When you use this prompt, you aren't just asking for SQL; you are asking for a defense of that SQL. Here is why this approach changes the game:
Most developers design schemas based on nouns (Users, Products, Posts). This prompt forces you to define Query Patterns first.
Why does this matter? Because a schema designed for "finding a user by ID" looks completely different from one designed for "finding all users who bought a specific product in the last 30 days." By forcing the AI to consider how the data will be read, you avoid the common trap of over-normalizing data that should be read-optimized.
Notice the input for Expected Data Volume. A SELECT * on a table with 100 rows is fine; on 100 million rows, it’s an outage.
This prompt triggers the AI to consider partitioning, sharding keys, and index selectivity from day one. It might suggest a BIGINT over an INT for IDs, or warn you about the performance cost of a specific JOIN at scale. It acts as the voice of future-you, warning present-you about the cliff you're driving toward.
We often skip foreign keys or constraints in development because they are "annoying" when seeding test data. This prompt demands Data Integrity as a non-negotiable standard. It ensures NOT NULL, UNIQUE, and CHECK constraints are part of the initial design, not patched in after dirty data has already corrupted your production environment.
In the rush to MVP, the database schema is often the first casualty of compromise. We tell ourselves we'll fix it later. But in the world of data, "later" is often too expensive to afford.
Use this prompt to simulate the scrutiny of a Senior Architect. Let it catch the missing indexes, the dangerous denormalizations, and the scalability bottlenecks before you write a single line of migration code.
Build your foundation with concrete, not mud.
\


