数据库开发综合案例——仓库管理系统设计

目录

数据库表设计-核心表创建

数据库整体设计

头歌实验代码 

数据库表设计-项目职员表

头歌实验代码 

数据库表设计-关联表

头歌实验代码 


数据库表设计-核心表创建

数据库整体设计

一个仓库管理数据库,我们首先需要了解需求,才可能去设计我们的数据库,那么对一个仓库管理,必定是对仓库里的零件进行管理,那么我们还需要知道零件的来源,哪些零件来自哪些供应商?零件的去向又是哪一零件供应给哪一个项目使用?这些零件存放在哪个仓库?哪个职员管理哪个仓库?等等一些问题,都是我们在设计数据库之前需要思考的问题。

仓库管理系统数据库的整体设计如下图所示:总共涉及到七张表:

  • 仓库表

  • 零件表

  • 供应商表

  • 项目表

  • 职员表

  • 供应关系表

  • 仓库关系表

仓库表

仓库表的主要信息有如下内容:

字段名称 类型 备注 约束
warehouseId int(11) 仓库号 主键,非空
area int(11) 面积 非空
phone int(11) 电话号码 非空

零件表

零件表的主要信息有如下内容:

字段名称 类型 备注 约束
componentId int(11) 零件号 主键,非空
componentName varcahr(20) 名称 非空
standard varchar(255) 规格 非空
price double(10,2) 价格 非空
describe varchar(255) 描述 非空

供应商表

供应商表的主要信息有如下内容:

字段名称 类型 备注 约束
supplyId int(11) 供应商号 主键,非空
name varchar(20) 姓名 非空
address varchar(255) 地址 非空
phone int(11) 电话号码 非空
account bigint(18) 账号 非空

编程要求

请使用 warehouse_db 数据库创建表,具体任务如下:

  • 创建仓库表,命名为 warehouse;

  • 创建零件,命名为 component;

  • 创建供应商表,命名为 supplier。

测试说明

补充完代码后,点击测评,平台会对你编写的代码进行测试,当你的结果与预期输出一致时,即为通过。测试输出结果较长,请自行在测试集中查看。

注意:每次点击评测后台都会将数据库环境重置,数据库 warehouse_db 会自动创建好。 

头歌实验代码 

#请在此添加实现代码
########## Begin ##########
#在warehouse_db库中创建warehouse表
use warehouse_db;
CREATE TABLE `warehouse`  (
    `warehouseId` int(11) NOT NULL,
    `area` int(11) NOT NULL,
    `phone` int(11) NOT NULL,
    PRIMARY KEY (`warehouseId`)
);
#在warehouse_db库中创建component表
CREATE TABLE `component`  (
    `componentId` int(11) NOT NULL,
    `componentName` varchar(20) NOT NULL,
    `standard` varchar(255) NOT NULL,
    `price` double(10, 2) NOT NULL,
    `describe` varchar(255) NOT NULL,
    PRIMARY KEY (`componentId`)
);
#在warehouse_db库中创建supplier表
CREATE TABLE `supplier`  (
    `supplyId` int(11) NOT NULL,
    `name` varchar(20) NOT NULL,
    `address` varchar(255) NOT NULL,
    `phone` int(11) NOT NULL,
    `account` bigint(18) NOT NULL,
    PRIMARY KEY (`supplyId`)
);
########## End ##########

数据库表设计-项目职员表

设计编写完核心表之后,我们还需要设计表对仓库的零件进行销售和管理,这里我们设计两张表——项目表和职员表如下图:

项目表

项目表的主要信息有如下内容:

字段名称 类型 备注 约束
projectId int(11) 项目号 主键,非空
projectBudget double(10,0) 项目预算 非空
commenceDate datetime 开工日期 非空

职员表

字段名称 类型 备注 约束
employeeId int(11) 职工号 主键,非空
name varchar(20) 姓名 非空
age int(3) 年龄 非空
designation varchar(20) 职称 非空
warehouseId int(11) 仓库号 外键,非空
leaders varchar(20) 上级领导 非空

编程要求

请使用 warehouse_db 数据库创建项目表和职员表,具体任务如下:
① 项目表命名为 project;
② 借阅表命名为 employee 。
注意其中外键要求如下:

  • 外键 warehouseId 的外键名称设置为 FK_employee_warehouseId,外键表为仓库表(warehouse)

头歌实验代码 

#请在此添加实现代码
########## Begin ##########
#在warehouse_db库中创建project表
use warehouse_db;
CREATE TABLE `project`  (
    `projectId` int(11) NOT NULL,
    `projectBudget` double(10, 0) NOT NULL,
    `commenceDate` datetime NOT NULL,
    PRIMARY KEY (`projectId`)
);
 
#在warehouse_db库中创建employee表
CREATE TABLE `employee`  (
    `employeeId` int(11) NOT NULL,
    `name` varchar(20) NOT NULL,
    `age` int(3) NOT NULL,
    `designation` varchar(20) NOT NULL,
    `warehouseId` int(11) NOT NULL,
    `leaders` varchar(20) NOT NULL,
    PRIMARY KEY (`employeeId`),
    INDEX `FK_employee_warehouseId`(`warehouseId`),
    CONSTRAINT `FK_employee_warehouseId` FOREIGN KEY (`warehouseId`) REFERENCES `warehouse` (`warehouseId`)
);
########## End ##########

数据库表设计-关联表

关联表

我们已经把所有的信息表都创建好了,现在我们就来创建他们之间的关联表——供应表和库存表:

  • 供应表
字段名称 类型 备注 约束
supplyId int(11) 供应商号 主键,外键,非空
projectId int(11) 项目号 外键,非空
componentId int(11) 零件号 外键,非空
supplyCount int(11) 供应量 非空
  • 库存表
字段名称 类型 备注 约束
warehouseId int(11) 仓库号 主键,外键,非空
componentId int(11) 零件号 外键,非空
repertoryCount int(11) 库存量 非空

编程要求

请在Begin-End之间使用 warehouse_db 数据库创建供应表和库存表,具体任务如下:

① 供应表命名为 supply ,注意其中外键要求如下:

  • 外键 supplyId 的外键名称设置为 FK_supply_supplyId,外键表为供应商(supplier);

  • 外键 projectId 的外键名称设置为 FK_supply_projectId,外键表为项目表(project);

  • 外键 componentId 的外键名称设置为 FK_supply_componentId,外键表为零件表(component)。

② 库存表命名为 repertory ,注意其中外键要求如下:

  • 外键 warehouseId 的外键名称设置为 FK_repertory_warehouseId,外键表为仓库表(warehouse);

  • 外键 componentId 的外键名称设置为 FK_repertory_component_componentId,外键表为零件表(component)。


开始你的任务吧,祝你成功!

头歌实验代码 

#请在此添加实现代码
########## Begin ##########
#在warehouse_db库中创建supply表
use warehouse_db;
CREATE TABLE `supply` (
    `supplyId` int(11) NOT NULL,
    `projectId` int(11) NOT NULL,
    `componentId` int(11) NOT NULL,
    `supplyCount` int(11) NOT NULL,
    PRIMARY KEY (`supplyId`),
    INDEX `FK_supply_supplyId`(`supplyId`),
    CONSTRAINT `FK_supply_supplyId` 
    FOREIGN KEY (`supplyId`) REFERENCES `supplier` (`supplyId`),
    INDEX `FK_supply_projectId`(`projectId`),
    CONSTRAINT `FK_supply_projectId` FOREIGN KEY (`projectId`) REFERENCES `project` (`projectId`),
    INDEX `FK_supply_componentId`(`componentId`),
    CONSTRAINT `FK_supply_componentId` FOREIGN KEY (`componentId`) REFERENCES `component` (`componentId`)
);
#在warehouse_db库中创建repertory表
CREATE TABLE `repertory`(
    `warehouseId` int(11) NOT NULL,
    `componentId` int(11) NOT NULL,
    `repertoryCount` int(11) NOT NULL,
    PRIMARY KEY (`warehouseId`),
 
    INDEX `FK_repertory_warehouseId`(`warehouseId`),
    CONSTRAINT `FK_repertory_warehouseId` FOREIGN KEY (`warehouseId`) REFERENCES `warehouse` (`warehouseId`),
    INDEX `FK_repertory_component_componentId`(`componentId`),
    CONSTRAINT `FK_repertory_component_componentId` FOREIGN KEY (`componentId`) REFERENCES `component` (`componentId`)
);
########## End ##########

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
THE END
分享
二维码
< <上一篇
下一篇>>