摘要:基于spring boot的后端实现,开发一个微信小程序点餐系统,主要是写写思路和遇到的问题以及分享读到的好文章.
项目分析:
1.角色划分,就是开有什么人使用这个系统,买家(手机端),卖家(pc端,手机端)
2.功能分析划分,初步分为买家下面有商品,商品需要商品列表来表现,买家卖家通过订单来交互,卖家需要有一个类目,可以管理商品分类,还需要一个.
3.之后画出相应的关系图,初步总结出可能的关系.
4.画出部署架构.
5.后续不断完善这些初步内容
数据库设计:
1.完成项目初步设计之后,就进行数据库设计.
2.基于项目分析,设计出买家信息表,卖家信息表,类目表(管理商品),商品表,订单主表,订单详细表,等等..完成相应的文档设计.
3.依据文档设计,创建出数据库.
遇到的问题:
sql:表的创建格式:
create table table_name( )ENGINE=InooDB CHARACTER SET utf8;
数据的插入格式:
insert into table_name (列1,列2...) values (值1,值2,...);
decimal数据库小数:
decimal(10,2)是10位整数,2两位小数的意思.
对于key的讲解:https://www.cnblogs.com/jpfss/p/8308656.html
对于数据库InnoDB引擎的数据库理解: https://blog.csdn.net/qq_26222859/article/details/80631121 //b树介绍
https://www.cnblogs.com/fanBlog/p/11394035.html //内存分析
https://blog.csdn.net/qq_33171970/article/details/88395278 //插入原理
https://zhuanlan.zhihu.com/p/35811482 //原理讲解
如果创建表的时候建立了某个索引,那么会有以这个索引创建b+树,在叶子节点上保存的磁盘地址,b+树本身也是写在磁盘中的,b+树有多少层,那么就会有多少次oi读写发送.
InnoDB非常复杂,看完上面4篇博客只能入门,,还有联合索引的坑:https://blog.csdn.net/Abysscarry/article/details/80792876
关键字: explain + (sql语句):查看执行计划来观察索引利用情况
desc + 表名: 观察表信息