仓库信息管理系统设计与实现

news2024/11/19 2:36:00

一、数据库设计

1.数据库模型设计概览

2.数据库表设计 

depository

 描述: 该表存储仓库的信息,比如仓库名称,仓库地址和仓库介绍

表结构:

序号

字段名

数据类型

主键

非空

默认值

描述

1

id

INT(10)

2

dname

VARCHAR(255)

仓库名称

3

address

VARCHAR(255)

仓库地址

4

introduce

VARCHAR(255)

仓库介绍

②仓库调度记录(depository_record)

 描述: 该表记录仓库调度的记录,同时该表也是数据也可以看做一条条申请信息。

表结构:

序号

字段名

数据类型

主键

非空

默认值

描述

1

id

INT(10)

记录id

2

application_id

INT(10)

申请编号(暂时无用)

3

mname

VARCHAR(255)

产品名称

4

depository_id

INT(10)

调度的仓库id

5

type

INT(10)

0

调度记录类型(0出库,1入库)

6

quantity

DOUBLE(22)

数量

7

price

DOUBLE(22)

价格

8

state

VARCHAR(255)

状态(待审核/审核未通过,未入库/出库/检验不通过,待验收/已入库/已出库)

9

applicant_id

INT(10)

申请人id

10

apply_remark

VARCHAR(255)

申请备注

11

apply_time

DATETIME

申请时间

12

reviewer_id

INT(10)

审核人id

13

review_remark

VARCHAR(255)

审核结果备注

14

review_time

DATETIME

审核时间

15

review_pass

INT(10)

审核是否通过,0表示未通过,1表示通过

16

checker_id

INT(10)

验货人id

17

check_remark

VARCHAR(255)

验收备注

18

check_time

DATETIME

出入库时间(验货时间)

19

check_pass

INT(10)

验收是否通过

3、产品信息记录(库存)(material)

描述: 产品信息记录(库存信息)

表结构:

序号

字段名

数据类型

主键

非空

默认值

描述

1

id

INT(10)

存储id

2

depository_id

INT(10)

仓库名称

3

mname

VARCHAR(255)

材料名称

4

quantity

DOUBLE(22)

数量

5

price

DOUBLE(22)

总金额

6

type_id

INT(10)

材料种类id

4、material_type

描述: 材料种类,我对材料进行了分类,这样统计起来也方便很多,另外建一个表是为了防止以后可能会对材料类型做的补充,同时节省存储空间。

表结构:

序号

字段名

数据类型

主键

非空

默认值

描述

1

id

INT(10)

类型id

2

tname

VARCHAR(255)

类型名称

3

introduce

VARCHAR(255)

类型介绍

 5、notice

描述: 公告表,用于存储公告信息

表结构

序号

字段名

数据类型

主键

非空

默认值

描述

1

id

INT(10)

公告主键

2

title

VARCHAR(255)

公告标题

3

content

VARCHAR(255)

公告内容

4

time

DATETIME

发布时间

 6、standing_book

 

描述: 台账表。

表结构:

序号

字段名

数据类型

主键

非空

默认值

描述

1

id

INT(10)

台账记录id

2

type

INT(10)

0表示调入,1表示调出(外部);2表示调入(退料),3表示调出(领料)(内部调用)

3

quantity

INT(10)

0

数量

4

price

INT(10)

0

总价

5

material_name

VARCHAR(255)

材料名称

7、transfer_record

 

描述: 转移表,这个是用来关联转移操作的。

表结构:

序号

字段名

数据类型

主键

非空

默认值

描述

1

id

INT(10)

转移记录id

2

from_id

INT(10)

转出仓库id

3

to_id

INT(10)

转入仓库id

8、 user

描述: 用户表,这里的密码是经过加密存储的。

表结构:

序号

字段名

数据类型

主键

非空

默认值

描述

1

id

INT(10)

用户id

2

uname

VARCHAR(255)

用户名称

3

authority

VARCHAR(255)

表示权限等级(游客/员工/审核员/仓管员/系统管理员)

4

pwd

VARCHAR(255)

用户登录密码(数据库存储的是加密后的)

5

sex

VARCHAR(255)

性别

6

depository_id

INT(10)

负责仓库,序号表示仓库id,0表示全部仓库

7

entry_date

DATE

入职日期

8

email

VARCHAR(255)

邮箱

9

phone

VARCHAR(255)

手机号

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/541642.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

LlamaIndex 联合创始人下场揭秘:如何使用私有数据提升 LLM 的能力?

ChatGPT 的爆火证明了大型语言模型(LLM)在生成知识和推理方面的能力。不过,ChatGPT 是使用公共数据集进行预训练的模型,因此可能无法提供与用户业务相关的特定答案或结果。 那么,如何使用私有数据最大化发挥 LLM 的能力…

SpringMVC第三阶段:源码解析SpringMVC如何调用Controller目标方法

源码解析SpringMVC如何调用Controller目标方法: 浏览器如何访问到Controller目标方法. 1、所有请求进入时候,会先进入org.springframework.web.servlet.DispatcherServlet前端控制器的doDispatch() 方法 2 、在 1016 行 getHandler() 方法中,会通过请求的资源路径…

【51单片机】万年历功能的数字时钟+倒计时 Proteus仿真 普中板子可用

// 硬件:DS1302、按键、LCD1602、无源蜂鸣器 // 1、具有万年历功能的数字时钟 (本世纪100年通用),能够正确的显示年、月、日、时、分、秒 // 2、按键设置时间(校时) // 3、24小时内至少可设置3个闹钟,并具有不同的闹钟铃声。每个闹钟可以选择…

[链表OJ题 7] 环形链表

目录 题目来源: 代码实现: 思路分析: 实现过程: 题目来源: 力扣 141. 环形链表 题目描述 代码实现: bool hasCycle(struct ListNode* head) {struct ListNode* fast head, * slow head;while (fas…

为什么更新了 DNS 记录不生效?

我们在上网时如果想要访问到另一台机器上的内容,通常只需要直接输入一串地址,例如:www.upyun.com,就能够准确访问到自己想要访问的网站。但是实际上这只是方便我们记忆的字符形式网络标识,真正让我们的机器和另一台机器…

C语言深度解析--函数

函数 函数的定义: 函数,又称为子程序,是一个大型程序中的某部分代码,由一个或多个语句块组成。它负责完成某项特定任务,而且相较于其他代码,具备相对独立性。 一般会有输入参数并有返回值,提供…

关于江苏专转本的十大真相,值得一看

【真相1】专转本考试题主要是大学相关科目的骨干老师出的。他们较长时间从事相应课程教学,专业领域较宽,学术造诣较高。具有副高及以上职称,年龄—般在55周岁以下。VX:hhkb5200【真相2】专转本考试题"紧扣《考试大纲》,大家要…

C++11 新特性

文章目录 🍪统一列表初始化🍪左值引用,右值引用🥛概念和作用🥛使用场景 🍪完美转发🍪可变参数模板 C11是C的一次大更新,出现了很多实用的语法和特性,所以我们很有必要学习…

[网络安全]DVWA之XSS(Stored)攻击姿势及解题详析合集

[网络安全]DVWA之XSS(Stored)攻击姿势及解题详析合集 XSS(Stored)-low level源代码姿势基于Message板块基于Name板块 XSS(Stored)-medium level源代码姿势双写绕过大小写绕过Xss标签绕过 XSS(Stored)-high level源代码姿势:Xss标签绕过 XSS(S…

汇编学习教程:灵活寻址(四)

引言 在上篇博文中,我们学习了 [bxsi] 的灵活寻址形式,由此讲解了汇编中的多重循环实现。那么本篇博文中,我们将继续学习灵活寻址其他实现形式。 本次学习从一道编程案例开始学起。 编程示例如下: assume cs:code,ds:datadata…

【Jmeter第二章】将Jmeter界面切换为中文显示

1、Jmeter临时切换为中文显示 注意:上面的配置只能保证本次运行是中文,如果要永久中文,需要修改Jmeter的配置文件 2、通过修改Jmeter配置文件设置为中文显示 1、在 Jmeter/bin目录下,找到:jmeter.properties 文件 2…

K_A39_012 基于STM32驱动W25Q32 模块读写数据 串口+OLED0.96显示

K_A39_012 基于STM32驱动W25Q32 模块读写数据 串口OLED0.96显示 所有资源导航一、资源说明二、基本参数参数引脚说明 三、驱动说明时序对应程序: 四、部分代码说明1、接线引脚定义1.2、STM32F103C8T6W25Q32 模块 五、基础知识学习与相关资料下载六、视频效果展示与程序资料获取…

LeetCode 429. N 叉树的层序遍历

429. N 叉树的层序遍历 描述 给定一个 N 叉树,返回其节点值的层序遍历。(即从左到右,逐层遍历)。 树的序列化输入是用层序遍历,每组子节点都由 null 值分隔(参见示例)。 示例 示例1 输入&…

货拉拉Java开发实习

目录 1.Java的重载和重写有什么区别2.什么情况下需要用到重载3.有很多个字符串和变量,需要把它们加起来,这时候用String会有什么问题4.有没有其它的替代方案5.StringBuffer和StringBuilder有什么区别6.一个自定义对象,分别创建了两个实例&…

5分钟梳理银行测试,文末附带实战项目

很多银行招聘都要求有相关从业经验,这对于想跨入这个岗位的0经验从业同学可真犯了难 “你都不让我上岗,我哪来的工作经验呢?” 为了解决这个问题,小柠檬整理了本篇文章,从3个方面介绍银行项目是如何进行测试的 银行…

springboot---IoC 和 AOP

目录 引语IoC传统开发模式的弊端控制反转和依赖注入 AOP面向对象的局限性面向切面编程 总结 引语 Inversion of Control,缩写为IoC:控制反转 Aspect-oriented programming,缩写为AOP:面向切面编程 IoC和AOP是spring框架最核心的…

VMware Workstation 与 Device/Credential Guard 不兼容.在禁用 Device/Credenti

这个时候我们需要去关掉几个功能 1、关闭Hyper-V 打开控制面板首页,找到“程序”,然后找到“启用或关闭Windows功能”,找到“Hyper-V”,有勾中的全部都取消掉,如果这一步操作失败,不要紧,继续…

使用马哈鱼SQLFlow分析聚合函数中的数据流列

聚合函数通常将列作为参数,在本文中,我们将讨论在用作函数参数的列和聚合函数之间创建什么样的数据流。 1. COUNT() COUNT()可以采用COUNT(),也可以采用任何列名,甚至可以采用空参数。如果参数为空或为列,则参数和函…

DatenLord前沿技术分享 No.25

达坦科技专注于打造新一代开源跨云存储平台DatenLord,通过软硬件深度融合的方式打通云云壁垒,致力于解决多云架构、多数据中心场景下异构存储、数据统一管理需求等问题,以满足不同行业客户对海量数据跨云、跨数据中心高性能访问的需求。在本周…

【已解决】使用Arduino调试ARM时编译错误error: ordered comparison of pointer with integer zero的解决方法

在使用Arduino的资源库对STM32编程时,出现: error: ordered comparison of pointer with integer zero (byte* {aka unsigned char*} and int) 编译错误的解决方法。 Arduino因其开源和易用性,丰富的三方资源,受到很多人的喜欢…