数据库系统原理课程设计说明书.docx
- 文档编号:11709021
- 上传时间:2023-03-30
- 格式:DOCX
- 页数:20
- 大小:250.71KB
数据库系统原理课程设计说明书.docx
《数据库系统原理课程设计说明书.docx》由会员分享,可在线阅读,更多相关《数据库系统原理课程设计说明书.docx(20页珍藏版)》请在冰豆网上搜索。
数据库系统原理课程设计说明书
课程设计任务书
学生姓名:
张军专业班级:
计算机0506班
指导教师:
彭德巍工作单位:
计算机科学与技术学院
题目:
仓库管理数据库设计
初始条件:
某供应部门管理多个仓库,仓库主要管理物资的入库、出库、库存和采购等事项。
要求完成的主要任务:
1.根据上述的初始条件,进行调查分析并设计适当的属性。
设计一个仓库数据库,DBMS可选MsSQLServer、Access、VFP等。
2.完成课程设计说明书,其格式遵守学校今年的新规定。
主要内容包括:
需求分析,概念设计,逻辑设计,物理实现等。
3.基于该数据库,最好实现一个或多个应用程序(自己确定功能),程序设计语言(工具)任选。
这一项是选作,不作硬性要求。
时间安排:
本学期第19周:
1.消化资料、系统调查1天
2.系统分析1天
3.总体设计,实施计划2天
4.撰写报告1天
指导教师签名:
年月日
系主任(或责任教师)签名:
年月日
原创声明:
本实验编写过程历时四天,对课本的部门例题有所借鉴,但绝对原创。
仓库管理数据库设计
1概述
1.1设计题目
某供应部门管理多个仓库,仓库主要管理物资的入库、出库、库存和采购等事项,建立一个数据库,实现前述要求的功能。
要求:
1、管理的物资为设备
2、同一种设备可以存放在不同的仓库
3、设备的入库与出库只能是部门为操作单位
4、设备的采购由采购部门统一采购并分配到仓库
1.2可行性分析
1.2.1技术可行性
根据客户提出的系统功能、性能及实现系统的各项约束条件,根据新系统目标来衡量所需的技术是否具备,本系统是一个数据库管理和查询的系统,现有的技术以较为成熟,硬件、软件的性能要求、环境条件等各项条件良好,估计利用现有技术条件应完全可以达到该系统的功能目标。
同时考虑给予的开发期限也较为充裕,预计系统是可以在规定期限内完成开发。
1.2.2经济可行性
估算新系统的成本效益分析,其中包括估计项目开发的成本,开发费用和今后的运行、维护费用,估计新系统将获得的效益,估算开发成本是否回高于项目预期的全部经费。
并且,分析系统开发是否会对其它产品或利润带来一定影响。
(1)支出
·基础投资:
硬件设备:
PC机
软件设备:
WINDOWS98/2000/XP、VC6.0、WORD2003
·其它一次性支出:
软件设计和开发费用
·经常性支出:
软件维护费用、软件使用费用。
(2)效益
系统的效益可以从经济效益和社会效益两方面考虑。
对于仓库管理系统则应着重分析其社会效益。
例如,系统投入运行后可以使仓库管理实现科学化、规范化。
曾强了工作人员对仓库管理能力、提高了工作效率。
1.2.3运行可行性
新系统的研制和开发是充分得考虑工作人员对仓库的易于管理,管理者方便查询设备信息效率。
从而能完全满足使用者的要求。
1.2.4法律可行性
新系统的研制和开发,将不会侵犯他人、集体和国家的利益,不会违反国家政策和法律。
2系统目标与建设原则
2.1系统目标
由于常规仓库的工作流程建立在手工操作之上而导致处理速度过慢,不能满足管理层和客户的要求,所以新系统开发的总目标是:
适应市场经济的需要,提高企业的经济效益,加强仓库各阶段工作的科学管理,并未管理决策提供一定的支持。
具体来说库存管理信息系统有如下功能:
2.1.1能都对库存数据快速、准确的录入。
只有对库存数据快速、准确的录入,才能为后继工作提供良好的数据交易平台。
2.1.2对库存基本信息的及时处理。
根据出库、入库的基础数据,形成库存的基本信息,管理信息系统运行的基础平台就是整个库存的基本信息。
2.1.3决策支持和扶助功能。
这体现在能利用本系统的基础信息,通过一定的决策模式,向相关决策和管理人员提供面向业务的辅助决策方案。
这里的支持层次分两个,一是面向业务本身,即有关物料的进货问题,如:
进货的名称、规格、型号、单价等,另一个层次是面向战略级的企业调整方案,通过对长期的企业存货与市场信息的观察分析,找出变动规律,并据此安排下一个项目部的原材料进货问题。
由于时间和能力有限,战略级的决策支持暂不能实现。
2.2建设原则
2.2.1安全可靠性
设计人员始终都将安全可靠性作为仓库管理系统的核心问题之一。
为实现安全登录功能,系统让用户(库管)输入用户名和密码,通过用户输入的用户名和密码,判断用户是否合法,是否允许用户登录系统。
如果连续输入3次用户名和密码错误,系统关闭。
同时系统可以对数据库进行备份,以确保数据的可靠性。
2.2.2实用性
本系统可以完全满足一般的仓库管理系统的所有要求,入库与出库模块完整详细的显示了货物存储的信息,并且拥有强大的报表查询与生成功能。
2.2.3操作简单
界面设计力求简洁明了,在用户对话界面中有屏幕操作提示,可随时得到操作帮助。
3运行环境规划
本系统的使用的最低配置要求:
3.1硬件环境:
CPU:
1G;
内存:
64MB以上内存或更高;
硬盘:
20G或以上。
3.2软件开发环境:
操作系统:
WindowsXP/2000;
所用工具:
VisualC++6.0;
数据库:
MicrosoftSQLServer2000;
3.3软件运行环境:
操作系统:
WindowsXP/2000;
DBMS:
MicrosoftSQLServer2000;
选用MicrosoftSQLServer2000原因:
功能强大,稳定性好。
且与VisualC++6.0有非常好的兼容性,适合用VC6.0开发。
4需求分析说明
4.1系统需求分析
4.1.1库存查询
仓库是用来存放货物的,一般存放的设备都是暂时没有使用的。
管理部门应该方便的知道仓库中有哪些设备,各种设备的库存信息数量。
4.1.2出库操作
当相关部门需要使用设备时,应该到仓库领取,因此填写了出库表就可以提走设备。
4.1.3入库操作
当相关部门使用完设备后,应该归还至仓库。
4.1.4采购管理
设备终会淘汰,公司也可能因为规模的扩大和生产的需要而要买进新设备,由设备管理部门统一管理设备的采购。
4.2数据流图
在仔细调查企业仓库物资设备管理过程的基础上,得到本系统所处理的时间流程如图所示:
4.3数据字典
在本设计中,通过对企业仓库管理的内容和数据流程分析,设计的数据项和数据结构如下:
设备信息:
包括设备号,名称,型号,仓库号,状态等
仓库信息:
包括仓库号,面积等
设备使用部门部门信息:
包括部门号,名称等
设备采购信息:
包括设备号,名称,型号,仓库号,供应商等
出库信息:
包括设备号,使用部门等
入库信息:
包括设备号,归还部门等
有了上面的数据结构、数据项和数据流程,就能进行下面的数据库设计。
5数据库概念结构设计
这一设计阶段是在需求分析的基础上,设计出能够满足用户需求的各种实体,以及它们之间的关系,为后面的逻辑结构设计打下基础。
5.1分E-R图设计
本设计根据上面的设计规划出的实体有设备实体、仓库实体、职工实体、部门实体、供应商实体。
各个实体的E-R图及其关系描述如下:
5.1.1设备实体:
5.1.2仓库实体:
图-3
5.1.3职工实体:
图-4
5.1.4部门实体:
图-5
5.1.5供应商实体:
图-6
5.2完整E-R图
6数据库逻辑结构设计
6.1系统功能模块
6.2关系模型
将上面的E-R图转化为关系模型,关系的主码用下横线标出,外码用删除线标出:
实体:
设备(设备号,名称,型号,仓库号,状态)
仓库(仓库号,面积,管理员)
职工(编号,姓名,性别,职称,电话,薪水,部门号)
部门(部门号,名称,部门经理)
供应商(编号,名称,联系人,电话,地址,邮编)
联系:
共3个联系
采购(设备号,名称,型号,仓库号,时间,价格,供应商)
出库(设备号,部门号,时间)
入库(设备号,部门号,时间)
经验证,以上所有实体与联系表均符合BC范式。
6.3数据模型
在上面的实体以及实体之间的关系的基础上,形成数据库中的表格以及各个表格之间的关系。
仓库管理系统数据库中的各个表格的设计结果如下面的几个表格所示。
每个表格表示在数据库中的一个表。
(1)设备表:
列名
数据类型
可否为空
设备号(主键)
字符型(20)
不能为空
名称
字符型(20)
可为空
型号
字符型(20)
可为空
仓库号(外码)
字符型(20)
不能为空
状态
字符型(10)
不能为空
(2)仓库表:
列名
数据类型
可否为空
仓库号(主键)
字符型(20)
不能为空
面积
数值型(20)
可为空
管理员(外码)
字符型(20)
可为空
(3)职工表:
列名
数据类型
可否为空
编号(主键)
字符型(20)
不能为空
姓名
字符型(20)
可为空
性别
字符型
(2)
可为空
职称
字符型(20)
可为空
电话
字符型(30)
可为空
薪水
数值型(20)
可为空
部门(外码)
字符型(20)
可为空
(4)部门表:
列名
数据类型
可否为空
部门号(主键)
字符型(20)
不能为空
名称
字符型(20)
可为空
部门经理(外码)
字符型(20)
可为空
(5)供应商表:
列名
数据类型
可否为空
编号(主键)
字符型(20)
不能为空
名称
字符型(20)
不能为空
联系人
字符型(20)
可为空
电话
字符型(30)
可为空
地址
字符型(50)
可为空
邮编
字符型(20)
可为空
(6)设备采购表:
列名
数据类型
可否为空
设备号(主键)
字符型(20)
不能为空
名称
字符型(20)
可为空
型号
字符型(20)
可为空
仓库号(外码)
数值型(20)
不能为空
时间
字符型(10)
可为空
价格
数值型(20)
不能为空
供应商(外码)
字符型(20)
不能为空
(7)出库表:
列名
数据类型
可否为空
部门号(主键)(外码)
字符型(20)
不能为空
设备号(主键)(外码)
字符型(20)
不能为空
时间
字符型(10)
可为空
(8)入库表:
列名
数据类型
可否为空
部门号(主键)(外码)
数值型(20)
不能为空
设备号(主键)(外码)
数值型(20)
不能为空
时间
字符型(10)
可为空
7数据库物理设计
7.1介绍
数据库最终是要存储在物理设备上的。
为一个给定的逻辑数据模型选取一个最适合应用环境的物理结构(存储结构与存取方法)的过程,就是数据库的物理设计。
物理结构依赖于给定的DBMS和和硬件系统,因此设计人员必须充分了解所用DBMS的内部特征,特别是存储结构和存取方法;充分了解应用环境,特别是应用的处理频率和响应时间要求;以及充分了解外存设备的特性。
数据库的物理设计通常分为两步:
一、确定数据库的物理结构
二、对物理结构进行评价,评价的重点是时间和空间效率
7.2物理结构
由于查询时,经常会用到设备和职员的编号,职员的姓名,所以在此三种属性设计为唯一索引。
为了完成需求分析中确定的基本功能和概念设计中模块的划分,通过基于三范式的数据库设计方法(通过分析,以上各数据表已经达到了三范式),构造了8张基本数据表。
现在对这8张数据表划分基本关系。
在已设计的数据库中初步建立了8张基本表,用于记录客户模块和公司模块的基本信息。
此外,在基本表上定义了一些约束条件和外码信息,以实现数据的完整性约束。
包括表内约束条件和表间约束条件(还包括了基本表上数据类型和数据长度的限制以及是否允许为空或表内是否唯一的限定)
7.3评价物理结构
由于时间的限制,不能在物理结构上花太多的时间,只是做了简单的设计。
对于数据量不是太大的系统,还是能满足要求的。
8数据库的实施
8.1创建数据库
在SQLServer2000的企业管理器中创建数据库后,加入新表,如下:
useStock;
createtable部门--创建部门表
(部门号char(20)primarykey,
部门名称char(20)unique,
);
createtable职员表--创建职工表
(员工编号char(20)primarykey,
员工姓名char(20)unique,
员工性别char
(2)CHECK(员工性别in('男','女')),
职务char(20),
电话char(20),
薪水intCHECK(薪水>0),
部门char(20)
foreignkey(部门)references部门(部门号)
);
altertable部门ADD经理char(20),
foreignkey(经理)references职员表(员工编号);
createtable仓库--创建仓库表
(仓库号char(20)primarykey,
面积intCHECK(面积>0),
员工编号char(20)
foreignkey(员工编号)references职员表(员工编号)
);
createtable设备--创建设备表
(设备号char(20)primarykey,
设备名称char(20),
设备类型char(20),
仓库号char(20),
设备状态char(10)CHECK(设备状态in('IN','OUT'))
foreignkey(仓库号)references仓库(仓库号)
);
createtable供应商--创供应商工表
(供应商编号char(20)primarykey,
供应商名称char(20)unique,
负责人char(20),
地址char(50),
联系电话char(20),
邮编char(20)
);
createtable采购表--创建设备采购表
(设备号char(20)primarykey,
设备名称char(20),
设备类型char(20),
仓库号char(20),
采购日期char(10),
价格intCHECK(价格>0),
供应商编号char(20)
foreignkey(仓库号)references仓库(仓库号),
foreignkey(供应商编号)references供应商(供应商编号)
);
createtable出库表--创建仓库表
(
设备号char(20),
部门号char(20),
出库日期char(10)
primarykey(设备号,部门号),
foreignkey(部门号)references部门(部门号),
foreignkey(设备号)references设备(设备号)
);
createtable入库表--创建仓库表
(
设备号char(20),
部门号char(20),
入库日期char(10)
primarykey(设备号,部门号),
foreignkey(部门号)references部门(部门号),
foreignkey(设备号)references设备(设备号)
);
8.2建立的关系图
关系图
8.3数据的初始化
数据库建立后,为方面数据库测试,先将各表初始化。
部门表初始数据:
仓库表初始数据:
供应商表初始数据:
设备表初始数据:
职工表初始数据:
采购表初始数据:
9运行维护
数据库建立并初始化完成后,直接用SQL语句能执行查询库存情况操作,若要执行采购,出库,入库等操作,则每执行一个元组都要对设备表中的设备数据进行一次修改。
购,入库,出库三个表只是在应用程序中才能真正的发挥使用。
时间有限,本实验原计划编写的应用程序没有编写,因此,只能用SQL语句对应用程序的处理过程进行模拟。
9.1运行模拟
1)查询所有在仓库中的设备及仓库负责人:
select设备号,设备名称,设备类型,设备.仓库号,员工姓名as负责人
from设备,职员表,仓库
where设备状态='IN'and仓库.员工编号=职员表.员工编号and设备.仓库号=仓库.仓库号;
查询结果如下图:
2)查询各个仓库中存放设备的数量及仓库管理员的信息
select设备.仓库号,count(*)as设备数,员工姓名
from设备,职员表,仓库
where设备状态='IN'and仓库.员工编号=职员表.员工编号and设备.仓库号=仓库.仓库号
groupby设备.仓库号,员工姓名;
查询结果如下图:
3)查询所有正在使用的设备及使用设备的单位和单位负责人姓名
select设备名称,设备类型,部门名称,员工姓名as负责人
from设备,出库表,部门,职员表
where设备状态='OUT'and设备.设备号=出库表.设备号and出库表.部门号=部门.部门号and部门.经理=职员表.员工编号;
4)出库模拟(将00009号设备送到002号部门)
insertinto出库表values('00009','002',CONVERT(varchar(10),getdate(),120));
update设备
set设备状态='OUT'
where设备号='00009';
此时查看仓库中的所有还库设备
select设备号,设备名称,设备类型,设备.仓库号,员工姓名as负责人
from设备,职员表,仓库
where设备状态='IN'and仓库.员工编号=职员表.员工编号and设备.仓库号=仓库.仓库号;
发现已经没有00009号设备了
查看所有正在使用设备
select设备名称,设备类型,部门名称,员工姓名as负责人
from设备,出库表,部门,职员表
where设备状态='OUT'and设备.设备号=出库表.设备号
and出库表.部门号=部门.部门号and部门.经理=职员表.员工编号;
发现打印机被分配到工程技术部,说明出库操作正确
5入库模拟(00005设备入库)
insertinto入库表values('00005','004',CONVERT(varchar(10),getdate(),120));
delete
from出库表
where设备号='00005';
update设备
set设备状态='IN'
where设备号='00005';
查询所有在库设备
select设备号,设备名称,设备类型,设备.仓库号,员工姓名as负责人
from设备,职员表,仓库
where设备状态='IN'and仓库.员工编号=职员表.员工编号and设备.仓库号=仓库.仓库号;
结果如下:
发现00005号电脑已在仓库中
查看查看所有正在使用设备
select设备名称,设备类型,部门名称,员工姓名as负责人
from设备,出库表,部门,职员表
where设备状态='OUT'and设备.设备号=出库表.设备号
and出库表.部门号=部门.部门号and部门.经理=职员表.员工编号;
对比前次查询结果,发现生产部的电脑已经归还了
9.2运行结果分析
分析运行结果,发现各操作达到了预期目的,能正确地对数据库的记录进行操作。
只是由于没有编写应用程序,本该由应用程序实现的功能只能用SQL语言模拟,但效果是一样的。
关于完整性。
由于是按出库表和入库表来进行出库入库,操作完成后应及时改变设备表中的相应信息,否则可能造成数据不一致。
10心得体会及建议
10.1心得体会
通过本次实验,我对数据库的需求分析,E-R图的设计等步骤更加熟悉,对平时学习的数据库的知识也得到进一步的巩固,分析和解决信息系统的能力得到了极大的提升。
10.2已解决的问题
1、此实验基本达到了实验的要求,能进行库存信息的查询,设备出库,设备入库,采购新设备等操作。
2、操作结果无误,只是没有时间编写应用程序,有的操作要用多个SQL语言来模拟操作。
10.3下一步建议
1、编写应用程序,使实验具有实用价值,能适应应用的需要
2、加入决策支持模块,使系统具有更强的应用性,获得更大的经济利益。
11参考文献
[1]萨师煊,王珊.数据库系统概论.北京:
高等教育出版社,2002.2
[2]张莉,王强等.SQLServer数据库原理及应用教程.北京:
清华大学出版社,2002
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数据库 系统 原理 课程设计 说明书