当前位置:文档之家› 仓库数据库设计

仓库数据库设计

仓库管理系统数据库设计
一、需求分析
1.1设计背景
随着经济的飞速发展,仓库管理变成了各大公司日益重要的内容。

仓库管理过程的准确性和高效性至关重要。

影响着公司的经济发展和管理。

利用人工管理强大而数据烦琐的数据库显的效率过于低。

利用计算机高效、准确的特点能够很好的满足公司的管理需要。

提高公司各个员工的工作效率和公司的运做效率。

利用计算机对仓库数据信息进行管理具有着手工管理所无法比拟的优点。

目前一个现代化的仓库管理系统已经成为仓库管理不可缺少的管理手段。

1.2主要功能
它包括了仓库信息、货物信息、货主信息、提货人信息、入库信息、出库信息等内容。

在操作上,它集输入、查询、统计和各种处理为一体,信息导入导出可实现信息备份,灵活、专业的报表设计,形象、增强的数据处理,完美的信息图形分析,用户可自定义自开发等功能。

1.3数据项及数据结构
通过对仓库管理工作过程的内容和数据流图分析,设计如下面的数据项和数据结构。

注:单下划线表示主码,双下划线表示外码。

1.仓库信息(仓库号,仓库容量,货物号)
2.货物信息(货物号,名称,数量)
3.货主信息(货主编号,货主姓名,货主电话)
4.取货人信息(取货人编号,取货人姓名,取货人电话,取货人地址)
5.入库信息(货物号,仓库号,货主编号,入库时间,入库价格,入库数量)
6.出库信息(货物号,仓库号,取货人编号,出库数量,出库价格,出库时间)
二、概念结构设计
根据上面设计规划出的实体,我们对各个实体具体的描述E-R图如下:
仓库
仓库号仓库容量货物号
2.1仓库实体E-R图
2.2货物实体E -R 图
2.3货主实体E -R 图
2.4取货人实体E -R 图
2.5入库信息实体E -R 图
货物
货物号 名称
数量
货主
货主编号 货主姓名
货主电话
取货人信息
取货人编号
取货人姓名 取货人电话
取货人地址
入库信息
货物号
仓库号 货主编号
入库数量
入库价格
入库时间
2.6出库信息实体E -R 图
2.7完整实体E -R 图
三、 逻辑结构设计
E-R 图向关系模型的转换
关系模型的逻辑结构是一组关系模式的集合。

E-R 图则是由实体,实体的属性和实体间的联系三个要素组成。

所以将E-R 图转换为关系模型实际上就是要将实体,实体的属性和实体间的联系转换为关系模式。

转换原则如下。

出库信息
货物号
仓库号 取货人编号
出库数量
出库价格
出库时间
货 主
提供
货 物
出库
入库
仓 库
管理员 管理
取货人 取货
n
m
n
m m m
n
n
m
n
1. 实体类型的转换:一个实体型转换成一个关系模式。

实体的属性就是关系的属性,实体的码就是关系的码。

2.联系类型的转换,根据不同的情况做不同的处理。

⑴一个1:1的联系可以转换为一个独立的关系模式,也可以与任意一端对应的关系模式合并。

如果转换为一个独立的关系模式,则与该联系相连的各实体的码以及联系本身的属性均转换为关系的属性,每个实体的码均是该关系的候选码。

如果与某一端实体对应的关系模式合并,则需要在该关系模式的属性中加入另一个关系模式的码和联系本身的属性。

⑵一个1:N的联系可以转换为一个独立的关系模式,也可以与N端对应的关系模式合并。

如果转换为一个独立的关系模式,则与该联系相连的各实体的码以及联系本身的属性均转换为关系的属性,而关系的码为N端实体的码。

⑶一个M:N联系转换为一个关系模式。

与该联系相连的各实体的码为各实体码的组合。

⑷三个或三个以上实体间的一个多元联系可以转换为一个关系模式。

与该多元联系相连的各实体的码以及联系本身的属性均转换为关系的属性,而关系的码为各实体码的组合。

⑸具有相同码的关系模式可合并。

3.1.货主信息表
3.2.货物信息表
3.3.仓库信息表
3.4.取货人信息表
3.5.入库信息表
3.6.出库信息表
四、数据库实施
根据以上的逻辑分析所得到表的关系,我们使用T-SQL语言设计得到数据库和数据表
4.1基本表的创建,建表语句
1.create database WareHouse;
use WareHouse;
2.create table HuoZhu(
HZnumber char(10) primary key,
HZname char(50) not null,
phone_number char(16));
HWnumber char(10) primary key,
HWname char(50) not null,
counts char(50) not null
);
4.create table TiHuo(
THnumber char(10) primary key,
THname char(50) not null,
THphone char(10),
address char(50)
);
5.create table CangKu(
CKnumber char(10) primary key,
HWnumber char(10),
size int,
constraint CK_HW_n foreign key(HWnumber) references HuoWu(HWnumber)
);
HWnumber char(10) not null,
CKnumber char(10),
THnumber char(10) not null,
In_time char(30) not null,
Inprice char(8) not null,
Incount int not null,
constraint In_HW_n foreign key(HWnumber) references HuoWu(HWnumber),
constraint In_CK_n foreign key(CKnumber) references CangKu(CKnumber),
constraint In_TH_n foreign key(THnumber) references TiHuo (THnumber)
);
7.create table Out_WH(
HWnumber char(10) not null,
CKnumber char(10),
THnumber char(10) not null,
Out_time char(20) not null,
Outprice char(8) not null,
Outcount int not null,
constraint Out_HW_n foreign key(HWnumber) references HuoWu(HWnumber),
constraint Out_CK_n foreign key(CKnumber) references CangKu(CKnumber),
c onstraint Out_TH_n foreign key(THnumber) references TiHuo (THnumber)
);。

相关主题