来,你们想要的打卡功能
前言 你的世界多数情况下充满了混沌和单调 , 你的身体虽然不胖但并不会让你感觉到那么有力量;你的过往乏善可陈 , 充斥着很多伤心与
自我否定 , 你过往的未来也没有惊喜在场 。 你想要一场新生 , 想要一次脱胎换骨 , 没有行动 , 一切都是空想 , 依旧忍受痛苦与弱小 。 一点
一滴的积累 , 才能感受飞轮转起来时的酣畅淋漓 , 才会有气势如虹的力量, 一点一滴的积累就是需要一个打卡的功能 。
打卡在生活中还是应用挺多的 , 比如上班打卡 , 健身打卡 , 学习打卡...等等
实际上打卡功能开发是挺容易的 , 让我们来一起实现它吧 , 让我们自己用着自己开发的功能吧
为什么写一篇打卡的功能性文章呐?
公司一个系统需要实现的一个小小功能 , 也是为了方便日后进行回顾以及优化 , 特此记录下来 , 话不多说我们来实现它吧 。
数据库设计1 , 为什么要设计数据库
- 节省数据的存储空间
- 保证数据的完整性
- 方便根据数据库进行系统的开发
- 打卡功能
- 日志表(打卡用户 , 打卡项目编号 , 打卡时间) 这个表中的打卡项目这个字段是非必须的 , 添加这个字段只是为了方便日后的扩展 , 其他两个字段都是必须的
- 项目表(项目编号 , 项目名称 , 创建时间) 这个表是非必须的 , 只是为了方便日后的扩展 , 可加可不加
- 统计表(项目编号 , 总打卡数 , 连续打卡数 , 打卡用户 , 打卡时间) 这个表中的字段除了项目编号这个字段不是必须的 , 其他都是必须要的基本字段 ,
- 我这样设计三张表只是为了方便以后的扩展使用 , 除了项目表 , 其他两张表都是最基础的必须要的
- 首先创建一个数据库 clockin CHARACTER SET:指定数据库采用的字符集,utf8不能写成utf-8 COLLATE:指定数据库字符集的排序规则,utf8的默认排序规则为utf8_general_ci(通过show character set查看) drop database if EXISTS clockin ; create database clockin CHARACTER SET utf8 COLLATE utf8_general_ci;
- sql 语句如下
DROP TABLE IF EXISTS `clockin_count`;CREATE TABLE `clockin_count` (`id` int(11) NOT NULL AUTO_INCREMENT,`pid` int(11) DEFAULT NULL COMMENT '打卡项目',`sum` int(11) DEFAULT NULL COMMENT '打卡总次数',`cloop` int(11) DEFAULT NULL COMMENT '打卡连续次数',`name` varchar(25) COLLATE utf8_bin DEFAULT NULL COMMENT '打卡人',`dtime` datetime DEFAULT NULL ON UPDATE CURRENT_TIMESTAMP,PRIMARY KEY (`id`)) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_bin;DROP TABLE IF EXISTS `clockin_log`;CREATE TABLE `clockin_log` (`id` int(11) NOT NULL AUTO_INCREMENT,`name` varchar(25) COLLATE utf8_bin DEFAULT NULL COMMENT '打卡人',`pid` int(11) DEFAULT NULL COMMENT '打卡项目',`dtime` datetime DEFAULT NULL COMMENT '打卡时间',PRIMARY KEY (`id`)) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_bin;DROP TABLE IF EXISTS `clockin_project`;CREATE TABLE `clockin_project` (`id` int(11) NOT NULL AUTO_INCREMENT,`pid` int(11) NOT NULL,`project` varchar(25) COLLATE utf8_bin NOT NULL,`dtime` datetime DEFAULT NULL,PRIMARY KEY (`id`)) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_bin;
3 , 理解清楚数据表之间的映射关系clockin_log : 日志表 , 存储用户的每天打卡日志信息 , 表的数据更新率比较高 , 特此提出来 , 作为单独的表使用
clockin_project:项目表 , 在什么项目上的打卡 , 不是非必要的 , 只是为了方便日后的扩展使用 , 而添加的
推荐阅读
- 德国专家:中国这项顶尖科技尚未突破,还请你们不要盲目自嗨
- 微信又迎来更新!你们想要的功能终于来了
- 王兴背后最重要的女人:北大毕业,如今是美团“第三号”人物
- 华为手机长按屏幕2秒,打开隐藏扫描仪功能,你们用过吗?
- 官宣 | 特斯拉“72桩最大超充站”上线,将成网红打卡地?
- 微信7.0.22正式迎来更新!你们想要的功能终于来了
- 2020年底购机盘点:价格配置各有不同 你想要的都有
- 来,拿去!你们想要的手机广告屏蔽教程
- 周鸿祎:听员工吐槽也是一种用户调研 做产品最重要的是同理心
- 微信使用要小心!不注意这个小习惯,就会给自己带来不必要的麻烦