《企业仓库管理系统数据库设计方案.ppt》由会员分享,可在线阅读,更多相关《企业仓库管理系统数据库设计方案.ppt(36页珍藏版)》请在优知文库上搜索。
1、企业仓库管理系统数据库设计2 问题描述问题描述某企业为实现现代化管理准备开发一套仓库管理系统,实现如下功能:1、材料情况登记(每一材料入库前的详细情况登记)2、材料库存信息登记3、材料入库信息登记4、材料出库信息登记5、仓库信息登记 现要求对“企业仓库管理系统”进行数据库的设计并实现,数据库保存在D:project目录下,文件增长率为20% 。3问题分析-1材料信息表材料信息表material :Material_noVarchar(6)Not null 材料号(主键),自动产生,可修改Material_nameVarchar(20)Not null 材料名称Material_xhVarcha
2、r(6)null型号规格Material_manufactureVarchar(20)Null生产厂家Product_dwVarchar(8)Not null 单位(米、只、个)Material_priceMoneyNull参考价格(默认0)4问题分析-2材料库存信息表材料库存信息表Material_kc: Material_idVarchar(6) Not Null材料号(主键,外键)Kc_balancefloatNull期初余额Kc_amoutfloatNull现有库存Kc_pcfloatNull盘库数量Kc_pcykfloatNull盘库盈亏(=盘库数量-现有库存)Kc_pctimeDa
3、tetimeNull盘库时间(盘库时系统自动产生,不能修改)Stor_noVarchar(2) Not null仓库号(外键)5问题分析-3材料入库信息表材料入库信息表Material_rk_1: Cgdd_noVarchar(7)Not采购订单号(外键),自动产生入库单号Materialrkd_noVarchar(7)Not 入库单号(主键)可修改SpeopleVarchar(10) Null 送货人Rk_indateDatetimeNull 入库日期(自动产生可修改)Stor_noVarchar(2)Not 仓库号Audit_noVarchar(6)Null 审核人号Has_Audited
4、bitnull审核否,默认为未审核Rk_demoTextnull备注信息6问题分析-4材料入库信息表材料入库信息表Material_rk_2:Materialrkd_noVarchar(7)Not null入库单号(主键一,外键),可修改,但要保证一次入库单业务中的入库单号是一致的Material_idVarchar(6)Not null材料号(主键二、外键)Rk_amoutfloatNot Null入库数量7问题分析-5材料出库信息表材料出库信息表Material_ck_1:Materialckd_noVarchar(7)Not出库单号(主键),自动产生,可修改GetpeopleVarcha
5、r(10) Null提货人ck_dateDatetimeNull出库时间(系统自动入)ck_amoutfloatNull出库数量user_deptVarchar(20) Null使用部门Cgpeople_noVarchar(6)Not仓库管理员号audit_noVarchar(6)Null审核人号,引用emp_noHas_AuditedbitNull是否审核,默认未审核Ck_memoTextNull备注信息8问题分析-6材料出库信息表材料出库信息表Material_ck_2:Materialckd_noVarchar(7)Not null出库单号(主键一,外键),自动产生,可修改,但要保证一次
6、出库单业务中的出库单号是一致的Material_idVarchar(6)Not null材料号(主键二、外键)ck_amoutfloatNull出库数量9问题分析-7仓库信息表仓库信息表Store:Stor_noVarchar(2)Not null仓库号(主键)Stor_nameVarchar(20)NOT Null仓库名Manager_noVarchar(6)NOT Null负责人号,引用自yg表中的”emp_no”Stor_totalIntNull仓位数Stor_areaFloatNull面积(平方米)10难点分析-1q 设计ER图、建库、建表、加约束、建关系部分q 建库语句:建库语句:C
7、REATE DATABASE project DB ON ( NAME=, FILENAME=, SIZE=, FILEGROWTH=) LOG ON (. )建表语句:建表语句:CREATE TABLE 表名表名 ( Material_no IDENTITY(1,1), Material_name CHAR(8) NOT NULL, .)11难点分析-2q 设计ER图、建库、建表、加约束、建关系部分q 建约束语句:建约束语句:ALTER TABLE material ADD CONSTRAINT PK_ deptID PRIMARY KEY(deptID), CONSTRAINT DF_ M
8、aterial_price default(“0”) for Material_price .主键约束默认约束12子查询:SELECT .FROM WHERE Material_name =(SELECT FROM )SQL编程:DECLARE Material_name char(6)SELECT Material_name = Material_name from .where (Material_no =XX)视图:CREATE VIEW view_userInfo AS -SQL语句GO难点分析-4声明变量q 插入测试数据、常规业务模拟、创建索引视图部分q 给变量赋值的两种方法:SEL
9、ECT或SET测试视图:SELECT . FROM view_userInfo 13创建存储过程:创建存储过程: CREATE PROCEDURE proc_takeproduct ID char(8), type char(4) ,AS .SQL语句语句GO难点分析-6q 存储过程部分1:q 存储过程的参数14阶段划分q 第一阶段(45分钟)q 利用PowerDesigner设计E-R图q 第二阶段( 60分钟)q 利用SQL语句实现建库、建表、加约束、建关系q 第三阶段(45分钟)q 利用SQL语句插入测试数据、模拟常规业务操作 q 第四阶段(60分钟)q 利用SQL语句创建索引和视图、创
10、建触发器 q 第五阶段(60分钟)q 利用SQL语句创建存储过程并测试 q 第六阶段(30分钟)q 利用SQL语句创建产品流通事务并测试 q 第七阶段(30分钟)q 利用SQL语句创建系统维护帐号并授权 15第一阶段q第一阶段(45分钟)q 利用PowerDesigner设计E-R图q要求学生自己动手操作,老师解答难点16阶段检查q针对第一阶段抽查学生的操作结果q老师给出点评或集中演示难点部分17第二阶段q第二阶段(60分钟)q 利用SQL语句实现建库、建表、加约束、建关系q要求学生自己动手编写SQL语句,老师解答学生提出的问题18阶段检查q针对第二阶段抽查学生的编码结果q老师给出点评或集中演
11、示难点部分19第二阶段标准代码演示-1q建库IF exists(SELECT * FROM sysdatabases WHERE name=projectDB) DROP DATABASE projectDBGOCREATE DATABASE projectDB ON ( NAME=projectDB_data, FILENAME=d:projectprojectDB_data.mdf, SIZE=1mb, FILEGROWTH=15% ) LOG ON (.检验数据库是否存在,如果为真,删除此数据库 创建建库projectDB20第二阶段标准代码演示-2q建表:USE projectDBGO
12、CREATE TABLE material 材料信息表 ( Material_no INT IDENTITY(1,1), Material_name VARCHAR(20) NOT NULL, Material_xh VARCHAR(6) NOT NULL, Material_manufacture VARCHAR(20)GO21第三阶段q第三阶段(45分钟):q 利用SQL语句实现插入测试数据、常规业务操作 q要求学生自己动手操作,教师解答学员提出的问题22阶段检查q针对第三阶段抽查学生的编码结果q抽查学生编写的完整代码,要求学生上台讲解,并演示运行结果q教师给出点评23第三阶段标准代码演示
13、-1q 部门A和部门B信息登记:SET NOCOUNT ON -不显示受影响的条数信息INSERT INTO material(Material_name,Material_xh,Material_manufacture,Product_dw,Material_price) VALUES(铁皮,A4,杭州钢铁厂,平方米,60)INSERT INTO material(Material_name,Material_xh,Material_manufacture,Product_dw,Material_price) VALUES(铁皮,A5,杭州钢铁厂,平方米,80)SELECT * FROM m
14、aterialGO24第四阶段q第四阶段(60分钟):q 利用SQL语句创建索引和视图 q要求学生自己动手操作,教师解答学员提出的问题25阶段检查q针对第四阶段抽查学员的编码结果q抽查学生编写的完整代码,要求学生上台讲解,并演示运行结果q教师给出点评26第四阶段标准代码演示-1q 创建视图:.创建视图:查询各表要求字段全为中文字段名。create VIEW view_material -材料信息表信息表视图(其他表同理) AS select Material_no as 材料, Material_name as 材料名称, Material_xh as 型号规格, Material_manuf
15、acture as 生产厂家, Product_dw as 生产单位, Material_price as 参考价格 from materialGO27第五阶段q第五阶段(60分钟):q 利用SQL语句创建存储过程并测试q要求学生自己动手操作,教师解答学员提出的问题28阶段检查q针对第五阶段抽查学生的编码结果q抽查学生编写的完整代码,要求学生上台讲解,并演示运行结果q教师给出点评29第五阶段标准代码演示-1q 产品入库存储过程产品入库存储过程CREATE PROCEDURE proc_takematerial Name char(19). AS print 入库正进行,请稍后. if (.)
16、begin endGO30第六阶段q第六阶段(30分钟):q 利用SQL语句创建转帐事务的存储过程并测试q要求学生自己动手操作,教师解答学员提出的问题31阶段检查q针对第六阶段抽查学员的编码结果q抽查学生编写的完整代码,要求学生上台讲解,并演示运行结果q教师给出点评32第六阶段标准代码演示-1q 出入库事务的存储过程出入库事务的存储过程create procedure proc_material . AS begin tran print 开始,请稍后. . if (errors0) begin print 失败! rollback tran end else begin print 成功! commit tran endGO 33第七阶段q第七阶段(30分钟):q 利用SQL语句创建系统维护帐号并授权q要求学生自己动手操作,教师解答学员提出的问题34阶段检查q针对第七阶段抽查学员的编码结果q抽查学生编写的完整代码,要求学生上台讲解,并演示运行结果q教师给出点评35第七阶段标准代码演示-1q 添加系统维护帐号添加系统维护帐号sysAdmin,并授权,并授权-1.添加添加SQL登录帐号登