库存管理数据库模型

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

库存管理数据库模型

一、需求分析阶段

进行数据库设计首先必须准确了解与分析用户需求(包括数据与处理),需求分析是整个设计过程的基础。

1、信息需求

随着计算机的不断普及和现代管理的发展,库存工作已表现出越来越多的管理问题。库存管理中原来的手工管理方法已不能适应生产实际的需要,造成库存积压、物资较多、反应迟缓、流动资金周转较慢,但是微机数据库是单机操作,信息利用率不高,无法实现资源共享,数据唯一;而且原始凭证繁多,工作效率低,无法适应现代化库存管理的需要。为了及时地掌握库存动态信息,做到资源共享,数据唯一,调节供应与需求的关系,实现库存的最佳控制,加速资金周转;计算机正在逐步代替人力,服务于生产型、销售型等企业里面。为此,就必须先进行库存管理的数据库模型设计。本文设计的数据库模型包括材料的入库和出库,仓库工作人员的权限管理等。

2、处理要求

能够进行数据库的数据定义、数据操纵、数据控制等处理功能。

3、安全性与完整性要求

二、概念结构设计阶段

概念结构设计阶段是整个数据库设计的关键,它通过对用户需求进行综合、归纳与抽象,形成一个独立于具体DBMS之外的概念结构模型。

设计数据库kcm,分析实体有:仓库,材料,仓库工作人员;分析具体的联系有:入库,出库;画出E-R图如下:

说明:图中略去了入库出库的属性

三、逻辑结构设计阶段

逻辑结构是独立于任何一种数据模型的信息结构。逻辑结构的任务是把概念结构设计阶段设计好的基本E-R图转化为宜选用的DBMS所支持的数据模型相符合的逻辑结构,并对其进行优化。

E-R图向关系模型转化要解决的问题是如何将实体型和实体间的联系转化为关系模式,如何确定这些关系模式的属性和码。

根据实体和联系各自转化为一个关系模式的原则,得到库存管理数据库关系模式以及数据字典如下:

仓库表(仓库号,最大库存)

材料表(材料编号,材料名称,备注)

仓库工作人员(人员编号,姓名,密码,家庭地址,电话,备注)

库存表(材料编号,仓库号,库存数量)

入库表(入库单编号,仓库号,进货日期,供货单位,入库数量,材料编号,进货单价,检验员,记账员)

出库表(出库单编号,仓库号,出库日期,使用部门,领料用途,材料编号,实发数量,领

料员,备注)

入库表

库存表

向Kcm数据库输入数据如下:

材料信息表

人员信息表

出库单信息表

四、物理设计阶段

五、数据库实施阶段

在数据库实施阶段,设计人员运用DBMS提供的数据库语言(如SQL)及其宿主语言,根据逻辑设计和物理设计的结果建立数据库,编制与调试应用程序,组织数据入库,并进行试运行。

1、创建数据库

create database kcm

2、创建数据库中的表

(1)创建材料表

create table cailiaobiao (clbh varchar(20) primary key,

Cname varchar(20) not null,

Beizhu varchar(100) ,

)

(2)创建仓库表

create table cangkubiao (ckh varchar(20) primary key,

MaxQuantities int(20) not null

)

(3)创建人员表

Create table Renyuan (

Userbianhao varchar(20) primary key,

Name varchar(20) not null unique,

PassWord char(20) not null,

Adress char(70),

Tel char(20),

Beizhu char(200)

)

(4)、创建库存表

Create table kucunbiao (

clbh varchar(20) primary key,

ckh varchar(20) not null ,

kcsl numeric(9) not null

)

(5)、创建出库表

create table chukubiao (Ckdbh varchar(20) primary key,

Ckdate datetime not null,

Userdept varchar(20) not null,

Usewhat varchar(70) not null,

clbh varchar(20) not null,

sfsl int not null,

lly varchar(20) not null,

jzy varchar(20) not null,

beizhu varchar(100)

由于出库和入库的建表语句类似,所以在这里略去入库的建表语句。

六、数据库运行和维护阶段

此阶段主要包括以下四个部分:

数据定义:基本表的创建、修改及删除;索引的创建和删除;视图的创建和删除数据操作:数据查询、数据插入、数据更新

数据安全性操作

数据完整性操作

1、数据查询操作

(1)、查询有检验员张三经手的002材料的入库情况

select *

from rukubiao

where clbh='002' and jyy='张三'

运行结果:

R201002

1 2010-02-24 00:00:00.000 天津红十字厂80 00

2 2 张三李四NULL (2)、查询库存数量小于500的材料的名字

select Cname 材料名

from kucunbiao,cailiaobiao

where kucunbiao.clbh=cailiaobiao.clbh and

kcsl <500

运行结果:塑料

钢管

(3)、查询入库单标号为R201002的材料的现有库存数量(嵌套查询)

select kcsl 库存数量

from kucunbiao

where clbh=(

select clbh

from rukubiao

where rkdbh='R201002')

运行结果:500

(4)、查询家在河北的仓库工作人员,并按照姓名排序。

select *

from Renyuan

where Adress='河北'

order by Name

运行结果:

081102 李四081102 河北159******** 发料员

081103 马武081103 河北137******** 领料员

081101 张三081101 河北150******** 仓库管理员

2、创建索引和视图,提高查询效率,保证数据库的安全性。

(1)、基于人员表(表名:Renyuan)索引的创建与删除

查找约束名:sp_help Renyuan

删除主键约束:alter table Renyuan

drop constraint pk_name

添加主键约束:alter table Renyuan

add constraint PK_Ren primary key(Userbianhao) 在Name属性上创建唯一聚簇索引:

Create unique clustered index UserName_ind on Renyuan (Name) 删除该索引:Drop index erName_ind

相关文档
最新文档