我编码了“双碳”背景下的ESG评级体系设计平台的数据库连接部分。平台缘起于我今年寒假参与的花旗杯比赛,但由于时间匆忙,进度较缓慢等原因,网站平台仅仅做了页面框架,并没有实现前端与后端的连接,也没有进入数据库,借此数据库课程设计的机会,我在整个近半个月的时间,系统性地学习了前端知识,来改善页面布局,包括html、css、javascript、vue框架、axios客户端,node.js服务器。通过这次项目,我理解到了从用户在页面点击申请,到数据库的数据传回前端页面这一过程详细经历了什么,成功从一名纯前端小白成长为前后端“大白”。
在写后端路由和请求数据库模块时,我多次因为一些小瑕疵苦思冥想,比如为了能够实现查询的灵活性,刚开始我写了很多if-else语句,看着实在繁琐,在一天夜里自习琢磨,写成了短短2行三目运算符,成功代替了原先的80+行代码。再比如在写用户自助计算得分时,有足足29个指标得分,挨个写非常麻烦,为了构造高效正确的sql语句,我通过循环来控制字符串,完成了较为精准的sql语句构造。
通过实践,我也明白了如何正确使用触发器、视图、索引这些数据库设计方法,来提高查询搜索效率。我也明白了数据库这门学科的的博大精深,在自己实现过程中,遇到的所有问题,网上都能找到较为满意的解决方案;因为时间有限,我没法把所有的点做到最优,不止一次的化简我的设计过程。我明白,我目前完成的部分只是很简略的版本,例如,查询还没有支持模糊匹配,数据库维护的整体安全性还较差,在未来,我会继续努力,争取成为一名合格的数据库设计者和管理者。