Token导航 LogoToken导航TokenDH.com
研究检索只读github未标认证来源可访问clear审计通过

data-modeling数据建模

Agent Skill

用于辅助数据整理、表格处理、CSV/Excel 分析、指标计算和图表准备。它适合让 Agent 清洗字段、汇总数据、发现异常、生成统计口径或把分析结果转成可读说明。使用时需要确认数据来源、字段含义和时间范围,避免把样本数据当全量事实;涉及敏感数据、导出文件或批量写回时,应先确认权限和脱敏边界。

总安装

2,421

周安装

97

GitHub Stars

61

下载量

784
CodexClaudeCursorGemini CLI

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

GitHub

来源数

3

许可证

MIT

最后核验

2026-05-01

来源状态

来源可访问

安装方式

通过对话安装

复制提示词发给支持本地命令或 Skills 的 AI 助手,先确认命令和权限,再让它执行。

请帮我安装这个 Agent Skill:data-modeling(数据建模)
来源仓库:https://github.com/melodic-software/claude-code-plugins
仓库路径:skills/data-modeling
安装命令:
npx skills add https://github.com/melodic-software/claude-code-plugins --skill data-modeling
安装前请先检查当前环境是否支持对应 CLI,并向我确认将要执行的命令、安装目录、联网范围和文件读写权限;确认后再执行。

命令行安装

复制命令到本机终端执行。不同来源提供的安装方式可能略有差异;本站展示可直接复制的安装命令,安装前请核对来源页面。

skills.shnpx skills
npx skills add https://github.com/melodic-software/claude-code-plugins --skill data-modeling

简介

用于数据整理、表格处理和指标计算,适合清洗字段和发现异常。

  • 可辅助生成统计口径或将分析结果转为可读说明。
  • 使用时需确认数据来源、字段含义和时间范围,避免误用样本数据。
  • 涉及敏感数据导出时应先确认脱敏方式和操作边界。
  • data-modeling 属于研究检索类 Skill,可作为该场景下的辅助能力补充。

SKILL.md

Data Modeling

When to Use This Skill

Use this skill when:

  • Data Modeling tasks - Working on data modeling with entity-relationship diagrams (erds), data dictionaries, and conceptual/logical/physical models. documents data structures, relationships, and attributes
  • Planning or design - Need guidance on Data Modeling approaches
  • Best practices - Want to follow established patterns and standards

Overview

Create and document data structures using Entity-Relationship Diagrams (ERDs), data dictionaries, and structured data models. Supports conceptual, logical, and physical modeling levels for database design and data architecture.

What is Data Modeling?

Data modeling creates visual and structured representations of data elements and their relationships. It documents:

  • Entities: Things about which data is stored
  • Attributes: Properties of entities
  • Relationships: How entities connect
  • Constraints: Rules governing data

Modeling Levels

LevelPurposeAudienceDetail
ConceptualBusiness conceptsBusiness usersEntities, high-level relationships
LogicalData structureAnalysts, designersEntities, attributes, all relationships
PhysicalImplementationDevelopers, DBAsTables, columns, types, indexes

Conceptual Model

High-level view of business concepts:

  • Major entities only
  • Key relationships
  • No attributes (or minimal)
  • No technical details

Logical Model

Technology-independent data structure:

  • All entities and attributes
  • Primary and foreign keys
  • All relationships with cardinality
  • Normalization applied
  • No physical implementation details

Physical Model

Database-specific implementation:

  • Table names (physical naming)
  • Column names and data types
  • Indexes and constraints
  • Views and stored procedures
  • Database-specific features

ERD Notation

Entity (Rectangle)

An entity represents a thing about which data is stored.

┌─────────────────┐
│    CUSTOMER     │
├─────────────────┤
│ customer_id PK  │
│ name            │
│ email           │
│ created_at      │
└─────────────────┘

Entity Types:

TypeDescriptionExample
StrongIndependent existenceCustomer, Product
WeakDepends on another entityOrder Line (depends on Order)
AssociativeResolves M:N relationshipsEnrollment (Student-Course)

Attributes

TypeSymbolDescription
Primary Key (PK)Underlined/PKUnique identifier
Foreign Key (FK)FKReference to another entity
Required* or NOT NULLMust have value
Optional○ or NULLMay be empty
Derived/Calculated from other attributes
Composite{attrs}Made of sub-attributes
Multi-valued[attr]Can have multiple values

Relationships (Lines)

Notation Styles:

StyleUsed In
ChenAcademic, conceptual
Crow's FootIndustry standard
UMLSoftware design
IDEF1XGovernment, structured

Crow's Foot Notation:

SymbolMeaning
──One (mandatory)
──○Zero or one (optional)
──<Many
──○<Zero or many

Cardinality

NotationMeaningExample
1:1One to oneEmployee → Workstation
1:MOne to manyCustomer → Orders
M:NMany to manyStudents ↔ Courses

Reading Cardinality:

"One [Entity A] has [min]..[max] [Entity B]"

Example: "One Customer has 0..many Orders"

Workflow

Phase 1: Identify Entities

Step 1: Extract Nouns from Requirements

From business requirements, identify:

  • Things the business tracks
  • Subjects of business rules
  • Sources and targets of data

Step 2: Filter Candidates

KeepExclude
Independent conceptsAttributes (properties of entities)
Things with multiple instancesSynonyms (same concept, different name)
Things requiring data storageActions (verbs, not nouns)

Step 3: Document Entities

## Entities

| Entity | Description | Example |
|--------|-------------|---------|
| Customer | Person or organization that purchases | John Smith, Acme Corp |
| Order | Purchase transaction | Order #12345 |
| Product | Item available for sale | Widget, Gadget |

Phase 2: Define Attributes

Step 1: List Attributes for Each Entity

For each entity, identify:

  • What do we need to know about this entity?
  • What uniquely identifies it?
  • What data does the business reference?

Step 2: Classify Attributes

AttributeTypeRequiredNotes
customer_idPKYesSurrogate key
emailUniqueYesBusiness key
nameStringYes
phoneStringNoOptional

Step 3: Identify Keys

  • Primary Key (PK): Unique identifier
  • Natural Key: Business-meaningful identifier
  • Surrogate Key: System-generated identifier
  • Composite Key: Multiple attributes combined

Phase 3: Define Relationships

Step 1: Identify Connections

For each pair of entities:

  • Is there a business connection?
  • What is the nature of the relationship?
  • What is the cardinality?

Step 2: Document Relationships

## Relationships

| Relationship | From | To | Cardinality | Description |
|--------------|------|-----|-------------|-------------|
| places | Customer | Order | 1:M | Customer places orders |
| contains | Order | Product | M:N | Order contains products |

Step 3: Resolve Many-to-Many

M:N relationships require associative entities:

Student ──M:N── Course

Becomes:

Student ──1:M── Enrollment ──M:1── Course

Phase 4: Normalize (Logical Model)

Normal Forms:

FormRuleViolation Example
1NFAtomic values, no repeating groupsPhone1, Phone2, Phone3
2NFNo partial dependenciesNon-key depends on part of composite key
3NFNo transitive dependenciesNon-key depends on non-key
BCNFEvery determinant is a candidate keyOverlap in candidate keys

When to Denormalize:

  • Read performance critical
  • Reporting/analytics use cases
  • Data warehouse design
  • Justified with clear trade-off analysis

Phase 5: Create Physical Model

Step 1: Map to Physical Types

Logical TypePhysical (PostgreSQL)Physical (SQL Server)
String(50)VARCHAR(50)NVARCHAR(50)
IntegerINTEGERINT
Decimal(10,2)NUMERIC(10,2)DECIMAL(10,2)
DateDATEDATE
TimestampTIMESTAMPDATETIME2
BooleanBOOLEANBIT

Step 2: Define Constraints

  • Primary key constraints
  • Foreign key constraints
  • Unique constraints
  • Check constraints
  • Default values

Step 3: Plan Indexes

  • Primary key (automatic)
  • Foreign keys (for joins)
  • Frequently queried columns
  • Covering indexes for performance

Output Formats

Mermaid ERD

erDiagram
    CUSTOMER ||--o{ ORDER : places
    ORDER ||--|{ ORDER_LINE : contains
    PRODUCT ||--o{ ORDER_LINE : includes

    CUSTOMER {
        int customer_id PK
        string name
        string email UK
        date created_at
    }

    ORDER {
        int order_id PK
        int customer_id FK
        date order_date
        decimal total
        string status
    }

    ORDER_LINE {
        int order_id PK,FK
        int product_id PK,FK
        int quantity
        decimal unit_price
    }

    PRODUCT {
        int product_id PK
        string name
        string sku UK
        decimal price
        int stock_qty
    }

Data Dictionary

## Data Dictionary

### CUSTOMER

| Column | Type | Null | Key | Default | Description |
|--------|------|------|-----|---------|-------------|
| customer_id | INT | No | PK | AUTO | Unique identifier |
| name | VARCHAR(100) | No | | | Customer full name |
| email | VARCHAR(255) | No | UK | | Contact email |
| phone | VARCHAR(20) | Yes | | NULL | Contact phone |
| created_at | TIMESTAMP | No | | NOW() | Record creation |

**Indexes:**
- `pk_customer` (customer_id) - Primary
- `uk_customer_email` (email) - Unique
- `ix_customer_name` (name) - Search

**Constraints:**
- Email format validation (CHECK)
- Name length minimum 2 characters

Structured Data (YAML)

data_model:
  name: "E-Commerce"
  version: "1.0"
  date: "2025-01-15"
  level: "logical"  # conceptual, logical, physical
  analyst: "data-modeler"

  entities:
    - name: "Customer"
      type: "strong"
      description: "Person or organization that makes purchases"
      attributes:
        - name: "customer_id"
          type: "integer"
          key: "primary"
          required: true
          generated: true

        - name: "email"
          type: "string"
          length: 255
          key: "unique"
          required: true

        - name: "name"
          type: "string"
          length: 100
          required: true

    - name: "Order"
      type: "strong"
      description: "Purchase transaction"
      attributes:
        - name: "order_id"
          type: "integer"
          key: "primary"
          required: true

        - name: "customer_id"
          type: "integer"
          key: "foreign"
          references: "Customer.customer_id"
          required: true

  relationships:
    - name: "places"
      from: "Customer"
      to: "Order"
      cardinality: "1:M"
      from_participation: "optional"  # 0..1
      to_participation: "mandatory"   # 1..M
      description: "Customer places orders"

  constraints:
    - entity: "Customer"
      type: "check"
      expression: "LENGTH(name) >= 2"
      description: "Name minimum length"

  indexes:
    - entity: "Order"
      name: "ix_order_date"
      columns: ["order_date"]
      purpose: "Date range queries"

Narrative Summary

## Data Model: E-Commerce

**Version:** 1.0
**Date:** [ISO Date]
**Level:** Logical

### Entity Summary

| Entity | Description | Key Relationships |
|--------|-------------|-------------------|
| Customer | Purchasers | Places Orders |
| Order | Transactions | Belongs to Customer, Contains Products |
| Product | Items for sale | Included in Orders |
| Order Line | Order details | Links Order to Product |

### Key Relationships

1. **Customer → Order (1:M)**
   - One customer can place many orders
   - Each order belongs to exactly one customer

2. **Order ↔ Product (M:N via Order Line)**
   - An order can contain many products
   - A product can appear in many orders

### Data Integrity Rules

1. Orders cannot exist without a customer
2. Order lines must reference valid order and product
3. Stock quantity cannot be negative
4. Email must be unique per customer

### Notes

- Consider partitioning Orders by date for large volumes
- Product price stored in Order Line for historical accuracy

Common Patterns

Inheritance (Subtype/Supertype)

erDiagram
    PERSON ||--o| EMPLOYEE : "is a"
    PERSON ||--o| CUSTOMER : "is a"

    PERSON {
        int person_id PK
        string name
        string email
    }

    EMPLOYEE {
        int person_id PK,FK
        date hire_date
        decimal salary
    }

    CUSTOMER {
        int person_id PK,FK
        string company
        decimal credit_limit
    }

Self-Referencing

erDiagram
    EMPLOYEE ||--o{ EMPLOYEE : "manages"

    EMPLOYEE {
        int employee_id PK
        string name
        int manager_id FK
    }

Audit Trail

erDiagram
    ENTITY ||--o{ ENTITY_HISTORY : "has history"

    ENTITY {
        int id PK
        string data
        timestamp updated_at
    }

    ENTITY_HISTORY {
        int history_id PK
        int entity_id FK
        string data
        timestamp valid_from
        timestamp valid_to
        string changed_by
    }

Integration

Upstream

  • Requirements - Data requirements source
  • domain-storytelling - Domain concepts
  • process-modeling - Data in processes

Downstream

  • Database design - Physical implementation
  • API design - Data contracts
  • Integration - Data exchange

Related Skills

  • process-modeling - Process context for data
  • journey-mapping - Customer data touchpoints
  • decision-analysis - Data-driven decisions
  • capability-mapping - Data supporting capabilities

Version History

  • v1.0.0 (2025-12-26): Initial release

适合场景

01

用户想查找某类 Agent Skill 时

02

需要根据任务场景推荐可安装能力包时

03

需要对比不同来源的安装命令和来源信息时

04

需要参考平台分布和安装热度时

能力概览

能力 1

按任务关键词查找相关 Skills

能力 2

展示可复制的安装命令

能力 3

保留来源站点、仓库和原始说明,方便继续核验

能力 4

补充不同宿主或平台的使用分布数据

能力 5

展示第三方安全扫描或审计结果

安装后应在对应宿主中按原始 README 的触发条件使用;具体调用方式请以来源页面和 README 为准。

平台分布

Claude Code

29.56%
按下载量换算232

Antigravity

24.18%
按下载量换算190

Codex

15.83%
按下载量换算124

Gemini CLI

13.95%
按下载量换算109

OpenCode

7.26%
按下载量换算57

windsurf

3.74%
按下载量换算29

安全审计

Gen Agent Trust Hub

通过

Socket

通过

Snyk

通过

权限和风险

只读

该 Skill 主要提供规则、说明或参考内容,本身偏只读;真正读写文件、联网或执行命令仍取决于宿主 Agent 的任务。

安装前确认

本站仅展示第三方公开信息,不托管安装包,不提供自动安装或运行环境。安装前应自行审查源码、依赖和命令行为。

来源信息

继续浏览同类 Skills