2024年1月Java项目开发指南2:项目设计
确定软件架构
1.前端用什么技术,什么框架,什么版本
2.后端用什么技术,什么框架,什么版本
3.用些什么软件,软件版本?
比如:
前端:vue3 + Element-Plus + Axios
后端:Java17 Springboot MyBatis-plus Maven3
数据库:MySQL5.5
后端开发工具:IDEA2023.2.2
前端开发工具:Webstorm2023.2.2
接口管理工具:Apifox
数据库管理工具:Navcat
文档编写格式:Markdown
软件功能设计
明确项目功能
1.这个项目,谁来用?管理员?用户?管理员下面有子管理员吗?用户需要可以登录注册吗?
2.这个项目,有什么功能?管理数据的吗?展示数据的吗?
举个例子,《高校后勤保修系统数据库设计》
要实现的功能:
1.管理员登录,登录后可以进行用户管理,设备管理,保修申请审批与回复……
2.用户注册,登录。用户登录后,可以进行设备报修,报修情况查询,意见反馈……
数据库设计
第一步
根据 要实现的功能 明确有哪些表
举个例子,《高校后勤保修系统数据库设计》
比如说涉及到用户的,是不是应该有一个用户信息表,设计设备管理的,是不是应该有一个设备信息表
第二步
明确每个表有什么字段
比如用户信息表,要有主键id,账号(account)密码(password)用来登录,要有昵称(name),要绑定邮箱(email),要记录注册时间(regtime),要记录这个账号的权限等级(vip),要记录这个账号的状态(status)正常还是被禁用
第三步
明确字段的数据类型,比如有的表有性别gender字段(性别用sex是不礼貌的),我们不一定就是在这个字段填写“男”或者“女”,我们可能会使用1表示男,0表示女,那个这个字段类型,只需要是tinyint类型
比如密码password字段,我们加密后的长度一定是32位,那么就可以设计为char(32)
第四步
编写创表SQL语句,创建数据表。
大功告成。
然后呢去玩一会,喝杯茶,再回头检查一下设计有无缺陷,尤其是涉及多个表的时候,要关注表和表之间的联系。
尽可能的避免设计出现缺陷,后面开发到一半,发些设计漏了一个字段,然后又来改数据表结构,改完之后又要去改代码,甚至会导致一些代码不得不重写,就很麻烦。(亲身体会,陷入一种:不改吧缺字段,不好实现功能,改吧……很多写好的代码都会受到影响,进退两难)
最终文件
1.设计过程记录文档(Markdown格式)
2.Sql文件(可以在数据库中运行你的建表语句后,再导出为sql文件)
关于数据类型选择
检查字段命名合不合适 需不需要修改 检查是否有冗余字段,检查是否缺少字段
没问题了再去设计字段对应数据类型
要考虑 节省空间 方便 效率高 等等 这个就是看你对MYSQL的理解了
管他三七二十一 直接varchar(255) 这是不严谨的。
参考文章:Mysql小细节:varchar与char在性能上的特点-腾讯云开发者社区-腾讯云 (tencent.com)
什么时候用char 什么时候用varchar,varchar或者char应该设置多少合适?都要考虑
多关注,多百度数据类型性能问题和一般什么时候用哪个,多看看相关的技术博客
推荐阅读
【推荐阅读】为什么不推荐使用外键 https://mp.weixin.qq.com/s/4Q7FzxgkqYCb5fGOARhvDg
【推荐阅读】MySQL decimal类型 - MySQL教程 (yiibai.com)
注意事项
创建数据库的时候,一定要记得设置编码格式 utf8mb4
Navcat导出数据库:
右击数据库,选择转储SQL文件
结构数据 还是 仅结构,这个看需求。
作者:萌狼蓝天
QQ:3447902411(仅限技术交流,添加请说明方向)
转载请注明原文链接:https://www.cnblogs.com/mllt/p/17956516/project202401-2