真实操作案例软件开发与编程
数据库 Schema 设计:Tokeny 实操案例
为图书借阅系统设计 SQLite Schema 和迁移文件,包含书籍、读者、借阅记录,外键、ISBN 唯一和活动借阅唯一约束;用临时 SQLite 实际验证约束。
作者:Tokeny 团队 · Windows · Tokeny 1.7.8 · gpt-6-sol
准备这次任务的输入
在 Tokeny 中新建工作空间,将下载的样例解压到工作空间,选择支持工具调用的模型。本例使用合成演示数据或文中列出的公开资料。
- requirements.md
把任务交给 Tokeny
为图书借阅系统设计 SQLite Schema 和迁移文件,包含书籍、读者、借阅记录,外键、ISBN 唯一和活动借阅唯一约束;用临时 SQLite 实际验证约束。 交付文件:schema.sql、verify.py、schema.md。 验收要点: - 重复 ISBN 和重复未归还借阅被拒绝 - 非法外键被拒绝 - MCP 连接不在本例验证范围 这是使用合成演示输入或指定公开资料的真实操作案例。请先读取工作空间输入,再实际生成文件并自检。所有写入、脚本与临时服务限于当前工作空间;临时服务只监听 127.0.0.1,执行后关闭;不触达外部收件人、不发布、不付款、不更改系统设置,不调用子智能体。需要公开资料时可读取给定 URL。只启用完成任务必需的工具。另写 report.md(中文)和 report.en.md(英文),简洁、完整,包含输入、处理步骤、真实结果、检查方式和局限;失败或未验证部分如实记录,不能宣称成功。最终回复用中文列出产物、关键结果与待核实项。
复核后追加的任务(1 次)
为图书借阅系统设计 SQLite Schema 和迁移文件,包含书籍、读者、借阅记录,外键、ISBN 唯一和活动借阅唯一约束;用临时 SQLite 实际验证约束。 交付文件:schema.sql、verify.py、schema.md。 验收要点: - 重复 ISBN 和重复未归还借阅被拒绝 - 非法外键被拒绝 - MCP 连接不在本例验证范围 这是使用合成演示输入或指定公开资料的真实操作案例。请先读取工作空间输入,再实际生成文件并自检。所有写入、脚本与临时服务限于当前工作空间;临时服务只监听 127.0.0.1,执行后关闭;不触达外部收件人、不发布、不付款、不更改系统设置,不调用子智能体。需要公开资料时可读取给定 URL。只启用完成任务必需的工具。另写 report.md(中文)和 report.en.md(英文),简洁、完整,包含输入、处理步骤、真实结果、检查方式和局限;失败或未验证部分如实记录,不能宣称成功。最终回复用中文列出产物、关键结果与待核实项。
本次使用独立演示工作空间。复现时,请根据自己的文件与权限设置检查操作,确认后继续。
实际执行过程
任务从 Tokeny 输入框提交,由在线模型读取资料并调用工具实际执行。本例核对本地演示任务与实际生成的文件,结果和检查方法见下文。
产物、结果与复核
输入
读取了工作空间中的 requirements.md 和 ENVIRONMENT.md。需求是设计本地 SQLite 图书借阅 Schema:一本书一条库存记录、读者邮箱唯一、借阅时间必填、同一本书同一时间不能有多条未归还借阅,且被借阅记录引用的书不能删除;不得连接生产数据库。
处理步骤
- 编写
schema.sql,建立books、readers、loans三张表。 - 使用唯一约束、外键、
ON DELETE RESTRICT、非空约束、检查约束和部分唯一索引表达业务规则。 - 编写
verify.py,在临时目录创建 SQLite 数据库并开启PRAGMA foreign_keys。 - 插入合法样例,逐项尝试违反约束的操作,并检查是否抛出
sqlite3.IntegrityError。
真实结果
验证脚本实际通过:重复 ISBN、非法书籍外键、非法读者外键、重复未归还借阅和删除仍被引用书籍均被拒绝;归还旧借阅后可以新增同一本书的后续借阅。数据库文件使用临时目录,连接关闭后由临时目录清理。
检查方式
在当前工作空间运行 python verify.py。脚本输出每项 PASS,并在任一约束未拒绝时以断言失败退出。MCP 连接不在本例验证范围。
局限
本次仅验证 SQLite 约束和示例 SQL,不验证应用层并发事务、权限、逾期计算、续借策略、库存多册模型或生产备份恢复。时间字段以 ISO-8601 文本保存,应用应统一时区和格式。
下载产物,自己核对
压缩包保存本次执行生成的文件。替换成自己的资料后,可以按下面的检查点验收。
- 重复 ISBN 和重复未归还借阅被拒绝
- 非法外键被拒绝
- MCP 连接不在本例验证范围
schema.sql · 1 KBverify.py · 3 KBschema.md · 1 KBreport.md · 1 KBreport.en.md · 2 KB
下载本次实际产物