data-model-design

Design normalized OLTP schemas and dimensional OLAP marts with PostgreSQL constraints.

1|Updated Jun 20, 2026
One-click install
npx skills add https://github.com/shafibabar/SDLC-Artifact-Factory --skill data-model-design-shafibabar
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: data-model-design
Source: https://github.com/shafibabar/SDLC-Artifact-Factory/tree/main/skills/data-model-design
Command: npx skills add https://github.com/shafibabar/SDLC-Artifact-Factory --skill data-model-design-shafibabar

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill includes references (resource) components.

What problem does it solve?

This skill resolves the common failure of jumping into database implementation without a validated conceptual foundation, preventing costly schema migrations and data integrity issues.

Core Features & Use Cases

  • Conceptual-to-Physical Progression: Guides you through Hoberman’s three-pass modeling process to ensure business requirements are captured before DDL is written.
  • OLTP vs. OLAP Decisioning: Provides clear criteria for choosing between normalized transactional models and dimensional analytical marts.
  • Constraint-Driven Design: Teaches how to encode business invariants directly into PostgreSQL constraints for maximum reliability.

Quick Start

Use the data-model-design skill to validate the conceptual model and generate the physical DDL for the new user-profile aggregate.

Frequently Asked Questions about data-model-design

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I design a database schema for multi-tenant data isolation in PostgreSQL?

Database schema design for multi-tenant data isolation in PostgreSQL uses domain-driven aggregate boundaries to structure normalized OLTP schemas. This approach encodes business invariants directly into constraints to ensure referential integrity and reliable tenant separation.

What is the difference between OLTP and OLAP database design?

The difference between OLTP and OLAP database design is that OLTP uses normalized schemas for transactional processing, while OLAP uses dimensional analytical marts for reporting. Schemas are designed based on domain-driven aggregate boundaries to optimize either operational reliability or analytical querying.

How to generate physical DDL from a conceptual data model?

Generating physical DDL from a conceptual data model follows Hoberman’s three-pass modeling process. This progression validates business requirements before writing DDL, producing PostgreSQL schemas with encoded business invariants and constraints that prevent costly future schema migrations.

Does domain-driven design work with PostgreSQL database schema evolution?

Domain-driven design works with PostgreSQL database schema evolution by mapping aggregate boundaries to normalized transactional schemas. This constraint-driven approach encodes business invariants directly into PostgreSQL, maintaining optimistic concurrency and referential integrity during structural changes.

When should I not use a fully normalized database schema?

You should not use a fully normalized database schema when building analytical reporting infrastructure. Dimensional OLAP marts are preferred over normalized OLTP models for analytical reporting infrastructure to optimize complex aggregate queries and business intelligence workloads.