今天抽了会时间设计了下表结构,并选定的使用的数据库,经过调查,我决定还是把数据存在数据库中,因为写SQL是我擅长的。
最终我选择使用python自带的sqlite来实现这个工具,具体建表语句如下:

基于AI生成,自己改了一些地方

-- 启用外键约束(SQLite 默认关闭)
PRAGMA foreign_keys = ON;-- 任务表(tasks)
CREATE TABLE IF NOT EXISTS tasks (task_id INTEGER PRIMARY KEY AUTOINCREMENT,  -- 自增主键name TEXT NOT NULL,                         -- 任务名称status TEXT NOT NULL CHECK (status IN ('进行中', '已完成', '已删除')), -- 状态约束estimated_pomos INTEGER DEFAULT 0,          -- 预计番茄数created_time TEXT DEFAULT (strftime('%Y-%m-%d %H:%M:%S', 'now', 'localtime')), -- 创建时间completed_at TEXT                           -- 完成时间(允许为空)
);-- 番茄表(pomodoros)
CREATE TABLE IF NOT EXISTS pomodoros (pomodoro_id INTEGER PRIMARY KEY AUTOINCREMENT, -- 自增主键task_id INTEGER NOT NULL,                     -- 关联任务start_time TEXT NOT NULL,                     -- 番茄开始时间(ISO8601格式)end_time TEXT,                                -- 番茄结束时间(允许为空)status TEXT NOT NULL  -- 状态约束FOREIGN KEY (task_id) REFERENCES tasks(task_id) ON DELETE CASCADE -- 级联删除
);-- 打断表(interruptions)
CREATE TABLE IF NOT EXISTS interruptions (interruption_id INTEGER PRIMARY KEY AUTOINCREMENT, pomodoro_id INTEGER NOT NULL UNIQUE,          -- 一对一关联番茄reason TEXT , -- 原因分类interruption_time TEXT NOT NULL,                      -- 打断发生时间FOREIGN KEY (pomodoro_id) REFERENCES pomodoros(pomodoro_id) ON DELETE CASCADE
);-- 干扰表(distractions)
CREATE TABLE IF NOT EXISTS distractions (distraction_id INTEGER PRIMARY KEY AUTOINCREMENT,pomodoro_id INTEGER NOT NULL,                 -- 关联番茄description TEXT NOT NULL,                    -- 干扰描述distraction_time TEXT DEFAULT (strftime('%Y-%m-%d %H:%M:%S', 'now', 'localtime')), -- 发生时间FOREIGN KEY (pomodoro_id) REFERENCES pomodoros(pomodoro_id) ON DELETE CASCADE
);

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:http://www.pswp.cn/web/91556.shtml
繁体地址,请注明出处:http://hk.pswp.cn/web/91556.shtml
英文地址,请注明出处:http://en.pswp.cn/web/91556.shtml

如若内容造成侵权/违法违规/事实不符,请联系英文站点网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

11、read_object_model_3d 读取点云

个人理解 read_object_model_3d 这个Halcon算子中的xyz_map_width这个参数设置的目的就是,把读取的点云数据中每一个点的XYZ坐标,生成一个对应的二维图像,其中图像中的坐标值就对应每一个点的索引坐标,而图像中的灰度值就对应xyz坐标??(因为得到的是三通道图像)!!并且根…

【人工智能-17】机器学习:KNN算法、模型选择和调优、朴素贝叶斯分类

上一期【人工智能-16】机器学习:概念、工具介绍、数据集、特征工程 文章目录一 、KNN算法1. 应用理由2. 原理核心:距离度量 多数投票/平均3. 优点和缺点二、模型选择和调优1.使用理由2.原理核心:数据划分与性能平均3.超参数搜索4. 应用场景总…

关于继承的一些知识(C++)

当我们想要设计几个类分别记录老师,学生的个人信息时会发现,像姓名、地址、身份证号、电话等等记录基础信息的成员变量是都具有的,重复定义会显得冗余,但同时它们两者又具有不同的记录信息的成员变量,像学生需要记录学…

永磁同步电机无速度算法--脉振方波注入法

一、原理介绍为了实现表贴式永磁电机的低速运行,研究一种基于高频方波测试信号注入的无位置零低速传感器控制策略。选取注入到观测直轴的脉振高频方波信号, 该信号注入方案可以有效避免旋转信号注入法在转子交轴分量引起转矩脉动, 提高系统的…

VSCode Python 与 C++ 联合调试配置指南

VSCode Python 与 C 联合调试配置指南 为了实现 Python 与 C 的联合调试,需要正确配置 launch.json 文件,具体配置如下: {// IntelliSense 支持查看属性描述// 更多信息请参考: https://go.microsoft.com/fwlink/?linkid830387"version…

stm32和freeRtos的can总线

STM32内置bxCAN外设(CAN控制器、拓展CAN),支持CAN2.0A和2.0B(全部的CAN),可以自动发送CAN报文和按照过滤器自动接收指定CAN报文,程序只需处理报文数据而无需关注总线的电平细节波特率最高可达1兆位/秒,高速…

充电桩与照明“联动”创新:智慧灯杆破解新能源基建难题

伴随新能源汽车保有量呈现出极为迅猛的爆发式增长态势,充电基础设施的建设已然逐步成为城市发展进程中不可或缺的刚性需求。国家政策鼓励推进充电设施同城市基础设施展开一体化的建设工作,同时大力鼓励“诸如路灯、监控杆这类市政设施去整合充电相关功能…

datagrip连接mysql数据库过程以及遇到的问题

如果遇到这种错误说明时区错误,解决方法 jdbc:mysql://localhost:3306?serverTimezoneGMTdatagrip连接mysql数据库下一步

Vue 3.5 defineModel:让组件开发效率提升 10 倍

简介 defineModel 是 Vue 3.4 引入并在 Vue 3.5 中稳定的一个组合式 API,它简化了组件的双向数据绑定实现。在此之前,实现双向绑定需要手动定义 props 和 emits,而 defineModel 将这个过程自动化,让代码更加简洁和直观。 主要特…

性能测试-性能测试中的经典面试题一

一、核心概念与流程类性能测试的核心类型与区别负载测试:逐步加压,探测系统阈值(如最大TPS/响应时间)。压力测试:超越阈值施压,验证系统崩溃点及恢复能力。稳定性测试:80%~90%峰值压力持续运行&…

华为昇腾芯片:多模态模型国产化的硬核突破

前言 在当今数字化时代,人工智能技术的发展日新月异,多模态模型作为 AI 领域的重要发展方向,正逐渐改变着人们与计算机交互的方式以及众多行业的运作模式。多模态模型能够处理多种类型的数据,比如图像、文本、语音等,从…

阿里智能AI框架Playground,即学即用

Spring AI Alibaba Playground 是 Spring AI Alibaba 社区以 Spring AI Alibaba 和 Spring AI 为框架搭建的 AI 应用。包含完善的前端 UI 后端实现,具备对话,图片生成,工具调用,RAG,MCP 等众多 AI 相关功能。在 playg…

智能Agent场景实战指南 Day 28:Agent成本控制与商业模式

【智能Agent场景实战指南 Day 28】Agent成本控制与商业模式 文章标签 AI Agent, 成本优化, 商业模式, LLM应用, 企业级AI 文章简述 本文是"智能Agent场景实战指南"系列的第28天,聚焦智能Agent的成本控制与商业模式设计这一关键课题。文章首先分析了Ag…

sqli-labs:Less-8关卡详细解析

1. 思路🚀 本关的SQL语句为: $sql"SELECT * FROM users WHERE id$id LIMIT 0,1";注入类型:字符串型(单引号包裹)提示:参数id需以闭合 同样无法像常规一样回显,php输出语句的代码如下&…

LeetCode 1782.统计点对的数目

给你一个无向图,无向图由整数 n ,表示图中节点的数目,和 edges 组成,其中 edges[i] [ui, vi] 表示 ui 和 vi 之间有一条无向边。同时给你一个代表查询的整数数组 queries 。 第 j 个查询的答案是满足如下条件的点对 (a, b) 的数…

U-Mail邮件系统-全面适配信创环境的国产邮件系统

在当今数字化时代,邮件系统作为企业、政府机构以及各类组织日常办公不可或缺的沟通工具,其安全性、稳定性以及自主可控性的重要性日益凸显。随着信创产业的蓬勃发展,国产邮件系统应运而生,成为保障信息安全、推动数字化转型的关键…

【LeetCode 热题 100】394. 字符串解码

Problem: 394. 字符串解码 给定一个经过编码的字符串,返回它解码后的字符串。 编码规则为: k[encoded_string],表示其中方括号内部的 encoded_string 正好重复 k 次。注意 k 保证为正整数。 你可以认为输入字符串总是有效的;输入字符串中没有…

Activity之间互相发送数据

activity_send_data_req.xml<?xml version"1.0" encoding"utf-8"?> <LinearLayout xmlns:android"http://schemas.android.com/apk/res/android"android:layout_width"match_parent"android:layout_height"match_pare…

设计模式:访问者模式 Visitor

目录前言问题解决方案结构代码前言 访问者是一种行为设计模式&#xff0c;它能将算法与其所作用的对象隔离开来。 问题 假如你的团队开发了一款能够使用巨型图像中地理信息的应用程序。 图像中的每个节点既能代表复杂实体&#xff08;例如一座城市&#xff09;&#xff0c; 也…

OpenCV 学习探秘之四:从角点检测,SIFT/SURF/ORB特征提取,目标检测与识别,Haar级联分类人脸检测,再到机器学习等接口的全面实战应用与解析

书接上回&#xff0c;前面介绍了一些基本应用&#xff0c;本篇则着重介绍一些比较复杂的应用。 附&#xff1a;本文所用例子中使用的Opencv库OpenCV4.5.4版本编译好的库 五、特征提取与描述 5.1 角点检测&#xff1a;Harris 角点和 Shi-Tomasi 角点 5.1.1 Harris 角点检测&a…