软件工程学习日志2025.12.9

📖 今日学习内容概述

根据给定的需求描述,设计了一个支持多仓库管理的仓储管理系统原型,重点完成了数据库结构设计和业务开发框架的搭建。

🧠 核心知识要点

  1. 数据库设计要点

• 物资唯一性约束:通过(物资名称, 规格, 材质)的联合唯一约束,确保相同特征的物资不会重复编码。

• 单据编码生成规则:入库单格式 INyyyymmdd0001,出库单格式 OUTyyyymmdd0001,在应用层或数据库触发器中自动生成。

• 库存表设计:采用(仓库ID, 物资ID)作为联合主键,支持多仓库独立库存管理。

• 分类树形结构:通过parent_id自关联实现用户自定义的多级物资分类。

  1. 业务逻辑关键点

• 库存更新机制:通过入库/出库单的审核操作触发库存数量变更。

• 数据一致性保障:出入库明细与库存表需在事务中同步更新。

• 查询效率优化:频繁查询的库存汇总可考虑物化视图或定时汇总表。

🎯 今日产出成果

  1. 完整的数据字典:涵盖9张核心表,每表包含字段名、类型、约束和说明。
  2. ER逻辑结构:明确了表间关系与键约束。
  3. 功能结构图:划分了5大功能模块及子功能。
  4. 业务流程图示例:描述了入库作业的完整流程。
  5. 页面原型描述:给出了主界面及关键子界面的布局与交互逻辑。

💡 遇到的问题与思考

• 问题1:如何保证“年月日+流水号”在并发时不会重复?

• 思考:可采用数据库序列、Redis自增键或预生成号码段的方式,在应用层控制单号生成。

• 问题2:物资分类由用户自定义,如何避免分类层级过深影响查询效率?

• 思考:可设置最大层级(如4级),并在分类表中增加path字段(如/1/3/7/)以加速递归查询。

• 问题3:库存查询按分类汇总时,是否包含子分类?

• 思考:需求中未明确,但在设计中支持包含子分类的递归汇总,更符合实际业务场景。

📈 后续计划

  1. 将ER图转换为Mermaid代码,生成可视化图表。
  2. 设计关键SQL语句(如库存查询、分类汇总查询)。
  3. 绘制低保真界面原型图。
  4. 考虑扩展功能:库存预警、盘点管理、报表统计等。
posted @ 2025-12-09 18:42  仙人兵马俑  阅读(1)  评论(0)    收藏  举报