课程设计说明书No1沈阳大学货物管理系统1.课程设计目的应用对数据库系统概论的理论学习,通过上机实践的方式将理论知识与实践更好的结合起来,巩固所学知识。实践和巩固在课堂教学中学习的关于数据库的有关知识,熟练掌握对于给定结构的数据库的创建、基本操作、程序系统的建立和调试以及系统评价。实践和巩固在课堂教学中学习的关于关系数据库原理的有关知识和数据库系统的建立方法,熟练掌握对于给定实际问题,为了建立一个关系数据库货物管理系统,必须得经过系统调研、需求分析、概念设计、逻辑设计、物理设计、系统调试、维护以及系统评价的一般过程,为毕业设计打下基础。2.设计方案论证2.1问题提出过去传统的货物管理方式已经不能满足现代货物管理的的客观要求,本课程设计就是利用SQLserver数据库开发一个货物管理系统,它为货物管理人员提供供应商信息与销售商信息,货物信息,仓库信息等的内容,方便货物管理人员对货物的管理,以提高货物管理人员对货物管理工作的效率。2.2可行性研究2.2.1技术可行性此课程设计均是利用SQLserver2008企业版软件调试出来的,所以只要操作系统在windowsXP之上的都可以实现SQLserver2008运行,此次所用的操作系统是:WindowsXP,内存:2G,CPU:2.10GHZ,硬盘:250G,所以技术上是可行的。2.2.2运行可行性随着社会的发展,基本上所有的具有一定数量数据的企事业单位或机关部门都开始使用计算机数据库来做管理。当然几乎所有公司和企业也都已经在使用计算机管理数据的机制,大大减少了货物管理的工作量。该课程设计要求设计一个货物管理的数据库系统,数据库中要求包含货物的基本信息,货物管理员信息,货物供应商信息,货物销售商信息以及货物库存的信息。同时还要设计它们之间的关系,如货物和货物的库存量的课程设计说明书No2沈阳大学信息等,最后还要对一些数据进行查询,如查询货物的各种有关信息等。我们通过该课程设计,应该达到的目的是把数据库理论知识更加的巩固加深,加强动手能力与实践能力,学以致用,与现实生活中的应用充分的结合起来。货物管理系统主要针对于日常货物信息的管理,它针对货物日常发生的业务,分为了两大类,即货物提供商和货物销售商以及入库和出库的信息,用户通过相应的模块,对货物的基本情况进行操作,对货物库存数量进行查询,用户通过简单的操作即可轻松的管理货物。2.3需求分析2.3.1需求分析查询功能。货物管理对查询要求高,通过主菜单记录当前操作用户的工作证号,保证了对进、出库货物信息录入管理员的确认。管理员信息与库存报表生成。管理员包括了管理员工作证号,所管理的仓库号,以及仓库中所存的货物号。报表主要分类为:仓库报表,货物报表,销售商报表,销售商报表和管理员报表等。应用计算机管理后,由于计算机能存贮大量的数据,而且数据只要一次存入,便可多次重复使用,所以管理数据达到完整,统一,原始记录能保证及时,准确。2.3.2数据字典货物管理系统数据流图中,数据信息和处理过程需要通过数据字典才能描述清楚。在定义的货物数据库管理系统数据字典中,主要对数据流图中的数据项、数据流、数据存储和处理过程进行说明。(1)数据项名称:供应商名称含义说明:惟一标识一个供应商类型:字符型长度:50逻辑关系:不允许为空(2)数据项名称:供应商地址类型:字符型长度:50逻辑关系:允许为空(3)数据项名称:供应商电话号码课程设计说明书No3沈阳大学类型:字符型长度:50逻辑关系:允许为空(4)数据项名称:供货记录类型:字符型长度:50逻辑关系:允许为空(5)数据项名称:销售商电话号码类型:字符型长度:50逻辑关系:允许为空(6)数据项名称:销售商名称含义说明:惟一标识一个销售商类型:字符型逻辑关系:不允许为空(7)数据项名称:销售商地址类型:字符型逻辑关系:允许为空(8)数据项名称:销售记录类型:字符型长度:50逻辑关系:允许为空(9)数据项名称:管理员工作证号含义说明:惟一标识一个管理员类型:字符型长度:20逻辑关系:不允许为空(10)数据项名称:管理员姓名类型:字符型长度:20课程设计说明书No4沈阳大学逻辑关系:允许为空(11)数据项名称:管理员电话类型:字符型逻辑关系:允许为空(12)数据项名称:管理员地址类型:字符型长度:50逻辑关系:允许为空(13)数据项名称:仓库号含义说明:惟一标识一个仓库类型:数值型逻辑关系:不允许为空(14)数据项名称:现有库存类型:数值型逻辑关系:允许为空(15)数据项名称:最大库存类型:数值型逻辑关系:允许为空(16)数据项名称:最小库存类型:数值型逻辑关系:允许为空(17)数据项名称:货物号含义说明:惟一标识一件货物类型:字符型逻辑关系:不允许为空(18)数据项名称:货物名类型:字符型逻辑关系:允许为空(2)数据结构描述①数据流名称:供应商基本信息课程设计说明书No5沈阳大学含义说明:定义了一个供应商的有关信息组成结构:供应商信息包括供应商姓名,供应商地址,供应商电话和供货记录等。②数据流名称:销售商基本信息含义说明:定义了一个销售商的有关信息组成结构:销售商信息包括销售商姓名,销售商地址,销售商电话和销售记录等。③数据流名称:仓库基本信息含义说明:定义了一个仓库的有关信息组成结构:仓库号,现有库存,最大库存,最小库存,货物号等。④数据流名称:管理员基本信息含义说明:定义了一个管理员的有关信息组成结构:管理员工作证号,管理仓库号,管理员姓名,管理员电话,管理员地址。⑤数据流名称:货物基本信息含义说明:定义了一件货物的有关信息组成结构:货物号,货物名称,供应商姓名,销售商姓名,所存仓库号,现有库存。(3)数据存储描述①数据存储名称:供应商信息表含义说明:存放供应商的有关信息组成结构:供应商信息包括供应商姓名,供应商地址,供应商电话和供货记录等说明:供应商姓名具有惟一性和非空性②数据存储名称:销售商信息表含义说明:存放销售商的有关信息组成结构:销售商信息包括销售商姓名,销售商地址,销售商电话和销售记录等说明:销售商姓名具有惟一性和非空性③数据存储名称:仓库信息表含义说明:存放仓库的有关信息组成结构:仓库号,现有库存,最大库存,最小库存,所存货物号等说明:仓库号和所存货物号具有惟一性和非空性④数据存储名称:管理员信息表含义说明:存放管理员的有关信息组成结构:管理员工作证号,管理仓库号,管理员姓名,管理员电话,管理员地址课程设计说明书No6沈阳大学说明:管理员号和管理仓库号具有惟一性和非空性⑤数据存储名称:货物信息表含义说明:存放货物的有关信息组成结构:货物号,货物名称,供应商姓名,销售商姓名,所存仓库号,现有库存说明;货物号,供应商姓名,销售商姓名和所存仓库号具有惟一性和非空性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管理货物管理员供应商表联系方式供货记录名称地址销售商表联系方式销货记录销售商姓名销售商地址课程设计说明书No7沈阳大学图3货物与管理员关系图………图4货物基本信息实体图……..图5管理员基本信息实体图图6库存表基本信息实体图货物现有库存名称编号所入仓库号管理员姓名地址联系方式工作证号仓库表货物号货物号现有库存最大库存最小库存供应商姓名地址管理员联系方式工作证号课程设计说明书No8沈阳大学m1n.……….mm11n图7合并部分视图生成E-R图2.5逻辑结构设计2.5.1E-R图向关系模型的转换(1)一个1:1联系可转换为一个独立的关系模式,可以与任意一端对应的关系模式合并;供货记录联系方式供货日期数量货物类型名称编号单价入库日期数量销售商姓名地址销货记录联系方式管理仓库姓名性别现有库存最大库存最小库存聘期工资仓库号货物号存储课程设计说明书No9沈阳大学(2)一个1:n联系可以转换为独立的关系模式,也可以与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供应商表课程设计说明书No10沈阳大学字段类型长度是否主键说明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否最大库存z