【数据库】仓库管理数据库(练习样例)

某连锁超市需要设计实现一个仓库管理系统,要求每个仓库可以有多名仓库管理员每个仓库管理员只负责管理一个仓库,同时每个仓库都配备了一名仓库主管;不同的仓库存放的是不同类型的货品,每种货品只存放在固定的仓库中;定期采购的货品会由当天值班的仓库管理员进行登记入库,若超市中某种货品短缺,去仓库提取货品时,也需由当天值班的仓库管理员进行登记出库。通过需求分析,设计该系统所需的仓库管理数据库共有 5 个基本表:

  1. 管理员信息表(ManagerInfo)
  2. 仓库信息表(WarehouseInfo)
  3. 货品信息表(ProductInfo)
  4. 入库清单表(InList)
  5. 出库清单表(OutList)

1、管理员信息表(ManagerInfo)用来保存仓库管理员的相关信息

序号

字段名

字段类型

字段长度

字段中文名

备注

1

Mno

CHAR

3

管理员编号

主键

2

Mname

VARCHAR

10

管理员姓名

非空

3

Mgender

CHAR

1

管理员性别

默认’男’

4

Mbirhdate

DATE

管理员出生日期

5

Mtelephone

CHAR

11

管理员电话

非空

6

Mhiredate

DATE

入职日期

7

Wno

CHAR

3

管理仓库编号

外键

CREATE TABLE IF NOT EXISTS ManagerInfo (Mno CHAR(3) PRIMARY KEY COMMENT '管理员编号',Mname VARCHAR(10) NOT NULL COMMENT '管理员姓名',Mgender CHAR(1) DEFAULT '男' COMMENT '管理员性别',Mbirthdate DATE COMMENT '管理员出生日期',Mtelephone CHAR(11) NOT NULL COMMENT '管理员电话',Mhiredate DATE COMMENT '入职日期',Wno CHAR(3) COMMENT '管理仓库编号'
);ALTER TABLE ManagerInfo
ADD CONSTRAINT fk_WarehouseInfo
FOREIGN KEY (Wno) REFERENCES WarehouseInfo(Wno);

示例数据如下图所示:

INSERT INTO ManagerInfo (Mno, Mname, Mgender, Mbirthdate, Mtelephone, Mhiredate, Wno)
VALUES ('M01', '吴腾雨', '男', '1994-12-08', '15912345678', '2020-03-15', 'W01');INSERT INTO ManagerInfo (Mno, Mname, Mgender, Mbirthdate, Mtelephone, Mhiredate, Wno)
VALUES ('M02', '徐慧文', '女', '1997-02-18', '13623456789', '2020-03-15', 'W01');INSERT INTO ManagerInfo (Mno, Mname, Mgender, Mbirthdate, Mtelephone, Mhiredate, Wno)
VALUES ('M03', '唐康勇', '男', '1994-05-29', '13313579864', '2020-03-15', 'W02');

2、仓库信息表(WarehouseInfo)用来保存仓库的相关信息

序号

字段名

字段类型

字段长度

字段中文名

备注

1

Wno

CHAR

3

仓库编号

主键

2

Wname

VARCHAR

10

仓库名称

非空

3

Wtype

VARCHAR

7

仓库类别

4

Waddress

VARCHAR

30

仓库地址

5

Wcharge

CHAR

3

仓库主管

外键

CREATE TABLE IF NOT EXISTS WarehouseInfo (Wno CHAR(3) PRIMARY KEY COMMENT '仓库编号',Wname VARCHAR(10) NOT NULL COMMENT '仓库名称',Wtype VARCHAR(7) COMMENT '仓库类别',Waddress VARCHAR(30) COMMENT '仓库地址',Wcharge CHAR(3) COMMENT '仓库主管'
);ALTER TABLE WarehouseInfo
ADD CONSTRAINT FK_Warehouse_Manager
FOREIGN KEY (Wcharge) REFERENCES ManagerInfo (Mno);

示例数据如下图所示:

INSERT INTO WarehouseInfo (Wno, Wname, Wtype, Waddress, Wcharge)
VALUES ('W01', '仓库01', '食品类', '中南大街26号仓库', 'M01');INSERT INTO WarehouseInfo (Wno, Wname, Wtype, Waddress, Wcharge)
VALUES ('W02', '仓库02', '粮油类', '中南大街30号仓库', 'M03');INSERT INTO WarehouseInfo (Wno, Wname, Wtype, Waddress, Wcharge)
VALUES ('W03', '仓库03', '服装类', '三里屯12号仓库', 'M06');

3、货品信息表(ProductInfo)用来保存货品的相关信息

序号

字段名

字段类型

字段长度

字段中文名

备注

1

Pno

CHAR

8

货品编号

主键

2

Pname

VARCHAR

30

货品名称

非空

3

Ptype

VARCHAR

8

货品类别

4

Pprice

FLOAT

货品售价

5

Punit

VARCHAR

10

货品单位

6

Pweight

VARCHAR

10

货品重量

7

Pmanufacture

VARCHAR

30

货品生产厂商

8

Pguaranteedate

VARCHAR

8

货品保质期

9

Wno

CHAR

3

存放仓库编号

外键

10

Pstock

INT

货品库存量

CREATE TABLE IF NOT EXISTS ProductInfo (Pno CHAR(8) PRIMARY KEY COMMENT '货品编号',Pname VARCHAR(30) NOT NULL COMMENT '货品名称',Ptype VARCHAR(8) COMMENT '货品类别',Pprice FLOAT COMMENT '货品售价',Punit VARCHAR(10) COMMENT '货品单位',Pweight VARCHAR(10) COMMENT '货品重量',Pmanufacture VARCHAR(30) COMMENT '货品生产厂商',Pguaranteedate VARCHAR(8) COMMENT '货品保质期',Wno CHAR(3) COMMENT '存放仓库编号',Pstock INT COMMENT '货品库存量'
);ALTER TABLE ProductInfo
ADD CONSTRAINT FK_Product_Warehouse
FOREIGN KEY (Wno) REFERENCES WarehouseInfo(Wno);

INSERT INTO ProductInfo (Pno, Pname, Ptype, Pprice, Punit, Pweight, Pmanufacture, Pguaranteedate, Wno, Pstock)
VALUES ('10010001', '雀巢咖啡1+2原味三合一速溶咖啡粉', '饮品', 60.00, '盒(45+5)', '750g', '东莞雀巢有限公司', '18个月', 'W01', 24);INSERT INTO ProductInfo (Pno, Pname, Ptype, Pprice, Punit, Pweight, Pmanufacture, Pguaranteedate, Wno, Pstock)
VALUES ('10010002', '100%果汁苹果汁', '饮品', 5.20, '瓶', '200ml', '北京汇源生物科技有限公司', '6个月', 'W01', 46);INSERT INTO ProductInfo (Pno, Pname, Ptype, Pprice, Punit, Pweight, Pmanufacture, Pguaranteedate, Wno, Pstock)
VALUES ('10010003', '特正宗有机五常大米原粮稻花香2号', '粮油', 150.00, '袋', '5kg', '五常米磐达米业有限公司', '12个月', 'W02', 40);

4、入库清单表(InList)用来保存各个仓库货品入库的相关信息 

序号

字段名

字段类型

字段长度

字段中文名

备注

1

Iid

自动编号

入库序号

主键

2

Pno

CHAR

8

货品编号

外键

3

Wno

CHAR

3

仓库编号

外键

4

Mno

CHAR

3

管理员编号

外键

5

Idate

DATE

入库日期

6

Isupplier

VARCHAR

30

供应商名称

7

Iprice

FLOAT

入库单价

8

Inum

INT

入库数量

CREATE TABLE IF NOT EXISTS InList (Iid INT AUTO_INCREMENT PRIMARY KEY COMMENT '入库序号',Pno CHAR(8) COMMENT '货品编号',Wno CHAR(3) COMMENT '仓库编号',Mno CHAR(3) COMMENT '管理员编号',Idate DATE COMMENT '入库日期',Isupplier VARCHAR(30) COMMENT '供应商名称',Iprice FLOAT COMMENT '入库单价',Inum INT COMMENT '入库数量'
);ALTER TABLE InList
ADD CONSTRAINT FK_InList_Product
FOREIGN KEY (Pno) REFERENCES ProductInfo(Pno);ALTER TABLE InList
ADD CONSTRAINT FK_InList_Warehouse
FOREIGN KEY (Wno) REFERENCES WarehouseInfo(Wno);ALTER TABLE InList
ADD CONSTRAINT FK_InList_Manager
FOREIGN KEY (Mno) REFERENCES ManagerInfo(Mno);

示例数据如下图所示:

INSERT INTO WarehousingInfo (EntryNo, ProductNo, WarehouseNo, OperatorNo, EntryDate, SupplierName, EntryPrice, EntryQuantity)
VALUES (1, '10020001', 'W02', 'M03', '2020-03-17', '健康粮食生产基地字', 24.00, 100);INSERT INTO WarehousingInfo (EntryNo, ProductNo, WarehouseNo, OperatorNo, EntryDate, SupplierName, EntryPrice, EntryQuantity)
VALUES (2, '10010001', 'W01', 'M01', '2020-03-18', '字一饮料公司', 30.00, 80);INSERT INTO WarehousingInfo (EntryNo, ProductNo, WarehouseNo, OperatorNo, EntryDate, SupplierName, EntryPrice, EntryQuantity)
VALUES (3, '10010002', 'W01', 'M01', '2020-03-18', '字一饮料公司', 3.60, 150);

5、出库清单表(OutList)用来保存货品出库的相关信息

序号

字段名

字段类型

字段长度

字段中文名

备注

1

Oid

自动编号

出库序号

主键

2

Pno

CHAR

8

货品编号

外键

3

Wno

CHAR

3

仓库编号

外键

4

Mno

CHAR

3

管理员编号

外键

5

Odate

DATE

出库日期

6

Onum

INT

出库数量

7

Odest

VARCHAR

30

出库去向

CREATE TABLE IF NOT EXISTS OutList (Oid INT PRIMARY KEY AUTO_INCREMENT COMMENT '出库序号',Pno CHAR(8) COMMENT '货品编号',Wno CHAR(3) COMMENT '仓库编号',Mno CHAR(3) COMMENT '管理员编号',Odate DATE COMMENT '出库日期',Onum INT COMMENT '出库数量',Odest VARCHAR(30) COMMENT '出库去向'
);ALTER TABLE OutList
ADD CONSTRAINT FK_OutList_Product
FOREIGN KEY (Pno) REFERENCES ProductInfo(Pno);ALTER TABLE OutList
ADD CONSTRAINT FK_OutList_Warehouse
FOREIGN KEY (Wno) REFERENCES WarehouseInfo(Wno);ALTER TABLE OutList
ADD CONSTRAINT FK_OutList_Manager
FOREIGN KEY (Mno) REFERENCES ManagerInfo(Mno);

示例数据如下图所示:

INSERT INTO OutList (Oid, Pno, Wno, Mno, Odate, Onum, Odest)
VALUES (1, '10020001', 'W02', 'M03', '2020-03-20', 30, '超市1号店');INSERT INTO OutList (Oid, Pno, Wno, Mno, Odate, Onum, Odest)
VALUES (2, '10020001', 'W02', 'M03', '2020-03-20', 20, '超市2号店');INSERT INTO OutList (Oid, Pno, Wno, Mno, Odate, Onum, Odest)
VALUES (3, '10010001', 'W01', 'M02', '2020-03-20', 30, '超市1号店');

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

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

相关文章

R语言数据分析案例40-华安中证基金多元线性回归和分析预测

一、引言 基金是一种非常受欢迎的投资工具,由于其具有风险分散、专业管理等特点,越来越多的投资者选择将资金投入基金市场。然而,基金的表现却受到很多因素的影响,如股票市场的整体表现、基金管理人员的能力、基金规模、基金管理…

二二复制模式,发展下属并形成一个销售网络体系来实现收入增长!

二二复制模式,又称为双轨制,是一种直销理念的营销模式,其核心在于通过发展下属并形成一个销售网络体系来实现收入增长。以下是对二二复制模式的详细讲解,包括其优势和玩法介绍,以及适合的行业。 一、二二复制模式的定…

Flutter集成高德导航SDK(Android篇)(JAVA语法)

先上flutter doctor: flutter sdk版本为:3.19.4 引入依赖: 在app的build.gradle下,添加如下依赖: implementation com.amap.api:navi-3dmap:10.0.700_3dmap10.0.700navi-3dmap里面包含了定位功能,地图功能…

香橙派AIpro开发板评测:部署yolov5模型实现图像和视频中物体的识别

OrangePi AIpro 作为业界首款基于昇腾深度研发的AI开发板,自发布以来就引起了我的极大关注。其配备的8/20TOPS澎湃算力,堪称目前开发板市场中的顶尖性能,实在令人垂涎三尺。如此强大的板子,当然要亲自体验一番。今天非常荣幸地拿到…

边界无限陈佩文:红蓝对抗安全演练常态化的各方分析

虽然常态化演练尚未正式开始,但我们仍然希望对各方的表现进行一些分析和预测,以辅助我们对市场的判断和决策。同时,也希望通过这些初步的见解,抛砖引玉,引发更多有价值的讨论和观点。 “船停在码头是最安全的&#xf…

Hi3861 OpenHarmony嵌入式应用入门--SNTP

sntp(Simple Network Time Protocol)是一种网络时间协议,它是NTP(Network Time Protocol)的一个简化版本。 本项目是从LwIP中抽取的SNTP代码; Hi3861 SDK中已经包含了一份预编译的lwip,但没有…

线程间的通信

文章目录 线程间的通讯技术就是通过等待和唤醒机制,来实现多个线程协同操作完成某一项任务,例如经典的生产者和消费者案例。等待唤醒机制其实就是让线程进入等待状态或者让线程从等待状态中唤醒,需要用到两种方法,如下&#xff1a…

红蓝对抗下的内网横向移动渗透技术详解

一、利用Windows计划任务横向移动 Windows计划任务是一个非常实用的功能,可以帮助我们自动完成一些重复性的任务。比如,我们可以设定一个计划任务来自动备份文件、更新软件、执行脚本等,本文主要介绍了如何利用Windows计划任务进行横向渗透。 &#xf…

C#委托事件的实现

1、事件 在C#中事件是一种特殊的委托类型,用于在对象之间提供一种基于观察者模式的通知机制。 1.1、事件的发送方定义了一个委托,委托类型的声明包含了事件的签名,即事件处理器方法的签名。 1.2、事件的订阅者可以通过运算符来注册事件处理器…

Python基础小知识问答系列-过滤列表元素

1. 问题: 如何根据单一条件过滤列表的元素? 如何根据复杂条件过滤列表的元素? 2. 解决方式: 可以使用推导式生成器,进行单一条件的列表元素过滤,尤其是列表内容较多时; 也可以使用filter函数进行列…

Linux Static Keys和jump label机制

文章目录 前言一、asm goto二、API使用2.1 低版本API2.2 高版本API 三、jump label四、源码分析4.1 数据结构4.2 static_key_false4.3 jump_label_init4.4 __jump_label_transform4.5 static_key_slow_inc/dec 五、__jump_table节5.1 内核5.2 内核模块 六、修改内存代码6.1 x86…

24西安电子科技大学数学与统计学院—考研录取情况

24西安电子科技大学—数学与统计学院—考研录取统计 01、数学与统计学院各个方向 02、24数学与统计学院近三年复试分数线对比 数统院24年院线相对于23年院线增加高达30分,确实增长浮动比较高,接近30分的水平,因此大家更需要好好去努力&#x…

GTest和Catch2单元测试学习(附Cmake测试代码库)

kevin_CTest CTest 单元测试学习 Gitee库: https://gitee.com/bigearrabbit/kevin_ctest.git 示例多是从网页文章上摘取的,大部分记录在下面,或者源码内。供学习参考。 CTest 学习Catch2 框架 单个文档的测试架构,使用方便&am…

vue3中svg图标的封装与使用

组件封装&#xff1a; <template><svg :class"svgClass" :style"{ width: size px, height: size px, color: color, verticalAlign:deviationem}" aria-hidden"true"><use :xlink:href"#icon-${name}" /></s…

FreeRTOS的任务间通信

文章目录 4 FreeRTOS任务间通信4.1 队列4.1.1 队列的使用4.1.2 队列的创建&#xff0c;删除&#xff0c;复位4.1.3 队列的发送&#xff0c;接收&#xff0c;查询 4.2 邮箱&#xff08;mailbox&#xff09;4.2.1 任务中读写邮箱4.2.2 中断中读写邮箱 4.3 队列集4.3.1 队列集的创…

Vue打包文件dist放在SpringBoot项目下运行(正确实现全过程)

项目开发中&#xff0c;一般我们都会使用SpringBootVue进行前后端开发。 在部署时&#xff0c;会后端启动一个服务&#xff0c;再启动一个nginx&#xff0c;nginx中配置前端打包文件dist进行项目访问。 实际上&#xff0c;我们也可以把打包好的dist目录放在SpringBoot项目下进…

Os-hackNos

下载地址 https://download.vulnhub.com/hacknos/Os-hackNos-1.ova 环境配置如果出现&#xff0c;扫描不到IP的情况&#xff0c;可以尝试vulnhub靶机检测不到IP地址解决办法_vulnhub靶机扫描不到ip-CSDN博客 信息收集 确定靶机地址&#xff1a; 探测到存活主机192.168.111.…

如何利用AI撰写短文案获客?分享6大平台和3大步骤!

从去年开始&#xff0c;很多大厂都在裁员&#xff0c;原因就是因为AI的火爆&#xff0c;替代了很多机械式的劳动力。以前很多人可以通过机械式的工作来摸鱼&#xff0c;现在AI完成的效率比人工的要高很多倍。 国内好用的AI平台非常多&#xff0c;有时候也可以使用几个AI平台结合…

软件设计之Java入门视频(11)

软件设计之Java入门视频(11) 视频教程来自B站尚硅谷&#xff1a; 尚硅谷Java入门视频教程&#xff0c;宋红康java基础视频 相关文件资料&#xff08;百度网盘&#xff09; 提取密码&#xff1a;8op3 idea 下载可以关注 软件管家 公众号 学习内容&#xff1a; 该视频共分为1-7…

STM32学习历程(day2)

GPIO解释 GPIO(General-purpose input/output) 可以配置为八种输入输出模式 引脚电平 0V-3.3V 部分引脚可容忍5v 输出模式可控制端口输出高低电平 用以驱动LED、控制蜂鸣器、模拟通信协议输出时序 输入模式可读取端口的高低电平或电压&#xff0c;用于读取按键输入、外界…