还剩52页未读,继续阅读
本资源只提供10页预览,全部文档请下载后查看!喜欢就下载吧,查找使用更方便
文本内容:
货物管理系统课程设计目的应用对数据库系统概论的理论学习,通过上机实践的方式将理论知识与实践更好的结合起来,巩固所学知识实践和巩固在课堂教学中学习的关于数据库的有关知识,熟练掌握对于给定结构的数据库的创建、基本操作、程序系统的建立和调试以及系统评价实践和巩固在课堂教学中学习的关于关系数据库原理的有关知识和数据库系统的建立方法,熟练掌握对于给定实际问题,为了建立一个关系数据库货物管理系统,必须得经过系统调研、需求分析、概念设计、逻辑设计、物理设计、系统调试、维护以及系统评价的一般过程,为毕业设计打下基础
2.设计方案论证
2.1问题提出过去传统的货物管理方式已经不能满足现代货物管理的的客观要求,本课程设计就是利用SQLserver数据库开发一个货物管理系统,它为货物管理人员提供供应商信息与销售商信息,货物信息,仓库信息等的内容,方便货物管理人员对货物的管理,以提高货物管理人员对货物管理工作的效率
2.2可行性研究
2.
2.1技术可行性此课程设计均是利用SQLserver2008企业版软件调试出来的,所以只要操作系统在windowsXP之上的都可以实现SQLserver2008运行,此次所用的操作系统是WindowsXP,内存2G,CPU
2.10GHZ,硬盘250G,所以技术上是可行的
2.
2.2运行可行性随着社会的发展,基本上所有的具有一定数量数据的企事业单位或机关部门都开始使用计算机数据库来做管理当然几乎所有公司和企业也都已经在使用计算机管理数据的机制,大大减少了货物管理的工作量该课程设计要求设计一个货物管理的数据库系统,数据库中要求包含货物的基本信息,货物管理员信息,货物供应商信息,货物销售商信息以及货物库存的信息同时还要设计它们之间的关系,如货物和货物的库存量的信息等,最后还要对一些数据进行查询,如查询货物的各种有关信息等我们通过该课程设计,应该达到的目的是把数据库理论知识更加的巩固加深,加强动手能力与实践能力,学以致用,与现实生活中的应用充分的结合起来货物管理系统主要针对于日常货物信息的管理,它针对货物日常发生的业务,分为了两大类,即货物提供商和货物销售商以及入库和出库的信息,用户通过相应的模块,对货物的基本情况进行操作,对货物库存数量进行查询,用户通过简单的操作即可轻松的管理货物
2.3需求分析
2.
3.1需求分析查询功能货物管理对查询要求高,通过主菜单记录当前操作用户的工作证号,保证了对进、出库货物信息录入管理员的确认管理员信息与库存报表生成管理员包括了管理员工作证号,所管理的仓库号,以及仓库中所存的货物号报表主要分类为仓库报表,货物报表,销售商报表,销售商报表和管理员报表等应用计算机管理后,由于计算机能存贮大量的数据,而且数据只要一次存入,便可多次重复使用,所以管理数据达到完整,统一,原始记录能保证及时,准确
2.
3.2数据字典货物管理系统数据流图中,数据信息和处理过程需要通过数据字典才能描述清楚在定义的货物数据库管理系统数据字典中,主要对数据流图中的数据项、数据流、数据存储和处理过程进行说明1数据项名称供应商名称含义说明惟一标识一个供应商类型字符型长度50逻辑关系不允许为空2数据项名称供应商地址类型字符型长度50逻辑关系允许为空3数据项名称供应商电话号码类型字符型长度50逻辑关系允许为空4数据项名称供货记录类型字符型长度50逻辑关系允许为空5数据项名称销售商电话号码类型字符型长度50逻辑关系允许为空6数据项名称销售商名称含义说明惟一标识一个销售商类型字符型逻辑关系不允许为空7数据项名称销售商地址类型字符型逻辑关系允许为空8数据项名称销售记录类型字符型长度50逻辑关系允许为空9数据项名称管理员工作证号含义说明惟一标识一个管理员类型字符型长度20逻辑关系不允许为空10数据项名称管理员姓名类型字符型长度20逻辑关系允许为空11数据项名称管理员电话类型字符型逻辑关系允许为空12数据项名称管理员地址类型字符型长度50逻辑关系允许为空13数据项名称仓库号含义说明惟一标识一个仓库类型数值型逻辑关系不允许为空14数据项名称现有库存类型数值型逻辑关系允许为空15数据项名称最大库存类型数值型逻辑关系允许为空16数据项名称最小库存类型数值型逻辑关系允许为空17数据项名称货物号含义说明惟一标识一件货物类型字符型逻辑关系不允许为空18数据项名称货物名类型字符型逻辑关系允许为空2数据结构描述
①数据流名称供应商基本信息含义说明定义了一个供应商的有关信息组成结构供应商信息包括供应商姓名,供应商地址,供应商电话和供货记录等
②数据流名称销售商基本信息含义说明定义了一个销售商的有关信息组成结构销售商信息包括销售商姓名,销售商地址,销售商电话和销售记录等
③数据流名称仓库基本信息含义说明定义了一个仓库的有关信息组成结构仓库号,现有库存,最大库存,最小库存,货物号等
④数据流名称管理员基本信息含义说明定义了一个管理员的有关信息组成结构管理员工作证号,管理仓库号,管理员姓名,管理员电话,管理员地址
⑤数据流名称货物基本信息含义说明定义了一件货物的有关信息组成结构货物号,货物名称,供应商姓名,销售商姓名,所存仓库号,现有库存3数据存储描述
①数据存储名称供应商信息表含义说明存放供应商的有关信息组成结构供应商信息包括供应商姓名,供应商地址,供应商电话和供货记录等说明供应商姓名具有惟一性和非空性
②数据存储名称销售商信息表含义说明存放销售商的有关信息组成结构销售商信息包括销售商姓名,销售商地址,销售商电话和销售记录等说明销售商姓名具有惟一性和非空性
③数据存储名称仓库信息表含义说明存放仓库的有关信息组成结构仓库号,现有库存,最大库存,最小库存,所存货物号等说明仓库号和所存货物号具有惟一性和非空性
④数据存储名称管理员信息表含义说明存放管理员的有关信息组成结构管理员工作证号,管理仓库号,管理员姓名,管理员电话,管理员地址说明管理员号和管理仓库号具有惟一性和非空性
⑤数据存储名称货物信息表含义说明存放货物的有关信息组成结构货物号,货物名称,供应商姓名,销售商姓名,所存仓库号,现有库存说明;货物号,供应商姓名,销售商姓名和所存仓库号具有惟一性和非空性
2.4概念结构设计
2.
4.1概念结构设计的方法概念设计阶段采用自底向上的方法,即自顶向下的进行需求分析,然后再自底向上的进行概念结构设计对已经细化到无法再分的阶段逐步集成在一起,最终合成一个全局概念模式
2.
4.2概念结构设计的步骤第一步是进行局部视图的设计由于高层的数据流图只能反映系统的概貌,而中层流图能较好的反映系统中各局部应用的子系统组成因此先逐一的设计分E-R图第二步是进行视图的集成各子系统的E-R图设计好之后,下一步就是要将所有的分E-R图合成一个系统的总E-R图,一般有两个方式,多个分E-R图一次集成,另一种是一次集成两个分E-R图我想采用一次集成多个分E-R图的方式
2.
4.3数据抽象与局部视图设计供货商信息实体属性图和销售商信息实体属性图分别如图1和图2所示图1供货商基本信息实体图图2销售商信息实体图根据货物与管理员的关系可设计如下关系图mn图3货物与管理员关系图………图4货物基本信息实体图……..图5管理员基本信息实体图图6库存表基本信息实体图m1n.……….mm11n图7合并部分视图生成E-R图
2.5逻辑结构设计
2.
5.1E-R图向关系模型的转换1一个11联系可转换为一个独立的关系模式,可以与任意一端对应的关系模式合并;2一个1n联系可以转换为独立的关系模式,也可以与n端对应的关系模式合并;3一个m:n联系转换为一个关系模式与该联系相连的各实体的码以及联系本身的属性均转换为关系的属性,各实体的码组成关系的码或关系码的一部分;将实体转化为关系模式根据图7所示的货物管理的基本E-R图,将其中的实体转化为如下关系,关系的主码用下划线标出,外码用波浪线标出由E-R图转换成关系模式
(1)供应商(供应商名称,联系方式,地址,供应记录的货物号)
(2)货物(货物号,供应商名称,销售商名称,所入仓库号,名称,现有库存)
(3)仓库(仓库号,货物号,现有库存,最大库存,最小库存)
(4)销售商(销售商名称,联系方式,地址,销货记录的货物号)
(5)管理员(工作证号,管理的仓库号,名字,联系方式,家庭住址)
2.
5.2判断每个表分别属于第几范式
(1)由供应商表(供应商名称,联系方式,地址,供应记录的货物号)写出数据依赖供应商姓名→联系方式,供应商姓名→地址,供应商姓名→供应记录的货物号该表中的各个元组都不可再分、并且无部分函数依赖和传递函数依赖、主码都是候选码,所以该表满足BCNF范式
(2)由销售商表(销售商名称,联系方式,地址,销货记录的货物号)写出数据依赖销售商名称→联系方式,销售商名称→地址,销售商名称→销货记录的货物号该表中的每个元组都不可再分、并且无部分函数依赖和传递函数依赖、主码都是候选码,所以该表也满足BCNF范式
(3)由管理员表(工作证号,管理的仓库号,名字,联系方式,家庭住址)写出数据依赖(工作证号,管理的仓库号)→名字,(工作证号,管理的仓库号)→联系方式,(工作证号,管理的仓库号)→家庭住址该表中每个元组都不可再分并且无部分函数依赖和传递函数依赖、主码都是候选码,所以该表同样满足BCNF范式
(4)由仓库表(仓库号,货物号,现有库存,最大库存,最小库存)写出数据依赖(仓库号,货物号)→现有库存,(仓库号,货物号)→最大库存,(仓库号,货物号)→最小库存
(5)由货物表(货物号,供应商名称,销售商名称,所入仓库号,名称,现有库存)写出数据依赖(货物号,供应商名称,销售商名称,所入仓库号)→名称,(货物号,供应商名称,销售商名称,所入仓库号)→现有库存该表中各个元组都不可再分同样无部分函数依赖和传递函数依赖并且主码都是候选码,所以该表同样满足BCNF范式
2.
5.3数据库的结构根据总体结构图设计各表的结构,其相应标的定义如下表1供应商表字段类型长度是否主键说明p_name字符型20是销售商名称p_address字符型20否地址p_telephone字符型20否电话联系方式p_record字符型20外键(good)供货记录表2货物表字段类型长度是否主键说明g_name字符型20否名称g_id字符型20是货物号p_name字符型20是供应商名称s_name字符型20是销售商名称w_id数值型20是所入仓库号xianyoukucun字符型20否现有库存表3销售商表字段类型长度是否主键说明s_name字符型20是销售商名称s_address字符型20否销售商地址s_telephone字符型20否销售商电话s_record字符型20外键(good)销售记录表4库存表字段类型长度是否主键说明w_id字符型20是仓库号xanyoukucun字符型20否现有库存zuidakucun字符型20否最大库存zuixiaokucun字符型20否最小库存g_id字符型20是所存货物号表5管理员表字段类型长度是否主键说明m_name字符型20否管理员姓名m_telephone字符型20否管理员电话m_address字符型20否管理员住址m_id字符型20是工作证号w_id数值型20是管理仓库号
2.
5.4创建基本表在实际设计中最常用的存取方法是索引法,使用索引可以大大减少数据的查询时间,在建立索引时应遵循在经常需要搜索的列上建立索引;在主关键字上建立索引;在经常用于连接的列上建立索引,即在外键上建立索引;在经常需要根据范围进行搜索的列上创建索引,因为索引已经排序,其指定的范围是连续的等规则才能充分利用索引的作用避免因索引引起的负面作用首先在数据库中建立一个货物管理系统数据库,然后分别建立各个子表,为提高查询速度,再为各个表建立索引生成的主要代码如下1创建供应商表createtableproviderp_namechar50primarykeyp_addresschar50p_telephonechar50p_recordchar502创建销售商表createtablesalers(s_namechar50primarykeys_telephonechar50s_addresschar50s_recordchar503创建货物表createtablegoodg_idchar8primarykeyg_namechar20p_namechar50primarykeys_namechar50primarykeyw_idintprimarykeyxianyoukucunchar50foreignkeyp_namereferencesproviderp_nameforeignkeys_namereferencessalerss_nameforeignkeyw_idreferenceswarehousew_id4创建仓库表createtablewarehousew_idintxianyoukucunintzuidakucunintzuixiaokucunintg_idchar8primarykeyw_idg_idforeignkeyg_idreferencesgoodg_id5创建管理员表createtablemanagerm_idchar20w_idchar20m_namechar50m_telephonechar20m_addresschar50primarykeym_idw_idforeignkeyw_idreferenceswarehousew_id提高查询速度,分别为各表经常查询的列建立索引为good货物信息表中g_id属性建立降序唯一索引g_iddesc CREATEUNIQUEINDEXg_iddescONgoodg_iddesc;为provider供应商表中p_name属性建立唯一索引p_name CREATEUNIQUEINDEXp_nameONproviderp_name;为salers销售商表中s_name属性建立降序唯一索引s_namedesc CREATEUNIQUEINDEXp_namedescONsalerss_namedesc;为warehouse仓库表)中w_id属性建立降序唯一索引w_iddesc CREATEUNIQUEINDEXw_iddescONwarehousew_iddesc;为manager管理员表中m_id属性建立降序唯一索引m_iddesc CREATEUNIQUEINDEXm_iddescONmanagerm_iddesc;数据的载入是一个非常繁杂和重要的过程需要很大的工作量,可分为人工输入与其它格式数据文件导入该系统只是一个简单的实验系统,所以采用手工输入少量的数据可满足实验要求即可分别给供应商基本信息表,销售商基本信息表,仓库基本信息表,管理员基本信息表和货物基本信息表输入数据下面若干个表分别显示了所要求的表基本信息息的录入图8供应商表图9销售商表图10货物表图11仓库表图12管理员表
2.
5.5为系统创建视图1供应商表的视图图13供应商表的视图2销售商表的视图图14销售商表的视图3管理员表的视图图15管理员表的视图4仓库表的视图图16仓库表的视图5货物表的视图图17货物表的视图
3.设计结果及分析
3.1查询与结果分析
(1)查询供应商姓名为日立供应商的信息结果为图18查询供应商姓名为日立供应商的信息
(2)查询货物编号为0006的货物信息结果为图19查询货物编号为0006的货物信息
(3)查询销售商姓名为海龙的销售商信息结果为图20查询销售商姓名为海龙的销售商信息
(4)查询最小库存为100的仓库信息结果为图21查询最小库存为100的仓库信息
(5)查询管理员姓名为赵启的管理员信息结果为图22查询管理员姓名为赵启的管理员信息
(6)查询供应商地址为日本的供应商名称信息结果为图23查询供应商地址为日本的供应商名称信息
(7)查询最大库存为了2000的仓库信息结果为图24查询最大库存为了2000的仓库信息
(8)为供应商表添入一条数据图25为供应商表添入一条数据的结果图
(9)创建角色u1并将对管理员表查询,修改和插入的功能赋给角色u1结果为图26创建角色u1并将对管理员表查询,修改和插入的功能赋给角色u1
(10)收回角色u1管理员表修改的功能结果为图27收回角色u1管理员表修改的功能
(11)删除角色u1结果为图28删除角色u1
(12)使用嵌套的方法查询存储销售商为日立专卖店的仓库号图29使用嵌套的方法查询存储销售商为日立专卖店的仓库号
(13)使用exists语句查询销售商地址为沈阳的货物编号和货物名称图30使用exists语句查询销售商地址为沈阳的货物编号和货物名称
(14)建立触发器,当向供应商表插入新信息后,打印出又添加了一个供应商信息字样图31建立触发器
(15)创建查看一个仓库的基本信息的存储过程图32创建查看一个仓库的基本信息的存储过程
(16)创建查看一个仓库的基本信息的存储过程,其中仓库号作为参数图33创建查看一个仓库号作为参数的仓库基本信息的存储过程
4.设计体会这次货物管理系统课程设计,我主要采用是MicrosoftSQLSevere2005数据库设计软件通过这次课程设计,加深了我对课程设计的理解通过这次数据库课程设计,真正达到了学与用的结合,增强了对数据库方面应用的理解,对自己今后参与开发数据库系统积累了不少经验,在实验过程中,从建立数据开始,对数据库设计理念及思想上有了更高的认识,从需求分析,到概念设计和逻辑设计,E-R图的表示,数据字典的创建,我懂得了不少数据库开发过程中的知识,在实验中建表,及其关系模式,关系代数的建立和理解,增强了自己在数据库中应用SQL语言的灵活性,其中包括插入、删除、修改、查询,牵涉表与表之间的联系,主键与外键的定义约束项的设置,使逻辑更严密在整个学习与设计过程中,在课程设计过程中不免遇到各种各样的困难通过与同学间的探讨查阅资料解决困难增强了自己的自学能力.这次课程设计让我知道了什么叫做付出才有回报.这次课程设计给了我一个锻炼自己,强化专业知识的机会,通过这次课程设计,我相信,只要认真学习,多借鉴别人的经验,多思考,多实践,最后就能成功了在实验中我上网查阅了不少参考资料,并学以致用,自我创新,从学到用又从用到学,不断修改,同时加强了自己对理论知识的学习与理解,这对完善系统设计有很大帮助总之在这次设计过程中我受益匪浅,为以后工作打下了坚实的基础
5.参考文献
[1]王珊,萨师煊.数据库系统概论[M].北京高等教育出版社
2009.11:198~234
[2]陈伟编著.SQLServer2005数据库应用与开发教程[M].北京清华大学出版社.
2005.6:25~70
[3]杨海霞南志红.数据库实验指导[M].北京:人民邮电出版社,
2007.9:76~109
[4]石岩.数据库技术与应用[M].哈尔滨:哈尔滨工业大学出版社,
2009.5:36~63
[5]成先海.数据库基础与应用-SQLSever2000[M].北京机械工业出版社
2008.3:45~70
[6]周山夫,黄京莲.数据库应用程序设计[M].北京:清华大学出版社,
2004.9:76~109
[7]孙瑜.数据库系统基础[M].北京:人民邮电出版社,
2008.10:23~246沈阳大学沈阳大沈阳大沈阳大学销售商表联系方式销货记录销售商姓名销售商地址供应商表联系方式供货记录名称地址管理员货物管理名称现有库存货物所入仓库号编号联系方式工作证号地址管理员姓名货物号货物号仓库表现有库存最小库存最大库存工作证号地址姓名联系方式供应商管理员编号名称类型货物数量日期供货联系方式姓名性别供货记录管理工资聘期存储单价数量日期入库货物号仓库号仓库地址姓名最小库存最大库存现有库存销售商联系方式销货记录。