9.3 数据库相关操作(景点票务预约智能体开发) 《扣子编程从零开始搭建智能体 卢欣欣 清华大学出版社》【摘要 书评 试读】- 京东图书《扣子编程从零开始搭建智能体》全书案例持续更新-CSDN博客9.3.1扣子数据库概述扣子数据库是专为AI智能体设计的轻量级、结构化数据存储与管理组件。它可以使智能体具备“持久化记忆”的能力使其能够跨越单次对话的局限长期存储、管理和调用业务产生的关键数据从而将简单的问答机器人升级为具备实际业务处理能力的智能化应用。扣子数据库具有以下特征。结构化存储采用类似电子表格的二维表格形式来组织数据由行记录和列字段构成适用于管理订单、用户信息、待办事项等具有明确结构的数据。自然语言交互支持通过自然语言指令NL2SQL直接操作数据库。开发者无需掌握复杂的SQL编程即可让智能体理解“帮我记下这笔开销”等用户意图并自动完成数据的增、删、改、查。灵活的权限模式提供单用户和多用户两种数据隔离模式为构建不同场景的应用提供了基础的安全与协作框架。两者核心的区别在于数据的访问权限和隔离方式具体区别如表9-1所示。表9-1 单用户模式和多用户模式对比对比维度单用户模式多用户模式核心逻辑渠道隔离数据天然按用户分开数据池共享所有数据在一起用户权限只能操作自己的数据可操作任何数据权限由业务逻辑控制数据隔离性强隔离安全性高无天然隔离需要自行设计权限适用场景个人化、私密性应用如记账、日记协作型、公共性应用如留言板、排行榜扣子数据库定位于轻量级、结构化的数据管理而非一个完整的关系数据库管理系统。如果涉及的数据体量较大或者高频数据访问还是建议使用专业的数据库管理系统来进行数据管理和维护。9.3.2创建扣子数据库和数据表在本案例中对于存储景点基础数据信息和用户预约信息需要设计两张数据表。具体操作步骤说明如下。步骤1打开添加数据库页面。进入扣子编程页面单击左侧导航中的“资源库”链接进入资源库页面。然后单击右上角“ 资源”按钮从下拉菜单中选择“数据库”选项。如图9-3所示。图9-3 创建数据库步骤2选择数据库创建方式。在弹出的窗口中选择“扣子数据库”创建方式如图9-4所示。图9-4 选择数据库创建方式步骤3填写数据表基本信息。在“创建数据库”窗口中填写本案例的数据表名称“scenic_spot_info”及其描述信息创建一张用于存储景点信息的数据表。单击按钮可以自动生成一个合适的图标。最后单击“确认”按钮如图9-5所示。图9-5 填写数据表基本信息并创建步骤4增加数据表字段。接下来会自动打开“新建数据表”窗口。权限模式保持默认“单用户模式”不变。然后依次填写字段名称、描述、选择数据类型、是否必填。填写一行后可单击“ 添加存储字段”按钮再新增一行。最后单击“保存”按钮完成数据表结构的创建如图9-6所示。图9-6 添加数据表字段在创建数据表时系统会自动添加id、sys_platform、uuid、bstudio_create_time四个字段用户不能修改和删除。添加数据时也不需要为这四个字段设置值由系统自动完成赋值操作。id数据的唯一标识主键用于唯一标识一条记录。sys_platform用于记录数据产生或使用的渠道比如扣子、微信小程序、飞书等便于区分数据来源和分类统计。uuid用户的唯一标识由系统生成用于记录数据来源于哪个用户。bstudio_create_time用于记录数据插入的时间。步骤5重复步骤1~步骤4创建预约记录表reservation_record用于存储用户的预约信息该表的结构设计如表9-2所示。表9-2 预约记录表的结构字段名称数据类型是否必填说明order_idString是预约编号可通过时间戳或UUID生成user_nameString是访客姓名phone_numberString是联系电话id_card_last4String是身份证号码后4位visit_dateString是预约日期time_slotString是入园时段statusString是已预约默认值、已取消、已完成、已过期9.3.3管理数据表结构步骤1单击“扣子编程”左侧导航中的“资源库”在打开的资源库页面中可以查看已创建的数据表可以对数据表进行复制、编辑或删除操作。如图9-7所示。图9-7 资源库步骤2单击数据表名称进入如图9-8所示的数据表管理页面。在此页面中可以对数据表结构和数据进行管理。图9-8 管理数据表步骤3单击图9-8所示的“编辑表结构”按钮可以对数据表的字段名称、数据类型进行修改也可以新增或删除字段如图9-9所示。图9-9 修改数据表结构如果删除已有字段会导致用户原有数据被清空且不可恢复需要谨慎操作。9.3.4管理数据表数据在开发调试和正式运行阶段为了保障智能体与工作流的数据安全、环境隔离与业务稳定避免调试过程中的错误配置、脏数据和异常操作影响正式业务的开展扣子数据表将数据分为测试数据和线上数据两种。测试数据用于开发者在“预览”或“调试”模式下进行功能验证、内部调试及错误排查。此模式下产生的增删改查操作仅存在于开发环境不会影响真实用户的数据也不会产生实际的业务记录。线上数据用于智能体正式发布后面向真实终端用户正常业务访问、流程执行、数据入库与日常业务归档严格保持数据规范稳定、不可随意改动确保正式业务数据干净可追溯。增加数据时支持单行增加和批量导入两种方式。以增加一条“测试数据”为例操作步骤说明如下。步骤1在图9-8所示的数据表管理页面中单击“测试数据”切换至测试数据模式。步骤2单击“ 增加行”链接打开“增加行”对话框。步骤3在弹出的“增加行”对话框中逐一填写数据信息。步骤4单击“插入”按钮完成数据的添加如图9-10所示。图9-10 添加数据数据添加成功后在当前页面可以查看到已添加的数据。单击数据右侧的按钮可以修改数据单击按钮可以删除该数据如图9-11所示。图9-11 管理数据