up-data-mapping

Map Design Class Diagrams to relational data models with tables, columns, keys, and relationships.

3|Updated Mar 31, 2026
One-click install
npx skills add https://github.com/apolosan/unified_process_pi_extension --skill up-data-mapping
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: up-data-mapping
Source: https://github.com/apolosan/unified_process_pi_extension/tree/main/skills/up-data-mapping
Command: npx skills add https://github.com/apolosan/unified_process_pi_extension --skill up-data-mapping

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

Maps the Design Class Diagram (DCD) to a relational data model, detailing tables, columns, keys, and relationships in a database-agnostic way to support ORM and schema design.

Core Features & Use Cases

  • Map concrete classes to tables with snake_case naming, translating attributes to columns and identifying primary keys from <<oid>>.
  • Represent inheritance using chosen strategies (Single Table or Table per Subclass) and document discriminator or subclass relations.
  • Convert associations (1-1, 1-N, N-N) to foreign keys or join tables, including handling of association classes and lazy-loading guidance.

Quick Start

Generate a data-model artifact for your DCD using the mapping rules and export it as a structured document.

Frequently Asked Questions about up-data-mapping

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

FAQPage Schema
How do I map a Design Class Diagram to a relational data model?

Mapping a Design Class Diagram to a relational data model involves translating concrete classes to tables, attributes to columns, and associations to foreign keys or join tables. It outputs a documented schema for ORM tooling.

What is the best way to handle inheritance when designing a relational database schema?

Inheritance in relational database schema design is handled using Single Table or Table per Subclass strategies. Single Table uses a discriminator column, whileJoined subclass relations link parent and child tables.

How do I convert UML associations to foreign keys and join tables?

Converting UML associations to foreign keys and join tables requires translating 1-1 and 1-N relationships into foreign keys, and N-N relationships into join tables, including handling association classes.

Does this data modeling approach support association classes and lazy loading?

Yes, this data modeling approach supports association classes by converting them into appropriate relational constraints. It also provides lazy-loading guidance within the structured explanation for ORM tooling.

Can I generate ORM tooling documentation directly from a class diagram?

Yes, you can generate ORM tooling documentation directly from a class diagram. The process outputs a production-ready artifact containing table definitions, keys, and relationship mappings for schema design.

When should I use single-table inheritance versus table per subclass in data modeling?

Use single-table inheritance when subclasses share many attributes and query performance is critical, requiring a discriminator column. Use table per subclass when subclasses have distinct attributes to avoid sparse tables.