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 →