企业仓库管理系统数据库设计
Material_id ck_amout
Varch ar(6) float
Not null Null
8
问题分析-7
仓库信息表Store:
列名 数据类型 可否为空 说明
Stor_no
Stor_name Manager_no Stor_total Stor_area
9
Varchar( 2)
Varchar( 20) Varchar( 6) Int Float
Rk_amout float
6
问题分析-5
材料出库信息表Material_ck_1:
列名 数据类型 可否为 空 说明
Materialckd_no Varchar(7)
Getpeople ck_date ck_amout
Not
出库单号(主键),自动 产生,可修改
提货人 出库时间(系统自动入) 出库数量
17
阶段检查
针对第二阶段抽查学生的编码结果
老师给出点评或集中演示难点部分
18
第二阶段标准代码演示-1
建库
IF exists(SELECT * FROM sysdatabases WHERE name=„projectDB')
检验数据库是否存在,如果为 GO 真,删除此数据库 CREATE DATABASE projectDB ON
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 material GO
企业仓库管理系统 数据库设计
问题描述
某企业为实现现代化管理准备开发一套仓库管理系统, 实现如下功能: 1、材料情况登记(每一材料入库前的详细情况登记) 2、材料库存信息登记 3、材料入库信息登记
4、材料出库信息登记
5、仓库信息登记 现要求对“企业仓库管理系统”进行数据库的设计并实 现,数据库保存在D:\project目录下,文件增长率为 20% 。
难点分析-4
插入测试数据、常规业务模拟、创建索引视图部分
子查询: SELECT ....FROM … WHERE Material_name =(SELECT … FROM …) SQL编程: DECLARE @ Material_name char(6) 声明变量
SELECT @ Material_name = Material_name from ..where (Material_no =„XX')
23
第四阶段
第四阶段(60分钟): 利用SQL语句创建索引和视图 要求学生自己动手操作,教师解答学员提出的问 题
24
阶段检查
针对第四阶段抽查学员的编码结果 抽查学生编写的完整代码,要求学生上台讲解, 并演示运行结果 教师给出点评
25
第四阶段标准代码演示-1
创建视图:
.创建视图:查询各表要求字段全为中文字段名。 create VIEW view_material --材料信息表信息表视图(其他表同理) AS select Material_no as 材料, Material_name as 材料名称, Material_xh as 型号规 格, Material_manufacture as 生产厂家, Product_dw as 生产单位, Material_price as 参考价格 from material GO
建表:
USE projectDB GO 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) …… )
使用部门
仓库管理员号 审核人号,引用emp_no 是否审核,默认未审核 备注信息
问题分析-6
材料出库信息表Material_ck_2:
列名 数据类型 可否为 空 说明
Materialckd_ Varch no ar(7)
Not null
出库单号(主键一,外键),自 动产生,可修改,但要保证一次 出库单业务中的出库单号是一致 的 材料号(主键二、外键) 出库数量
3
Varchar(8) Money
Not null 单位(米、只、个) Null 参考价格(默认0)
问题分析-2
材料库存信息表Material_kc:
列名 数据类型 可否为空 说明
Material_id
Kc_balance Kc_amout
Varchar(6) Not Null
float float Null Null
CREATE PROCEDURE proc_takematerial @Name char(19)……. AS print '入库正进行,请稍后......' if (…..)
begin
…… end ……… GO
29
第六阶段
第六阶段(30分钟): 利用SQL语句创建转帐事务的存储过程并测试 要求学生自己动手操作,教师解答学员提出的问 题
Not null
仓库号(主键)
NOT Null 仓库名 NOT Null 负责人号,引用自yg表 中的”emp_no” Null 仓位数 Null 面积(平方米)
难点分析-1
设计ER图、建库、建表、加约束、建关系部分
建库语句:
CREATE DATABASE project DB ON (
建表语句:
14
第一阶段
第一阶段(45分钟)
利用PowerDesigner设计E-R图
要求学生自己动手操作,老师解答难点
15
阶段检查
针对第一阶段抽查学生的操作结果 老师给出点评或集中演示难点部分
16
第二阶段
第二阶段(60分钟)
利用SQL语句实现建库、建表、加约束、建关系
要求学生自己动手编写SQL语句,老师解答学生 提出的问题
材料号(主键,外键)
期初余额 现有库存
Kc_pc
Kc_pcyk Kc_pctime Stor_no
float
float Datetime
Null
Null Null
盘库数量
盘库盈亏(=盘库数量-现 有库存) 盘库时间(盘库时系统自 动产生,不能修改) 仓库号(外键) 在途数量,默认为0
Varchar(2) Not null Null
30
阶段检查
针对第六阶段抽查学员的编码结果 抽查学生编写的完整代码,要求学生上台讲解, 并演示运行结果 教师给出点评
31
第六阶段标准代码演示-1
视图: 给变量赋值的两种方法:SELECT或SET CREATE VIEW view_userInfo
AS
…--SQL语句 GO
12
测试视图: SELECT .. FROM view_userInfo …
难点分析-6
存储过程部分1:
创建存储过程:
CREATE PROCEDURE proc_takeproduct @ID char(8), @type char(4) , AS …..—SQL语句 GO
2
问题分析-1
材料信息表material :
列名 数据类型 可否为空 说明
Not null 材料号(主键),自 动产生,可修改 Material_name Varchar(20) Not null 材料名称 Material_no Varchar(6) Material_xh Varchar(6) null 型号规格 生产厂家 Material_manuf Varchar(20) Null acture Product_dw Material_price
Varchar(10) Null Datetime float Varchar(6) Varchar(6) bit Text Null Null Not Null Null Null
user_dept
Cgpeople_no audit_no Has_Audited Ck_memo
7
Varchar(20) Null
20
GO
第三阶段
第三阶段(45分钟):
利用SQL语句实现插入测试数据、常规业务操作
要求学生自己动手操作,教师解答学员提出的问 题
21
阶段检查
针对第三阶段抽查学生的编码结果 抽查学生编写的完整代码,要求学生上台讲解, 并演示运行结果 教师给出点评
22
第三阶段标准代码演示-1
部门A和部门B信息登记:
CREATE TABLE 表名 (
Material_no IDENTITY(1,1),
NAME=ቤተ መጻሕፍቲ ባይዱ…',
FILENAME=…', SIZE=…, FILEGROWTH=… ) LOG ON (…. )
10
Material_name CHAR(8) NOT NULL,
….. )
难点分析-2
设计ER图、建库、建表、加约束、建关系部分
( NAME=„projectDB_data', SIZE=1mb, 创建建库projectDB