pokročilý

Database Schema Designer

Špecializovaný prompt pre navrhovanie databázových schém s optimalizáciou pre výkon a škálovateľnosť

Programovanie
ChatGPT, Claude, Cursor
#database#schema#sql#optimization#design

Database Schema Designer

Definícia promptu

Špecializovaný prompt pre navrhovanie databázových schém s optimalizáciou pre výkon, škálovateľnosť a dátovú integritu pre moderné aplikácie.

Primárne využitie

Hlavné aplikácie

  • navrhovanie relačných databázových schém
  • vytváranie NoSQL dátových modelov
  • optimalizácia existujúcich databázových štruktúr
  • migrácie a refactoring databáz

Sekundárne scenáre

  • data modeling pre microservices
  • performance tuning a indexing
  • backup a recovery strategie
  • data governance a compliance

Štruktúra promptu

Základná šablóna

Navrhni databázovú schému pre [aplikácia] s nasledujúcimi požiadavkami:

Aplikácia: [typ aplikácie a hlavné funkcie]
Database: [databázový systém]
Scale: [očakávaný objem dát]
Requirements: [špecifické požiadavky]

Požiadavky:
- Normalizovaná štruktúra
- Indexing strategy
- Foreign key constraints
- Data validation rules
- Performance optimization

Rozšírená verzia

Navrhni komplexnú databázovú schému pre [aplikácia] s nasledujúcimi špecifikáciami:

Application Context:
- Typ: [e-commerce/SaaS/social media/etc]
- User base: [expected concurrent users]
- Data volume: [estimated records per table]
- Growth rate: [monthly/annual growth]
- Compliance: [GDPR/HIPAA/SOC2 requirements]

Technical Requirements:
- Database: [PostgreSQL/MySQL/MongoDB/etc]
- Version: [specific version]
- Storage: [estimated storage requirements]
- Performance: [query response time requirements]
- Availability: [uptime requirements]

Business Entities:
1. [Entity 1]
   - Properties: [list of fields with types]
   - Relationships: [connections to other entities]
   - Constraints: [business rules]
   - Indexing needs: [frequent query patterns]

2. [Entity 2]
   - Properties: [list of fields with types]
   - Relationships: [connections to other entities]
   - Constraints: [business rules]
   - Indexing needs: [frequent query patterns]

Schema Design Requirements:
- Normalization level: [1NF/2NF/3NF/BCNF]
- Primary keys: [strategy for primary keys]
- Foreign keys: [referential integrity rules]
- Indexes: [performance-critical indexes]
- Constraints: [data integrity rules]
- Data types: [appropriate type selection]

Performance Optimization:
- Indexing strategy: [which columns to index]
- Partitioning: [if applicable]
- Caching strategy: [frequently accessed data]
- Query optimization: [common query patterns]
- Connection pooling: [database connection management]

Security & Compliance:
- Data encryption: [sensitive data protection]
- Access control: [user permissions]
- Audit logging: [change tracking]
- Data retention: [retention policies]
- Privacy: [PII handling]

Scalability Considerations:
- Read replicas: [read-heavy workloads]
- Sharding: [horizontal scaling]
- Archiving: [historical data management]
- Backup strategy: [backup and recovery]

Migration Strategy:
- Version control: [schema versioning]
- Rollback plan: [migration rollback]
- Zero-downtime: [deployment strategy]
- Testing: [migration testing]

Output: Kompletná schéma s:
1. CREATE TABLE statements
2. Index definitions
3. Constraint definitions
4. Relationship diagrams
5. Performance recommendations
6. Migration scripts
7. Documentation

Kľúčové parametre

Povinné parametre

  • aplikácia - Typ a kontext aplikácie
  • database - Databázový systém a verzia
  • entities - Hlavné business entity

Voliteľné parametre

  • scale - Očakávaný objem dát a užívateľov
  • performance - Performance requirements
  • compliance - Regulačné požiadavky
  • migration - Migrácia strategy

Najlepšie praktiky

Optimalizácia pre výsledky

  • Špecifikujte business kontext - relevantnejší design
  • Definujte query patterns - lepšie indexing
  • Určite data volume - vhodnejšia štruktúra
  • Popíšte relationships - správne foreign keys

Čo sa vyhnúť

  • Príliš všeobecné entity - menej optimalizovaná schéma
  • Ignorovanie indexing - zlý performance
  • Chýbajúce constraints - dátová nekonzistencia
  • Nevhodné data types - zlá efektivita

Príklady použitia

Základný príklad

Vstup:

Navrhni databázovú schému pre blogovací systém s nasledujúcimi požiadavkami:

Aplikácia: Blog platform s užívateľmi, článkami a komentármi
Database: PostgreSQL 14
Scale: 10,000 užívateľov, 50,000 článkov
Requirements: Užívatelia môžu písať články a komentáre

Požiadavky:
- Normalizovaná štruktúra
- Indexing pre vyhľadávanie
- Foreign key constraints
- Timestamps pre audit

Výstup:

-- Users table
CREATE TABLE users (
    id SERIAL PRIMARY KEY,
    username VARCHAR(50) UNIQUE NOT NULL,
    email VARCHAR(255) UNIQUE NOT NULL,
    password_hash VARCHAR(255) NOT NULL,
    first_name VARCHAR(100),
    last_name VARCHAR(100),
    bio TEXT,
    avatar_url VARCHAR(500),
    created_at TIMESTAMP WITH TIME ZONE DEFAULT CURRENT_TIMESTAMP,
    updated_at TIMESTAMP WITH TIME ZONE DEFAULT CURRENT_TIMESTAMP,
    last_login TIMESTAMP WITH TIME ZONE
);

-- Categories table
CREATE TABLE categories (
    id SERIAL PRIMARY KEY,
    name VARCHAR(100) UNIQUE NOT NULL,
    slug VARCHAR(100) UNIQUE NOT NULL,
    description TEXT,
    created_at TIMESTAMP WITH TIME ZONE DEFAULT CURRENT_TIMESTAMP
);

-- Posts table
CREATE TABLE posts (
    id SERIAL PRIMARY KEY,
    title VARCHAR(255) NOT NULL,
    slug VARCHAR(255) UNIQUE NOT NULL,
    content TEXT NOT NULL,
    excerpt TEXT,
    status VARCHAR(20) DEFAULT 'draft' CHECK (status IN ('draft', 'published', 'archived')),
    author_id INTEGER NOT NULL REFERENCES users(id) ON DELETE CASCADE,
    category_id INTEGER REFERENCES categories(id) ON DELETE SET NULL,
    featured_image_url VARCHAR(500),
    view_count INTEGER DEFAULT 0,
    published_at TIMESTAMP WITH TIME ZONE,
    created_at TIMESTAMP WITH TIME ZONE DEFAULT CURRENT_TIMESTAMP,
    updated_at TIMESTAMP WITH TIME ZONE DEFAULT CURRENT_TIMESTAMP
);

-- Comments table
CREATE TABLE comments (
    id SERIAL PRIMARY KEY,
    content TEXT NOT NULL,
    author_id INTEGER NOT NULL REFERENCES users(id) ON DELETE CASCADE,
    post_id INTEGER NOT NULL REFERENCES posts(id) ON DELETE CASCADE,
    parent_id INTEGER REFERENCES comments(id) ON DELETE CASCADE,
    status VARCHAR(20) DEFAULT 'pending' CHECK (status IN ('pending', 'approved', 'rejected')),
    created_at TIMESTAMP WITH TIME ZONE DEFAULT CURRENT_TIMESTAMP,
    updated_at TIMESTAMP WITH TIME ZONE DEFAULT CURRENT_TIMESTAMP
);

-- Tags table
CREATE TABLE tags (
    id SERIAL PRIMARY KEY,
    name VARCHAR(50) UNIQUE NOT NULL,
    slug VARCHAR(50) UNIQUE NOT NULL,
    created_at TIMESTAMP WITH TIME ZONE DEFAULT CURRENT_TIMESTAMP
);

-- Post tags junction table
CREATE TABLE post_tags (
    post_id INTEGER NOT NULL REFERENCES posts(id) ON DELETE CASCADE,
    tag_id INTEGER NOT NULL REFERENCES tags(id) ON DELETE CASCADE,
    PRIMARY KEY (post_id, tag_id)
);

-- Indexes for performance
CREATE INDEX idx_posts_author_id ON posts(author_id);
CREATE INDEX idx_posts_category_id ON posts(category_id);
CREATE INDEX idx_posts_status ON posts(status);
CREATE INDEX idx_posts_published_at ON posts(published_at);
CREATE INDEX idx_posts_slug ON posts(slug);

CREATE INDEX idx_comments_post_id ON comments(post_id);
CREATE INDEX idx_comments_author_id ON comments(author_id);
CREATE INDEX idx_comments_status ON comments(status);
CREATE INDEX idx_comments_parent_id ON comments(parent_id);

CREATE INDEX idx_users_email ON users(email);
CREATE INDEX idx_users_username ON users(username);

-- Full-text search index
CREATE INDEX idx_posts_search ON posts USING gin(to_tsvector('english', title || ' ' || content));

-- Trigger for updated_at timestamp
CREATE OR REPLACE FUNCTION update_updated_at_column()
RETURNS TRIGGER AS $$
BEGIN
    NEW.updated_at = CURRENT_TIMESTAMP;
    RETURN NEW;
END;
$$ language 'plpgsql';

CREATE TRIGGER update_users_updated_at BEFORE UPDATE ON users
    FOR EACH ROW EXECUTE FUNCTION update_updated_at_column();

CREATE TRIGGER update_posts_updated_at BEFORE UPDATE ON posts
    FOR EACH ROW EXECUTE FUNCTION update_updated_at_column();

CREATE TRIGGER update_comments_updated_at BEFORE UPDATE ON comments
    FOR EACH ROW EXECUTE FUNCTION update_updated_at_column();

Kompatibilita a platformy

Podporované AI modely

  • GPT-4 - Najlepšie pre komplexné schémy a optimalizácie
  • Claude 3 - Vynikajúce pre data integrity a compliance
  • Gemini Pro - Dobré pre rapid prototyping

Odporúčané platformy

  • ChatGPT Plus - Pre GPT-4 prístup a SQL generovanie
  • Cursor - Pre IDE integráciu a database tools
  • DBDiagram.io - Pre vizualizáciu schém

Metriky úspešnosti

Kvantitatívne metriky

  • Schema completeness - >95% entities properly defined
  • Normalization compliance - 100% proper normalization
  • Indexing efficiency - >90% critical queries indexed
  • Constraint coverage - >80% business rules enforced

Kvalitatívne indikátory

  • Data integrity a consistency
  • Query performance optimization
  • Scalability considerations
  • Maintainability a documentation

Tipy a triky

Pro tipy

  • Vždy špecifikujte query patterns - lepšie indexing
  • Používajte proper data types - lepšia efektivita
  • Implementujte audit columns - tracking changes
  • Plánujte pre future growth - scalability

Pokročilé techniky

  • Database partitioning pre large tables
  • Materialized views pre reporting
  • Stored procedures pre complex logic
  • Database triggers pre automation

Bežné problémy a riešenia

Problémy s výstupom

  • Chýbajúce indexes - špecifikujte query patterns
  • Slabá normalizácia - zdôraznite data integrity
  • Zlé data types - definujte presné požiadavky
  • Chýbajúce constraints - pridajte business rules

Problémy s kontextom

  • Nesprávny SQL syntax - špecifikujte databázový systém
  • Chýbajúce relationships - popíšte entity connections
  • Zlá škálovateľnosť - definujte expected growth

Budúci vývoj

Plánované vylepšenia

  • NoSQL schema design templates
  • Multi-tenant architecture patterns
  • Real-time synchronization strategies
  • Database migration automation

Experimentálne varianty

  • AI-powered performance optimization
  • Automatic schema refactoring
  • Data lineage tracking
  • Compliance validation automation

Podobné prompty

Programovanie

Ďalší prompt v kategórii

Preskúmajte ďalšie prompty v rovnakej kategórii.

Zobraziť viac →
Odporúčané

Najlepšie prompty

Objavte najpopulárnejšie a najúčinnejšie prompty.

Preskúmať všetky →