便签应用很广泛,受到许多工作人士和学生的喜爱。它可以对事件进行简单分类,还可以分享给别人,便签的出现使我们生活变得更加有条理。
1. 需求分析
1.1 功能性需求
功能性产品需求,主要面向基本需求,具有生命周期长,需求稳定,便于预测,产品改型少的特点。
便签
- 创建便签
- 修改便签
- 删除便签
便签组 - 创建便签组
- 删除便签组
- 修改便签组
检索 - 便签时间搜索(创建时间,修改时间,删除时间,分享时间)
- 便签内容搜索
1.2 创新性需求
创新性产品需求,是面向变化的需求,具有生命周期短,需求不稳定,难以预测,产品改型大的特点。
- 便签背景色
- 便签提醒
- 便签私密
- 便签备份(全部备份 ,便签组备份 , 便签备份 )
- 便签分享
2. 模型设计
2.1 便签模型
便签表
- 编号
- 标题
- 内容
- 是否私密
- 背景颜色
- 是否提醒
- 提醒时间
- 创建时间
- 修改时间
- 所属分组
2.2 便签组模型
- 便签组
- 编号
- 组名称
- 创建时间
- 修改时间
2.3 便签分享模型
- 便签分享
- 编号
- 标签编号
- 分享备注
- 分享时间
3. 数据库设计
3.1代码实现
create database if not exists memo charset=utf8 collate utf8_general_ci;
use memo;
便签组模型
1.便签组
编号 便签组名称 创建时间 修改时间 删除时间
create table if not exists notes_group(
id int primary key auto_increment comment '便签组编号',
group_name varchar(10) unique comment'便签组名称',
create_time datetime comment '创建时间',
modify_time timestamp comment '修改时间',
delete_time datetime comment '删除时间'
);
2.便签
编号 标题 内容 是否私密 背景颜色 是否提醒 是否删除
提醒时间 创建时间 修改时间 删除时间 便签组编号
create table if not exists notes(
id int primary key auto_increment comment '便签编号',
title varchar(20) not null comment '便签标题',
content varchar(200) comment'便签内容',
if_open boolean default 0 comment'是否私密,0: 公开,1: 私密',
backup enum('红','黄','绿','蓝')default '绿' comment'背景颜色',
if_call bit(1) default 0 comment'是否提醒,0: 提醒,1: 不提醒',
if_delete char(1) default 0 comment'是否删除,0: 未删除,1: 删除',
call_time datetime comment'提醒时间',
create_time datetime comment '创建时间',
modify_time timestamp comment '修改时间',
delete_time datetime comment '删除时间',
group_id int default 0 comment'便签组编号',
foreign key(group_id) references notes_group(id)
);
3.便签分享
编号 标签编号 分享备注 分享时间 删除时间
create table if not exists notes_share(
id int primary key auto_increment comment '便签组分享编号',
note_id int not null comment'标签编号',
share_mark varchar(50) comment'分享备注',
share_time datetime comment'分享时间',
delete_time datetime comment '删除时间',
foreign key (note_id) references notes(id)
);
3.2实现后的结构图
便签
便签组
便签分享