学校考勤系统的数据库设计

Che*_*sum 8 mysql database

我正在为一所特定模块处理考勤系统的学校开展一个项目.我正在使用LAMP(PHP 5.2+ MYSQL 5+)堆栈进行开发.现在学校的人数大约是1500人,每年的工作日总数大约是250人.此外,我要保留5年的记录才能删除.

表结构是

studentId varchar(12) 
date date
fn varchar(1) *forenoon*
af varchar(1) *afternoon*
Run Code Online (Sandbox Code Playgroud)

如果我只使用一个表,那意味着5年期间有1,875,000条记录.现在我没有考虑这样一个庞大的数据库,而是考虑为每个类(不是部分)创建一个表.所以考虑到有12个类,我将有12个表,这意味着每个表平均有1,55,000个记录,这是可管理的.

这是正确的方法吗?还是有更好的方法吗?

Mic*_*iel 14

你在做什么叫做过早优化.这是一个常见的错误.

您最好将数据库结构视为接近现实,并且将来如果需要优化或提高速度,您始终可以这样做.

从经验和查看您的示例,单表解决方案看起来很好.