设计报告
名称: 仓库管理系统
专 业:
班 级:
学生姓名:
学 号:
一、业务流程描述
审核人员负责对产品入库单.出库单进行审核,检查入库单和出库单填写的形式是否符和要求,产品实际入库数量和金额与入库单上填写的数据是否一致,出库单上填写的出库数量是否大于产品实际库存量等。不合格的单据分别返回车间和销售科,合格的单据转给记账员登记入库。记账员依据合格的入库单和出库单等级产品出入库台账,记录每一笔出入库业务。统计员根据库存台账定期分析各种产品每日,每月出入库数量等综合数据,也可进行库存数据的随机查询等。
二、业务流程图或数据流程图
三、E-R图
四、逻辑结构设计(关系模式)
货物表(货物编号,货物名称,价格,数量,客户编号#)
主键为货物编号,外键引用客户表的客户编号
供应商表(供应商编号,供应商名称,联系人,地址,电话号码)
主键为供应商编号
仓库管理员表(管理员编号,管理员姓名)
主键为管理员编号
仓库表(仓库编号,仓库名称,仓库面积,管理员编号#)
主键为仓库编号,外键引用仓库管理员表的管理员编号
客户表(客户编号,客户姓名,性别,电话)
主键为客户编号
供应表(货物编号,供应商编号)
主键为货物编号,供应商编号。外键引用货物表的货物编号和供应商表的供应商编号
存储表(货物编号,仓库编号)
主键为货物编号,仓库编号。外键引用货物表的货物编号和仓库表的仓库编号
五、物理模型设计
供应商表
列名 | 含义 | 长度 | 类型 | NULL | DEFAULT |
SID | 供应商编号 | 8 | Varchar() | No | No |
Sname | 供应商名称 | 20 | VarChar() | No | No |
Scon | 联系人 | 6 | VarChar() | No | No |
Sdr | 地址 | 30 | VarChar() | Yes | No |
Stele | 电话号码 | 15 | VarChar() | No | 每位都是0-9 |
列名 | 含义 | 长度 | 类型 | NULL | DEFAULT |
GID | 货物编号 | 8 | varchar() | No | No |
Gname | 货物名称 | 20 | VarChar() | No | No |
Gnum | 数量 | 8 | VarChar() | No | 大于等于1 |
GPrice | 价格 | 8 | VarChar() | No | No |
CID | 客户编号 | 8 | varchar() | No |
列名 | 含义 | 长度 | 类型 | NULL | DEFAULT |
CID | 客户编号 | 8 | varchar() | No | No |
Cname | 客户姓名 | 8 | VarChar() | No | No |
Csex | 性别 | 6 | VarChar() | Yes | No |
Ctele | 电话 | 15 | VarChar() | No | 每位都是0-9 |
列名 | 含义 | 长度 | 类型 | NULL | DEFAULT |
MID | 管理员编号 | 8 | Varchar() | No | No |
Mname | 管理员姓名 | 8 | VarChar() | No | No |
列名 | 含义 | 长度 | 类型 | NULL | DEFAULT |
WID | 仓库编号 | 8 | varchar() | No | No |
Wname | 仓库名称 | 20 | VarChar() | No | No |
Wsq | 仓库面积 | 6 | VarChar() | Yes | No |
MID | 管理员编号 | 8 | Varchar() | No | No |
列名 | 含义 | 长度 | 类型 | NULL | DEFAULT |
GID | 货物编号 | 8 | varchar() | No | No |
SID | 供应商编号 | 8 | Varchar() | No | No |
列名 | 含义 | 长度 | 类型 | NULL | DEFAULT |
GID | 货物编号 | 8 | varchar(8) | No | No |
WID | 仓库编号 | 8 | varchar(8) | No | No |
1. 创建数据库
Create database 仓库管理系统
Go
Use仓库管理系统
Go
2.创建数据表
(含主键、外键定义及约束性条件设计)
create table 供应商表
(SID varchar(8) primary key,
Sname Varchar(20) not null,
Scon varchar(6) not null,
Sdr Varchar(30),
Stele varchar(15) check(Stele like '[0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9]')
)
create table 仓库管理员表
(MID varchar(8) primary key,
Mname varchar(8) not null
)
create table 仓库表
(WID varchar(8) primary key,
WName varchar(20) not null,
Wsq varchar(6),
MID varchar(8)not null,
foreign key (MID) references 仓库管理员表(MID)
)
create table 客户表
(CID varchar(8) primary key,
Cname varchar(8) not null,
Csex varchar(6),
Ctele varchar(15)check(Ctelelike '[0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9]')
)
create table 货物表
(GID varchar(8) primary key,
Gname varchar(20) not null,
Gnum varchar(8) check(Gnum>=1),
Gprice varchar(8),
CID varchar(8) not null,
foreign key (CID) references 客户表(CID)
)
create table 供应表
(GID varchar(8) not null,
SID varchar(8) not null,
primary key(GID,SID),
foreign key (GID) references 货物表(GID),
foreign key (SID) references 供应商表(SID)
)
create table 存储表
(GID varchar(8) not null,
WID varchar(8) not null,
primary key(GID,WID),
foreign key (GID) references 货物表(GID),
foreign key (WID) references 仓库表(WID)
)
3.插入数据
insert into 供应商表 values('S1','服装供应商','Jack',null,'12223333')
insert into 供应商表 values('S2','食品供应商','James',null,'33332222')
insert into 供应商表 values('S3','摩托车供应商','Jerry',null,'44443333')
insert into 供应商表 values('S4','盆栽供应商','Tom',null,'55553332')
insert into 供应商表 values('S5','图书供应商','Mary',null,'53097652')
insert into 仓库管理员表 values('M1','Mike')
insert into 仓库管理员表 values('M2','Harris')
insert into 仓库管理员表 values('M3','Steven')
insert into 仓库管理员表 values('M4','Jeremy')
insert into 仓库管理员表 values('M5','Jackson')
insert into 仓库表 values('W1','一号仓库','100','M1')
insert into 仓库表 values('W2','二号仓库','100','M2')
insert into 仓库表 values('W3','三号仓库','100','M3')
insert into 仓库表 values('W4','四号仓库','100','M4')
insert into 仓库表 values('W5','五号仓库','100','M5')
insert into 客户表 values('C1','John','男','11112222')
insert into 客户表 values('C2','Johnson','男','33332222')
insert into 客户表 values('C3','Stella','女','22223332')
insert into 客户表 values('C4','Byran','男','93847301')
insert into 客户表 values('C5','Eric','男','98762234')
insert into 货物表 values('G1','衣服','500','300','C1')
insert into 货物表 values('G2','食物','300','35','C2')
insert into 货物表 values('G3','摩托车','200','3000','C3')
insert into 货物表 values('G4','植物','700','200','C4')
insert into 货物表 values('G5','图书','5000','150','C5')
insert into 供应表 values('G1','S1')
insert into 供应表 values('G2','S2')
insert into 供应表 values('G3','S3')
insert into 供应表 values('G4','S4')
insert into 供应表 values('G5','S5')
insert into 存储表 values('G1','W1')
insert into 存储表 values('G2','W2')
insert into 存储表 values('G3','W3')
insert into 存储表 values('G4','W4')
insert into 存储表 values('G5','W5')
4.创建视图
(含单表和多表查询)
create view V1
AS
select GID,GName,CName from 客户表 join 货物表 on 客户表.CID=货物表.CID
create view V2
AS
select Gname from 货物表
5.创建触发器或存储过程
create procedure chufaqi AS
select * from 供应商表
七、参考文献
(至少三本)
[1]《数据库原理及应用》何玉洁,麦中凡 人民邮电出版社,2008年5月第一版
[2]《数据库程序设计教程》 作者:单世民 赵明砚 出版社:清华大学出版社
[3]《数据库设计与实现》 作者:韩洁琼 陈雪梅 出 版 社:清华大学出版社
八、设计心得和体会
(需要描述个人在小组设计中承担的任务和完成情况;个人小结) |
数据库应用课程设计评分表 | |||||
序号 | 项目 | 配分 | 得分 | ||
1 | 考勤及参与度 | 30 | |||
2 | 数据库设计报告(40分) | ||||
(1) | 业务流程描述情况 | 5 | |||
(2) | E-R图设计情况(至少5个实体且包含多多关系) | 10 | |||
(3) | 逻辑结构设计 | 5 | |||
(4) | 物理结构设计 | 5 | |||
(5) | 主码、外码、约束条件设计 | 3 | |||
(6) | 插入数据的SQL语句(每表至少5条记录) | 2 | |||
(7) | 索引是否建立 | 1 | |||
(8) | 单表查询是否建立 | 2 | |||
(9) | 多表查询是否建立 | 2 | |||
(10) | 视图是否建立 | 1 | |||
(11) | 触发器或存储过程 | 3 | |||
(12) | 参考文献是否3本及以上 | 1 | |||
3 | 作品设计(30分) | ||||
(1) | 存储有模拟数据的数据库 | 10 | |||
(2) | 小组成果展示及回答问题情况 | 20 | |||
4 | 合计总分 |
日期: 年 月 日