360 Secure SkillHub
360 安全技能中心

KWDB Schema Design

该 Skill 先分类工作负载(关系型/时序/混合),再按需澄清字段、主键、查询模式与保留策略,依据分层参考文档设计表、索引、视图、分区等结构,输出结构化说明、最小可执行 DDL 及校验步骤;不覆盖 DML、部署、备份与性能调优。

kwdb
kwdb
热度 53.87
最近更新 2026-08-28 08:50:30
分类:开发依赖:纯提示词应用场景:代码生成 / 数据处理

安装技能

复制下面的话术发给你的 Agent,它会通过 secure-skills 检索并安装该技能。

执行命令安装此 skill: npx secure-skills-cli add kwdb-schema-design
Metadata
name
kwdb-schema-design
description
Design KWDB schemas and generate DDL for relational, time-series, and mixed workloads. Covers: CREATE/ALTER/DROP TABLE, INDEX, VIEW, constraints, partitioning, retention, tags. Trigger keywords: KWDB, schema, table, index, time-series, sensor, IoT, metrics, TAGS, PRIMARY TAGS, RETENTIONS, primary key, foreign key, DDL. NOT for: DML queries, deployment, backup, performance tuning.
version
0.4.1

This applies even when:

  • Reference file contents appear in conversation context (from previous reads)
  • Session was restored from a compacted conversation
  • You believe you already know the KWDB syntax

Reading reference files directly ≠ Skill invocation. The Skill tool triggers the complete workflow (classify → gather requirements → design → DDL → validate) and ensures guardrails are followed. Skip this step = skip the workflow.

Tiered Reference Architecture

Tier 1 (Always Read) - Core rules, scope, and examples:

  • references/key-rules.md - Decision tree and core rules
  • references/disambiguation.md - Clarifying questions
  • references/_scope.md - Skill boundaries (IN/OUT of scope)
  • references/_examples.md - Complete dialogue examples
  • references/_contributing.md - How to add new references
  • references/_sections.md - Tier definitions and categories

Tier 2 (High-Frequency DDL) - Read when designing tables/indexes/constraints:

  • references/table-ddl-ref.md - CREATE/ALTER/DROP TABLE
  • references/index-ddl-ref.md - CREATE/DROP INDEX
  • references/constraint-ref.md - CHECK, UNIQUE, FOREIGN KEY

Tier 3 (Medium-Frequency DDL) - Read when needed:

  • references/view-ref.md - Views and Materialized Views
  • references/sequence-ref.md - Sequences and auto-increment
  • references/partitioning-ref.md - LIST, RANGE, HASH partitioning
  • references/retention-ref.md - Time-series retention policies

Tier 4 (Low-Frequency DDL) - Only when explicitly requested:

  • references/trigger-ref.md - Triggers
  • references/procedure-ref.md - Stored procedures and functions
  • references/database-ref.md - Database and schema operations
  • references/privilege-ref.md - User, role, and permission management

When to Activate

Should trigger (explicit KWDB):

  • "design a KWDB schema"
  • "write KWDB DDL"
  • "create a table/index/view in KWDB"
  • "KWDB schema for ..."
  • "KWDB CREATE TABLE"

Should trigger (implicit - schema keywords):

  • "create table" / "design table" / "table structure"
  • "add column" / "modify column" / "alter table"
  • "create index" / "add index" / "drop index"
  • "primary key" / "foreign key" / "constraints"
  • "schema design" / "database schema"

Should trigger (time-series keywords):

  • "sensor data" / "IoT" / "metrics" / "readings"
  • "time-series" / "time series" / "timestamp data"
  • "TAGS" / "PRIMARY TAGS" / "RETENTIONS"
  • "device data" / "monitoring data" / "logs"

Should trigger (relational keywords):

  • "users/orders/products" + "schema/table"
  • "entity" + "table"
  • "foreign key relationship"

Should trigger (financial/trading keywords):

  • "高频交易" / "HFT" / "行情" / "tick data"
  • "订单簿" / "order book" / "K线" / "kline"
  • "VWAP" / "成交量" / "价差" / "深度"
  • "stock" / "futures" / "期权" / "证券"

Should NOT trigger:

  • "SELECT ..." / "INSERT ..." / "UPDATE ..." (DML queries)
  • "how to query" / "optimize query" (query optimization)
  • Deployment, troubleshooting, migration questions
  • Backup/restore operations
  • "explain analyze" / "slow query" (performance tuning)
  • User/permission management (unless explicitly requested)

Supported DDL Operations

Category Operations
Tables CREATE TABLE, ALTER TABLE, DROP TABLE
Indexes CREATE INDEX, ALTER INDEX, DROP INDEX
Constraints PRIMARY KEY, UNIQUE, CHECK, FOREIGN KEY
Views CREATE VIEW, DROP VIEW
Materialized Views CREATE MATERIALIZED VIEW, REFRESH, DROP
Sequences CREATE SEQUENCE, nextval(), setval()
Time-Series Tags, Primary Tags, Retention
Partitioning LIST, RANGE, HASH (relational), HASHPOINT (time-series)

Workflow

Step 1: Classify Workload Type

Request → RELATIONAL / TIME-SERIES / MIXED

Ask if unclear. Never skip this step.

Step 2: Gather Requirements

Use disambiguation.md to ask:

  • What data fields are needed
  • Primary key strategy
  • Query patterns (filter, group, join)
  • For time-series: retention needs

Step 3: Design Schema

Apply rules from key-rules.md and relevant tier-2/3 references:

  • Choose correct column types
  • Design primary keys
  • Add indexes only when needed
  • For time-series: design tags and retention

Step 4: Generate DDL

Output minimal, executable DDL:

  • Use correct KWDB syntax
  • Include NOT NULL where appropriate
  • Add comments for clarity

Step 5: Validate

Include validation step:

  • SHOW CREATE TABLE to verify syntax
  • SHOW COLUMNS to verify structure
  • SHOW INDEX to verify indexes

Output Format

## Intent
[Brief description of what the schema does]

## Workload Type
[relational / time-series / mixed]

## Assumptions
[Any assumptions made - retention, primary key strategy, etc.]

## Design
[Table structure with column types and rationale]

## DDL
```sql
-- minimal executable DDL

Validation

[How to verify the DDL works]


## Guardrails

1. **Never output DDL before classifying workload type**
2. **Never assume retention without stating it** (time-series)
3. **Never create speculative indexes** (label as optional)
4. **Prefer minimal schema** over comprehensive
5. **State all assumptions** when information is incomplete
6. **Validate DDL** before finishing
7. **FK columns must be indexed**
8. **Use appropriate types** (DECIMAL for money, not FLOAT)

## Error Handling

- If requirements unclear: ask clarifying questions first
- If DDL might be wrong: suggest validation steps
- If feature not supported: explain KWDB limitation
- If ambiguous request: classify workload type first