跳转至

库表结构设计模板(DATABASE_SCHEMA.md)

将下列内容填实后写入**功能规格说明书同目录**下的 DATABASE_SCHEMA.md(或用户指定路径)。花括号为占位符;无内容的节写「无」,勿删节标题。


{软件/项目显示名} — 数据库表结构设计

  • 需求来源:{文档名或路径}
  • 关联规划:{PLAN.md 路径 / 无}
  • 目标库:{MySQL / Oracle / …}(若已知)
  • 版本 / 日期:
  • 作者:

1. 概述

  • 业务目标:(1 段)
  • 设计范围:
  • 不做事项:
  • 约定摘要:
  • 事务表:TLK_ + 表单名;业务列 ITEM_ + 字段名大写;由动态表单创建
  • 主数据表 / 统计表:手工 SQL 创建;不用 TLK_ 前缀;主数据(及需界面维护的手工表)下游用映射表单 type=65536

2. 表清单

序号 逻辑名 物理表名 类型 用途 创建方式
1 TLK_… / MD_… / SUM_… 事务表 / 主数据表 / 统计表 动态表单 / SQL

类型取值仅限:事务表(Transaction Table)、主数据表(Master Table)、统计表(Summary Table)。

3. 表结构明细

对清单中每张表复制一节(将 {n} 换成序号)。

3.{n} {逻辑名}({物理表名}

属性 内容
类型 事务表 / 主数据表 / 统计表
用途
创建方式 动态表单(表单 name=) / 手工 SQL
主键
备注 事务表可写「含平台固定列,见本节平台固定列」

字段

逻辑名 物理列名 类型 长度/精度 约束 用途
ITEM_… 或 ID 等 VARCHAR / DECIMAL / DATETIME / TEXT / … 如 100;22,10 PK / FK→表.列 / UK / NOT NULL / 默认值

事务表补充列(建议):

表单字段 name 物理列 ITEM_* 建议 fieldtype
VALUE_TYPE_VARCHAR / NUMBER / DATE / TEXT

附件字段:物理列为 TEXT,建议 fieldtype=VALUE_TYPE_TEXT;列值存 JSON(含存储路径、名称等信息),勿用 BLOB

平台固定列(仅事务表需要时)

本表为动态表,另含平台固定列(如 IDPARENTCREATEDAUTHORDOMAINIDISTMP 等),由引擎维护,业务设计不改其语义。明细见产品 design/database-struct 动态表节。

统计来源(仅统计表)

内容
源表
粒度 如:域 + 年-月 + 部门
维度字段
度量字段与算法 如:COUNT / SUM(ITEM_AMOUNT)
刷新方式 定时任务 / 脚本 / 手工 / ETL

4. 关联关系

关联名 端 A(表.列) 端 B(表.列) 基数 关联性质 说明
TLK_ORDER.ID TLK_ORDERITEM.PARENT 1:N 逻辑 / 物理 FK 主子表
TLK_ORDER.ITEM_CUSTID MD_CUSTOMER.ID N:1 逻辑 流水引用主数据

可用 mermaid 补充(可选):

erDiagram
  MD_CUSTOMER ||--o{ TLK_ORDER : "ITEM_CUSTID"
  TLK_ORDER ||--o{ TLK_ORDERITEM : "PARENT"
  TLK_ORDERITEM ||--o| SUM_ORDER_MONTH : "aggregates"

5. 建议 DDL(主数据表 / 统计表)

事务表不在此写完整建表语句。仅对手工表给出可执行 DDL(按目标库方言)。示例:

-- MD_CUSTOMER
CREATE TABLE MD_CUSTOMER (
  ID VARCHAR(100) NOT NULL PRIMARY KEY,
  CODE VARCHAR(50) NOT NULL,
  NAME VARCHAR(200) NOT NULL,
  DOMAINID VARCHAR(100) NULL,
  CREATED DATETIME NULL
);

6. 开放问题

7. 自检记录

A. 与需求一致

  • 需求核心对象均有表或明确合并/不做说明
  • 指标/报表可追溯到事务或统计+规则
  • 无臆造关键实体;开放问题已列
  • 表类型与三类定义一致

B. 自身逻辑合理

  • 命名无冲突;跨表同义字段一致
  • 主键与关联类型/长度兼容
  • 事务表业务列为 ITEM_*;主路径非手工建 TLK_
  • 主数据/统计未使用 TLK_ 前缀
  • 统计度量/维度可追溯
  • 关系基数与中间方案完整
  • 多租户字段一致(若需要)
  • 状态/枚举与需求一致(若有)

C. 文档完整

  • 每表:名称、类型、用途
  • 每字段:名称、类型、长度、约束、用途
  • 关联已写清
  • 自检结论已填

结论:通过 / 有条件通过(条件:…) / 不通过

检查人 / 日期