数据库开发综合案例——仓库管理系统设计
目录
数据库表设计-核心表创建
数据库整体设计
头歌实验代码
数据库表设计-项目职员表
头歌实验代码
数据库表设计-关联表
头歌实验代码
数据库表设计-核心表创建
数据库整体设计
一个仓库管理数据库,我们首先需要了解需求,才可能去设计我们的数据库,那么对一个仓库管理,必定是对仓库里的零件进行管理,那么我们还需要知道零件的来源,哪些零件来自哪些供应商?零件的去向又是哪一零件供应给哪一个项目使用?这些零件存放在哪个仓库?哪个职员管理哪个仓库?等等一些问题,都是我们在设计数据库之前需要思考的问题。
仓库管理系统数据库的整体设计如下图所示:总共涉及到七张表:
仓库表
零件表
供应商表
项目表
职员表
供应关系表
仓库关系表
仓库表
仓库表的主要信息有如下内容:
字段名称 | 类型 | 备注 | 约束 |
---|---|---|---|
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 ##########
数据库开发综合案例——仓库管理系统设计相关推荐
- 关于Visual C#.NET数据库开发经典案例解析(附光盘两张)(珍藏版)—的读后感...
关于Visual C#.NET数据库开发经典案例解析(附光盘两张)(珍藏版)- 评论 读后感:里面的内容很经典,很实用 读后感:给初学者是好,但是是比较旧的了!VS2003 C/S的 读后感:< ...
- NDK开发综合案例——锅炉压力显示系统
NDK开发综合案例--锅炉压力显示系统 Demo下载 锅炉压力系统 1.锅炉显示压力结构体 2.测试模拟锅炉压力值C测试代码 3. native方法 4. C函数 5. 自定义View 6. 调用C更 ...
- 视频教程-Oracle数据库开发技巧与经典案例讲解一-Oracle
Oracle数据库开发技巧与经典案例讲解一 Oracle DBA,熟悉Unix操作系统,精通Oracle数据库. 曾任职某大型金融IT公司,负责银行领域数据库构建与运维,维护大量银行数据库系统.目前在 ...
- JavaWeb - 软件开发的流程,综合案例
转载请注明出处:https://blog.csdn.net/mythmayor/article/details/72844266 1.软件开发的流程 第一:需求的讨论第二:设计系统的原型第三:根据原型 ...
- 《Spark SQL大数据实例开发》9.2 综合案例实战——电商网站搜索排名统计
<Spark SQL大数据实例开发>9.2 综合案例实战--电商网站搜索排名统计 9.2.1 案例概述 本节演示一个网站搜索综合案例:以京东为例,用户登录京东网站,在搜索栏中输入搜 ...
- 《Unity 4 3D开发实战详解》一6.7 物理引擎综合案例
本节书摘来异步社区<Unity 4 3D开发实战详解>一书中的第6章,第6.7节,作者: 吴亚峰 , 杜化美 , 张月霞 , 索依娜 责编: 张涛,更多章节内容可以访问云栖社区" ...
- 陈力:传智播客古代 珍宝币 泡泡龙游戏开发第42讲:PHP数据库开发案例
陈力:传智播客古代 珍宝币 泡泡龙游戏开发第42讲:PHP数据库开发案例 上节学习了Mysql数据的操作,本节结合贵阳网站建设的实践经验,通过MVC思想进行实例开发和程序设计. 一.网站建设流程介绍 ...
- 【SQL Server】数据库开发指南(五)T-SQL 高级查询综合应用与实战
本系列博文还在更新中,收录在专栏:#MS-SQL Server 专栏中. 本系列文章列表如下: [SQL Server] Linux 运维下对 SQL Server 进行安装.升级.回滚.卸载操作 [ ...
- 【综合案例】信用评分模型开发
目录 一.案例背景 二.前置知识 2.1 数据分箱 2.2 属性选择 2.3 回归方程 三.数据处理 3.1 数据清洗 3.2 因素分析 四.模型训练 五.模型预测 六.结语 后记 一.案例背景 在上 ...
- 0基础快速入门CSS技术栈(3)—图解详细阐述CSS文字文本样式及综合案例、样式调试工具、快速开发html的emment语法(附详细案例源码解析过程)
文章目录 1. CSS字体样式属性调试工具 2. font字体 2.1 font-size:大小 2.2 font-family:字体 2.2.1 CSS Unicode字体 2.3 font-wei ...
最新文章
- matlab绘制横向柱状图
- android 仿ios tabs,React Native兼容iOS Android的TabBar
- php列目录设置密码,PHP输入密码并列出目录文件生成超链接代码
- react学习(42)----react中的jsx表达对象
- J2ME开发及JBuilder工具的应用
- TokenInsight:反映区块链行业整体表现的TI指数较昨日同期上涨0.56%
- libuv 与 libev 的对比
- 运筹学笔记 整数规划
- tkinter教程目录
- mysql数据库双机备份_配置MySQL数据库双机热备份(转)
- Flutter集成与打包iOS应用
- Google登录授权详细过程
- 计算机的主板显卡内存条怎么查,电脑显卡在哪看?查看自己电脑显卡的显存等信息的方法...
- 运用电脑辅助 对彩票号码 进行 数字分析 — 华东15选5
- prometheus remote write for springboot 远程写入<一>
- Apollo使用方法
- Auto.js Pro 替代品
- fest556_FEST-Swing 1.2发布
- python中级11面向对象中
- PHP之微信头像加水印
热门文章
- PreferenceScreen1
- (未完待续)概率论学习笔记之假设检验
- html 字体图标大小,CSS ICONFONT 基线和大小问题
- 常用的控件样式风格设置(qss)——QtWidgets
- 《中國姓氏大全》【带拼音】
- 计算机 360云盘删除,删除360云盘图标,教你win7系统删除360云盘图标教程
- android 动态获取权限
- 联想笔记本重装系统,联想电脑安装系统
- qt unicode转gbk_Qt中文编码和QString类Unicode编码转换
- 安卓root之后交管123123 20秒闪退和中国农业银行app 6.0闪退的解决方法