介绍
简易版的投票系统数据库设计. 发现设计有误请在评论区指出,谢谢!
一、截图
项目表
选项表
投票表
二、代码
票表
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;
|