数据库课设库存管理系统_第1页
数据库课设库存管理系统_第2页
数据库课设库存管理系统_第3页
数据库课设库存管理系统_第4页
数据库课设库存管理系统_第5页
已阅读5页,还剩21页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

数据库课程设计超市物流管理系统课 程 设 计 课程名称 数据库系统概论 题目名称 库存管理系统 学生学院 计算机学院 专业班级学 号 学生姓名 指导教师 左亚尧 2012年 1 月 16 日目 录一、系统定义5二、需求分析5三、系统设计.6四、详细设计11五、课程设计总结26一、系统定义仓库存放的货物品种繁多,堆存方式以及处理过程也非常复杂,随着业务量的增加,仓库管理者需要处理的信息量会大幅上升,因此往往很难及时准确的掌握整个仓库的运作状态。针对这一情况,本系统在满足仓库的基本管理功能基础上发挥信息系统的智能化,减轻仓库管理人员和操作人员的工作负担。系统主要的实现目标是监控整个仓库的运转情况;提供完善的出入库登记功能且拥有便捷的查询功能。二、需求分析(一)系统综合需求系统开发的总体任务是实现全面管理仓库中存储的商品和货物,缩短了库存信息流转时间,使企业的物料管理层次分明、井然有序、为采购、销售、和生产提供依据,从而提高企业的经营效率。(二) E-R图如下采购员报损单销售员货物供应商仓位采购入库报损定单出库存储MNNN1MNMMNNPP客户PPM该ER图有7个实体类型,其结构如下:货物(货物代码,型号,名称,形态,最低库存量,最高库存量)采购员(采购员号,姓名,性别,业绩)供应商(供应商号,名称,地址)销售员(销售员号,姓名,性别,业绩)客户(客户号,名称,地址,账号,税号,联系人)仓位(仓位号,名称,地址,负责人)报损单(报损号,数量,日期,经手人)实体间联系类型有6个,其中1个1:N联系,1个M:N联系,4个M:N:P联系。其中联系的属性如下。入库(入库单号,日期,数量,经手人)出库(出库单号,日期,数量,经手人)存储(存储量,日期)定单(定单号,数量,价格,日期)采购(采购单号,数量,价格,日期)ER图中有7个实体类型,可转换成7个关系模式,另外ER图中有1个M:N联系和4个M:N:P联系,也将转换成5个关系模式。因此,图5.15的ER图可转换成12个关系模式,具体如下:货物(货物代码,型号,名称,形态,最低库存量,最高库存量)采购员(采购员号,姓名,性别,业绩)供应商(供应商号,名称,地址)销售员(销售员号,姓名,性别,业绩)客户(客户号,名称,地址,账号,税号,联系人)仓位(仓位号,名称,地址,负责人)报损单(报损号,数量,日期,经手人,货物代码)入库(入库单号,日期,数量,经手人,供应商号,货物代码,仓位号)出库(出库单号,日期,数量,经手人,客户号,货物代码,仓位号)存储(货物代码,仓位号,日期,存储量)定单(定单号,数量,价格,日期,客户号,货物代码,销售员号)采购(采购单号,数量,价格,日期,供应商号,货物代码,采购员号)三、系统设计1. 数据流程图根据系统功能的要求,可以将系统分解成几个功能模块来分别设计,功能模块如图2-1所示:库存操作管理用户信息管理基本信息管理仓库信息管理产品信息管理客户信息管理产品信息管理入库操作管理出库操作管理库存盘点管理库存管理系统(三)数据库与数据表设计 物理结构设计在SQL数据库中需要建立12个数据表:货物表、采购员表、供应商表、销售员表、客户表、仓位表、报损单表、入库表、出库表、存储表、订单表、采购表。1.数据库与数据表设计(1)、货物表:use 库存管理系统create table 货物(货物代码 char(13) primary key,型号 char(6) not null,名称 char(6) not null,库存量 int not null,)(2)、采购员表:create table 采购员(采购员号 char(9) primary key,姓名 char(8) not null,性别 char(4) CHECK(性别 IN(男,女) not null,业绩 smallint not null,)(3)销售员表:create table 销售员(销售员号 char(8) primary key,姓名 char(8) not null,性别 char(4) CHECK(性别 IN(男,女) not null,业绩 smallint not null)(4)、供应商表:create table 供应商(供应商号 char(6) primary key,名称 char(10) not null,地址 char(20) not null)(5)、客户表:create table 客户(客户号 smallint primary key,名称 char(10) not null,地址 char(12) not null,账号 char(12) not null,联系人 char(8) not null)(6)、仓位表:create table 仓位(仓位号 smallint primary key,名称 char(8) not null,地址 char(12) not null,负责人 char(8) not null)(7)、报损单表:create table 报损单(包损号 smallint primary key,数量 int not null,日期 char(10) not null,经手人 char(8) not null,货物代码 char(13) not null,foreign key (货物代码) references 货物(货物代码)(8)、入库表:create table 入库(入库单号 smallint primary key,日期 char(10) not null,数量 int not null,经手人 char(8) not null,供应商号 char(6) not null,货物代码 char(13) not null,仓位号 smallint not null,foreign key (供应商号) references 供应商(供应商号),foreign key (货物代码) references 货物(货物代码),foreign key (仓位号) references 仓位(仓位号)(9)、出库表:create table 出库(出库单号 smallint primary key,日期 char(10) not null,数量 int not null,经手人 char(8) not null,客户号 smallint not null,货物代码 char(13) not null,仓位号 smallint not null,foreign key (客户号) references 客户(客户号),foreign key (货物代码) references 货物(货物代码),foreign key (仓位号) references 仓位(仓位号)(10)、存储表:create table 存储(货物代码 char(13) not null,仓位号 smallint not null,日期 char(10) not null,存储量 int not nullprimary key(货物代码,仓位号,日期),foreign key (货物代码) references 货物(货物代码),foreign key (仓位号) references 仓位(仓位号)(11)、订单表create table 订单(订单号 char(12) primary key,数量 int not null,单价 int not null,日期 char(10) not null,客户号 smallint not null,货物代码 char(13) not null,销售员号 char(8) not null,foreign key (客户号) references 客户(客户号),foreign key (销售员号) references 销售员(销售员号),foreign key (货物代码) references 货物(货物代码)(12)、采购表create table 采购(采购订单 int primary key,数量 int not null,单价 int not null,日期 char(10) not null,供应商号 char(6) not null,货物代码 char(13) not null,采购员号 char(9) not null,foreign key (供应商号) references 供应商(供应商号),foreign key (采购员号) references 采购员(采购员号),foreign key (货物代码) references 货物(货物代码)2.数据完整性设计1)给每个表实施主键、外键约束。货物:货物代码为主键,所有键都非空;采购员:采购员号为主键,所有键都非空;供应商:供应商号为主键,所有键值都非空;客户:客户号为主键,所有键值都非空;仓位:仓位号为主键,所有键值都非空;报损单:报损号为主键,货物代码为外键,所有键值都非空;入库:入库单号为主键,供应商号、货物代码、仓位号为外键,所有键值都非空;出库:出库单号为主键,客户号、货物代码、仓位号为外键,所有键值都非空;存储:货物代码、仓位号、日期为主键,货物代码、仓位号为外键,所有键值都非空;订单:订单号为主键,客户号、货物代码、销售员号为外键,所有键值都非空;采购:采购单号为主键,供应商号、货物代码、采购员号为外键,所有键值都非空;2)实施CHECK约束采购员表、销售员表中建立一个检查约束,即员工性别不是男就是女CHECK(性别 IN(男,女)四、详细设计(一)建数据库工资管理库create database 库存管理系统on primary(name=库存管理系统,filename=D:数据库课程设计库存管理系统.mdf, size=30mb, filegrowth=20%)log on(name=库存管理系统_log,filename=D:数据库课程设计库存管理系统.ldf, size=3mb, filegrowth=1mb)(二)建表货物表、采购员表、供应商表、销售员表、客户表、仓位表、报损单表、入库表、出库表、存储表、订单表、采购表。(1)、货物表:use 库存管理系统create table 货物(货物代码 char(13) primary key,型号 char(6) not null,名称 char(6) not null,库存量 int not null,)(2)、采购员表:create table 采购员(采购员号 char(9) primary key,姓名 char(8) not null,性别 char(4) CHECK(性别 IN(男,女) not null,业绩 smallint not null,)(3)销售员表:create table 销售员(销售员号 char(8) primary key,姓名 char(8) not null,性别 char(4) CHECK(性别 IN(男,女) not null,业绩 smallint not null)(4)、供应商表:create table 供应商(供应商号 char(6) primary key,名称 char(10) not null,地址 char(20) not null)(5)、客户表:create table 客户(客户号 smallint primary key,名称 char(10) not null,地址 char(12) not null,账号 char(12) not null,联系人 char(8) not null)(6)、仓位表:create table 仓位(仓位号 smallint primary key,名称 char(8) not null,地址 char(12) not null,负责人 char(8) not null)(7)、报损单表:create table 报损单(包损号 smallint primary key,数量 int not null,日期 char(10) not null,经手人 char(8) not null,货物代码 char(13) not null,foreign key (货物代码) references 货物(货物代码)(8)、入库表:create table 入库(入库单号 smallint primary key,日期 char(10) not null,数量 int not null,经手人 char(8) not null,供应商号 char(6) not null,货物代码 char(13) not null,仓位号 smallint not null,foreign key (供应商号) references 供应商(供应商号),foreign key (货物代码) references 货物(货物代码),foreign key (仓位号) references 仓位(仓位号)(9)、出库表:create table 出库(出库单号 smallint primary key,日期 char(10) not null,数量 int not null,经手人 char(8) not null,客户号 smallint not null,货物代码 char(13) not null,仓位号 smallint not null,foreign key (客户号) references 客户(客户号),foreign key (货物代码) references 货物(货物代码),foreign key (仓位号) references 仓位(仓位号)(10)、存储表:create table 存储(货物代码 char(13) not null,仓位号 smallint not null,日期 char(10) not null,存储量 int not nullprimary key(货物代码,仓位号,日期),foreign key (货物代码) references 货物(货物代码),foreign key (仓位号) references 仓位(仓位号)(11)、订单表create table 订单(订单号 char(12) primary key,数量 int not null,单价 int not null,日期 char(10) not null,客户号 smallint not null,货物代码 char(13) not null,销售员号 char(8) not null,foreign key (客户号) references 客户(客户号),foreign key (销售员号) references 销售员(销售员号),foreign key (货物代码) references 货物(货物代码)(12)、采购表create table 采购(采购订单 int primary key,数量 int not null,单价 int not null,日期 char(10) not null,供应商号 char(6) not null,货物代码 char(13) not null,采购员号 char(9) not null,foreign key (供应商号) references 供应商(供应商号),foreign key (采购员号) references 采购员(采购员号),foreign key (货物代码) references 货物(货物代码)(三)视图(1)、建立订单情况视图:create view 订单视图asselect 订单号,客户号,货物代码,数量,单价,日期from 订单with check option(2)、建立采购员业绩视图create view 采购员业绩视图asselect 采购员号,姓名,业绩from 采购员(3)、建立销售员业绩视图create view 销售员业绩视图asselect 销售员号,姓名,业绩from 销售员(四)存储过程(1)指定销售员业绩情况的查询定义一个名为某个销售员业绩的存储过程,该存储过程以销售员号(销售员号 char(8))为输入参数返回指定销售员业绩信息的存储过程。某个销售员业绩代码如下:create proc 某个销售员业绩销售员号 char(8)asselect 姓名,业绩from 销售员where 销售员号=销售员号(2)指定采购员业绩情况的查询定义一个名为某个采购员业绩的存储过程,该存储过程以销售员号(采购员号 char(9))为输入参数返回指定采购员业绩信息的存储过程。某个采购员业绩代码如下:create proc 某个采购员业绩采购员号 char(9)asselect 姓名,业绩from 采购员where 采购员号=采购员号(五)运行和维护1. 关系图的建立 使用SQL Server 2008的企业管理器创建库存管理系统关系图库存管理系统的关系图 2简单查询1) 货物基本信息情况 代码如下:select * from 货物2)采购员基本信息情况;代码如下: select * from 采购员3)供应商基本信息情况:代码如下:select * from 供应商4)销售员基本情况:代码如下:select * from 销售员5)客户基本情况:代码如下:select * from 客户6)仓位基本情况:代码如下:select * from 仓位7)报损单基本情况:代码如下:select * from 报损单8)入库基本情况:代码如下:select * from 入库9)出库基本情况:代码如下:select *

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论