数据库开发综合案例——仓库管理系统设计
目錄
數據庫表設計-核心表創建
數據庫整體設計
頭歌實驗代碼?
數據庫表設計-項目職員表
頭歌實驗代碼?
數據庫表設計-關聯表
頭歌實驗代碼?
數據庫表設計-核心表創建
數據庫整體設計
一個倉庫管理數據庫,我們首先需要了解需求,才可能去設計我們的數據庫,那么對一個倉庫管理,必定是對倉庫里的零件進行管理,那么我們還需要知道零件的來源,哪些零件來自哪些供應商?零件的去向又是哪一零件供應給哪一個項目使用?這些零件存放在哪個倉庫?哪個職員管理哪個倉庫?等等一些問題,都是我們在設計數據庫之前需要思考的問題。
倉庫管理系統數據庫的整體設計如下圖所示:總共涉及到七張表:
-
倉庫表
-
零件表
-
供應商表
-
項目表
-
職員表
-
供應關系表
-
倉庫關系表
倉庫表
倉庫表的主要信息有如下內容:
| 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 ##########總結
以上是生活随笔為你收集整理的数据库开发综合案例——仓库管理系统设计的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Linux进程全解2——进程环境(环境变
- 下一篇: java信息管理系统总结_java实现科