Skip to Content
数据处理数据模型与数据库

Zion 数据模型与数据库

Zion 提供功能强大的关系型数据库,支持灵活构建结构化数据模型,实现高效的数据管理与安全控制。

快速入门

打开编辑器左上角的“数据”菜单:

  • 数据模型:表的管理,包括建表、字段、关联等操作
  • 数据库:数据的管理

Zion 数据模型展示1 Zion 数据模型展示2

数据表管理

表是数据模型的核心,用于存储结构化数据。Zion 支持便捷的表管理。

创建数据表

点击“添加”,设置表属性:

  • 表名:避免使用“log”、“column”、“index”等保留字
  • 描述:表的说明(可选)
  • 对所有角色开放权限:控制表的增删改查权限,详见权限管理

示例:创建“博客文章”表

新建数据表界面

添加字段

每张表默认包含 id、创建时间、更新时间三列(系统自动维护,不可修改/删除)。

添加字段时需设置:

  • 列名:避免使用“column”等保留字
  • 类型:支持文本、整数、图片等,类型需严格匹配业务需求
  • 必须:是否为必填项
  • 唯一:是否唯一(如用户名)
  • 对所有角色开放权限:控制字段权限,详见权限管理

示例:在 blog_article 表中添加标题、内容、封面、发布时间

新建字段界面

添加表关联

表间可通过 id 建立关联。例如,账户表与博客文章表建立关联后,博客文章表会新增一列用于保存账户 id。

表关联示意图

关联需明确:

  • 关联方向:谁对谁建立关联
  • 关联类型:一对多/一对一

一对多:指 A 表中的一行数据可以与 B 表中多行数据关联。例:一个用户可拥有多篇博客 一对一:指 A 表中的一行数据可以与 B 表中 1 行数据关联。一个用户仅有一个钱包

一对多与一对一示意

配置关联时需设置:

  • 目标表
  • 关系类型
  • **关系名称(目标表/当前表):**在对应表中的字段名称
  • **对所有角色开放权限:**权限管理,打开后所有角色都有该字段的编辑权限

关联属性设置1 关联属性设置2

约束设置

支持“唯一约束”,可指定某些字段或字段组合不可重复。

唯一约束界面

每张表默认 id 唯一。

id 唯一约束

添加自定义约束时需设置:

  • 约束名称:不可重复,禁止中文和大写字母
  • 列集合:可单列或多列,组合唯一

示例:同一用户不能有重复标题

组合唯一约束

向量化存储与排序

向量化存储将文本字段通过大模型转为向量,实现基于相似度的排序(如智能推荐)。详情见向量化存储.

示例:对“内容”字段向量化,实现文章推荐

  1. 用户输入感兴趣内容
  2. 计算输入与文章内容的向量距离,按距离排序
  3. 取最相关的若干篇文章

仅支持文本类型向量化。

向量化存储界面

配置后可在数据获取时启用向量化排序。

向量化排序界面

支持两种距离算法:

  • EUCLIDEAN(欧氏距离):适合绝对差异场景,如物流路径优化
  • COSINE(余弦距离):适合方向相似性场景,如文本推荐

数据表修改与同步

所有表和字段的修改,更新后端后会同步至线上。注意:项目已发布后,表结构变更可能导致线上请求失败。

数据表同步界面

权限管理

数据是项目核心资产。Zion 结合 RBAC(基于角色)与 ABAC(基于属性)权限系统,保障数据安全并实现灵活控制。详见权限管理.

数据使用

数据使用包括数据的增加、删除、更新和查询。在做任何操作时,都需要做以下配置:

条件:筛选的条件,最终满足条件的筛选会生效。

过滤:指从数据库中提取数据时,获取满足过滤条件的数据。过滤条件支持两种模式:

  • 数据表字段与某个值的比较。在上文的例子中,如果想要获取点赞数超过100的博客文章,就可以设置条件:like_count > 100

  • 数据表字段与字段的比较。例如,想要获取点赞大于被踩数的文章,就可以设置条件:like_count > dislike_count

排序:选择根据某个字段进行排序。如果该字段开启了向量存储,能够进行向量排序(详细查看:数据库

去重:去除重复数据,可选择多个去重字段

详细用法请参阅:数据处理

数据导入指南

进入数据导入界面

点击编辑器左上角“数据模型”,进入数据库后点击“导入”按钮。

数据导入入口

选择文件

  • 仅支持 UTF-8 编码的 Excel 文件(xls、xlsx)
  • 第一行为表头,不能有多工作表
  • 空白单元格不能有数据或空格
  • 至少有一条数据记录

选择数据源界面

设置表映射

将 Excel 文件与 Zion 数据表关联。

表映射界面

字段映射

将 Excel 表头与数据表字段一一对应。不导入的字段选择“空值”。

字段映射界面

关系映射

无关联表可忽略。

关系映射界面

上传图片、视频、文件

如需上传媒体文件,建议分别导入并建立关联。

  • 图片:image 文件夹,压缩为 image.zip
  • 视频:video 文件夹,压缩为 video.zip
  • 其他文件:file 文件夹,压缩为 file.zip

仅支持单一类型批量导入,图片与视频请分表导入并建立关联。

媒体文件导入界面

预览与完成导入

  • 预览上传数据样式,若乱码请检查编码格式为 UTF-8
  • 导入按钮灰色为上传中,稍等即可

数据预览界面

切换数据表后,最新数据将展示。

常见导入失败排查

  • 打开浏览器控制台查看失败原因
    • macOS:⌥ ⌘ j/c/i
    • Windows:F12

控制台查看报错

  • 常见报错类型:
    • MISMATCHED_DATA_TYPE:数据类型不匹配
    • NO_MATCHING_MEDIA:未找到对应媒体文件,需严格匹配文件夹/文件名
    • INTERNAL_ERROR:压缩包编码不为 UTF-8,建议用 Bandizip 压缩
    • unique_constraint_violation:违反唯一约束
Last updated on