设计一个职位举报表

第一次:

SRE实战 互联网时代守护先锋,助力企业售后服务体系运筹帷幄!一键直达领取阿里云限量特价优惠。
DROP TABLE IF EXISTS `hr_position_complaint`; CREATE TABLE `hr_position_complaint` ( `id` INT(11) NOT NULL AUTO_INCREMENT COMMENT '主键id', `positionid` INT(11) NOT NULL COMMENT '被举报职位id', `memberid` INT(11) NOT NULL COMMENT '用户id', `positionname` VARCHAR(50) NOT NULL COMMENT '职位名称', `reason` VARCHAR(50) NOT NULL COMMENT '举报原因', `detail` VARCHAR(256) NOT NULL COMMENT '举报描述', `evidenceimg` VARCHAR(256) DEFAULT NULL COMMENT '证据截图', `createtime` TIMESTAMP NULL COMMENT '创建时间', `createid` INT(11) DEFAULT NULL COMMENT '创建人', `updatetime` TIMESTAMP NULL COMMENT '修改时间', PRIMARY KEY (`id`) ) ENGINE=INNODB DEFAULT CHARSET=utf8 COMMENT='职位举报表';

 

最终版:

DROP TABLE IF EXISTS `hr_position_report`; CREATE TABLE `hr_position_report` ( `id` INT(11) NOT NULL AUTO_INCREMENT COMMENT '主键id', `positionid` INT(11) NOT NULL COMMENT '被举报职位id', `memberid` INT(11) NOT NULL COMMENT '被举报人id', `reason` VARCHAR(50) NOT NULL COMMENT '举报原因', `description` VARCHAR(512) NOT NULL COMMENT '举报描述', `evidenceimg` VARCHAR(1024) DEFAULT NULL COMMENT '证据截图', `type` INT(4) NOT NULL DEFAULT '0' COMMENT '0=职位举报', `createtime` TIMESTAMP NULL COMMENT '创建时间', `reportid` INT(11) DEFAULT NULL COMMENT '举报人', `updatetime` TIMESTAMP NULL COMMENT '修改时间', `status` TINYINT(1) NOT NULL DEFAULT '0' COMMENT '审核状态 0=待审核 1=审核中 2=已审核', `auditorid` INT(11) DEFAULT NULL COMMENT '审核人', `audittime` DATETIME DEFAULT NULL COMMENT '审核时间', `opinion` VARCHAR(256) DEFAULT NULL COMMENT '审核意见', PRIMARY KEY (`id`) ) ENGINE=INNODB DEFAULT CHARSET=utf8 COMMENT='职位举报表';

 

问题:

1、我遗漏了后台管理部分,没有设计审核字段

2、我应该事先与其他开发人员商量是否会有其他举报,多种举报能否合并成一张表(虽说按我的理解,这种举报可能涉及到工作流问题,应该要分开,数据也明显一些)

3、负责人说我取名总喜欢用偏僻字段,这我也有点无奈

 

经验:

1、无论如何,type字段一定要设计,这利于可扩展性

2、字见其意,createid要改成reportid,memberid不好更换名字,所以注释要标明清楚

3、如description文本域字段,虽然UI图上面限制输入200字,我本来数据库设计为长度256,后来改了,所以应该设计为长度512

4、如果要合并为一张表,positionid这种标识性字段应该放在最后面(创建时间等都在它前面)

 

扫码关注我们
微信号:SRE实战
拒绝背锅 运筹帷幄