2024年1月Java项目开发指南2:项目设计

发布时间 2024-01-10 15:07:16作者: 萌狼蓝天

确定软件架构

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

image

Navcat导出数据库:
右击数据库,选择转储SQL文件
结构数据 还是 仅结构,这个看需求。
image