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

某连锁超市需要设计实现一个仓库管理系统,要求每个仓库可以有多名仓库管理员每个仓库管理员只负责管理一个仓库,同时每个仓库都配备了一名仓库主管;不同的仓库存放的是不同类型的货品,每种货品只存放在固定的仓库中;定期采购的货品会由当天值班的仓库管理员进行登记入库,若超市中某种货品短缺,去仓库提取货品时,也需由当天值班的仓库管理员进行登记出库。通过需求分析,设计该系统所需的仓库管理数据库共有 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-华安中证基金多元线性回归和分析预测

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

SpringAOP如何控制只在生产环境执行AOP类

SpringAOP场景原理、如何在特定环境(如dev不执行、prod执行)不执行AOP 1、在定义AOP切面类的时候,用注解Profile, 再配合配置application.properties 的 spring.profiles.activeprod Aspect Component Profile("prod") public class LoggingA…

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

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

【React性能优化】父组件渲染如何避免子组件不必要的渲染

类组件: 需要注意的点是,尽量避免事件处理函数直接返回,如以下写法: class LoggingButton extends React.Component {handleClick() {console.log(this is:, this);}render() {// 此语法确保 handleClick 内的 this 已被绑定。r…

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里面包含了定位功能,地图功能…

UML图的分类

uml图是用来展示大型软件工程之间的内部关系,如果只用代码表示,密密麻麻的谁看都头疼。 UML图分为结构图和行为图 .类图:一组对象,接口,协作和它们之间的关系 对象图:一组对象以及它们之间的关系 用例图…

Mysql在linux系统中定时备份

1. 创建备份脚本 #!/bin/bash# 设置数据库名、用户名和密码 DB_NAME"your_database_name" DB_USER"your_username" DB_PASSWORD"your_password"# 设置备份目录 BACKUP_DIR"/path/to/your/backup/directory"# 创建备份目录如果不存在 …

Kafka搭建(集群版)

Kafka单机版 部署前提 VMware环境 : 两台centos系统 Jdk包:jdk-8u202-linux-x64.tar.gz Kafka包:kafka_2.12-3.5.0.tgz Zookeeper包:apache-zookeeper-3.7.2-bin.tar.gz 百度网盘自取: 链接: https://pan.baidu.com/s/11EWuhBoSmH3musd_3Rgodw?pwde32t 提取码: e32t Kafka搭建…

运行程序报错died with <Signals.SIGKILL: 9>问题定位及解决方法

运行程序报错died with 报错 当我在运行程序时,报错: Traceback (most recent call last):File "/home/anaconda3/envs/scene_graph_benchmark/lib/python3.8/runpy.py", line 194, in _run_module_as_mainreturn _run_code(code, main_glo…

免密登录ssh

前言: 1.基于口令的认证(password认证): 客户端向服务器发出password认证请求,将用户名和密码加密后发送给服务器,服务器将该信息解密后得到用户名和密码的明文,与设备上保存的用户名和密码进行…

香橙派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,但没有…

怎么把数据转换成百度k线图

要将数据转换成百度K线图,您需要按照百度K线图的要求对数据进行处理和格式化。以下是一个简单的示例,演示如何将数据转换成百度K线图的格式: python import json # 假设您有以下数据 data [ {"date": "2021-01-01"…

【Python123题库】#计算整数各位数字之和 #分类统计字符个数 #用户登录C #二分法求平方根B

禁止转载,原文:https://blog.csdn.net/qq_45801887/article/details/140079918 参考教程:B站视频讲解——https://space.bilibili.com/3546616042621301 有帮助麻烦点个赞 ~ ~ Python123题库 计算整数各位数字之和分类统计字符个数用户登录C…

Java基础之关键字

关键字 transient 被transient修饰的成员变量在序列化(serialization)时,值会被忽略,在反序列化时会被设为初始值(对象为null) synchronized 既可以修饰方法也可以修饰方法块,被synchronized修饰的代码块及方法,在同一时间只能…

nacos占位符配置

有的时候,我们的nacos会出现一个配置文件里,有多个配置项对应的值都是一样的,这个时候nacos就可以用到占位符${}进行参数配置。 auth:api1:host: http://aaa.comapi2:host: http://aaa.com可以将共同的参数提取出来统一配置,后期…

线程间的通信

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

Java中的内存数据库与缓存技术

Java中的内存数据库与缓存技术 大家好,我是免费搭建查券返利机器人省钱赚佣金就用微赚淘客系统3.0的小编,也是冬天不穿秋裤,天冷也要风度的程序猿! 1. 内存数据库的概念与优势 1.1 什么是内存数据库? 内存数据库是…

python写的工具代码总结

目录 python画图&处理图片python增大图片的大小(比如将几百K的照片增加到几mb)解决python画图无法显示中文的问题python画折线图 & 一张图上三条折线 & 设置折线marker & chatgpt画折线图的提示词python将png格式的图片转换为jpg格式的图…