介绍
简易版的投票系统数据库设计.
发现设计有误请在评论区指出,谢谢!
一、截图
项目表
选项表
投票表
二、代码
票表
CREATE TABLE `as_ticket` (`id` varchar(64) NOT NULL COMMENT '主键',`title` varchar(100) DEFAULT NULL COMMENT '投票标题',`description` text COMMENT '描述',`rate` int(11) DEFAULT '1' COMMENT '每人每天可投票的次数:-1表示无限制',`multi` int(11) NOT NULL DEFAULT '0' COMMENT '支持多选:1支持、0不支持',`min` int(11) NOT NULL DEFAULT '1' COMMENT '多选模式下:最少选择个数,默认:1个',`max` int(11) NOT NULL DEFAULT '4' COMMENT '多选模式下:最多选择个数,默认:无限制',`anonymous` int(11) NOT NULL DEFAULT '1' COMMENT '1:匿名、0:不匿名',`img_url` varchar(255) DEFAULT NULL COMMENT '图片地址',`create_by` varchar(255) DEFAULT NULL COMMENT '创建者',`remark` varchar(255) DEFAULT NULL COMMENT '备注',`update_by` varchar(255) DEFAULT NULL COMMENT '修改者',`update_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '更新时间',`start_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '开始日期',`end_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '截止日期',`create_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
票选项表
CREATE TABLE `as_ticket_option` (`id` varchar(64) NOT NULL COMMENT '主键',`vote_id` varchar(64) DEFAULT NULL COMMENT '所属票ID',`name` varchar(100) DEFAULT NULL COMMENT '选项名称',`description` text COMMENT '描述',`img_url` varchar(255) DEFAULT NULL COMMENT '图片地址',`num` int(11) DEFAULT NULL COMMENT '被投数量',`update_by` varchar(255) DEFAULT NULL COMMENT '更新时间',`create_by` varchar(255) DEFAULT NULL COMMENT '创建者',`create_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',`update_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '更新时间',PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
投票表
CREATE TABLE `as_vote` (`id` varchar(64) NOT NULL COMMENT '投票的ID',`username` varchar(64) DEFAULT NULL COMMENT '投票人:用户名、IP地址、未知',`option_id` varchar(64) DEFAULT NULL COMMENT '所投的选项',`vote_id` varchar(64) DEFAULT NULL COMMENT '所投的票',PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;