① 数据量大,列比较多,请问数据库表该如何设计
基本的建立主键,索引什么的,我就不说了,
表设计可以采取拆分表的方式
纵向拆分表:根据字段拆分为多个表,每个表都有关联字段,可以将他们关联起来
(例如:订单表,几个根据字段拆分的表中都有1个订单号字段)
横向拆分表:不知道你具体什么数据,假定其中有时间字段,根据时间来拆分
(例如:1年有12个月,1个月的数据放入一个表中)
② 求考勤表的数据库设计思路,要求方便统计出勤天数。我用的是SQL
如果你这个是最简单的考勤记录,不涉及到三班倒和加班之类的,那么一个最简单的表是这样
员工表(不用说了吧,基本信息)
记录表(日期、员工号、开始时间、结束时间、出勤情况)
如果自动打卡机,获取的就是工号、日期、时间。你通过程序判断每个人当天最小和最大时间,写到记录表里面
如果当天开始时间和结束时间都有,而且你还能根据时间段判断迟到、早退什么的,然后在出勤情况中写上相应信息
后面想怎么统计都用这个表来完成
比如说每个月出勤天数 select sum(*) from 记录表 where 日期在指定月范围 and 出勤情况 = '出勤'
月报表等等都能通过语句加上适当的循环来实现
是不是给你说得有点复杂?那你就别考虑打卡机和迟到早退,更简单了,呵呵
③ 数据库设计的基本步骤
数据库设计的来基本步骤如源下:
1、安装并打开MySQL WorkBench软件以后,在软件的左侧边栏有三个选项,分别是对应“连接数据库”、“设计数据库”、“迁移数据库”的功能。这类选择第二项,设计数据库,点击右边的“+”号,创建models。