数据库课程设计样本:货物管理系统.doc_第1页
数据库课程设计样本:货物管理系统.doc_第2页
数据库课程设计样本:货物管理系统.doc_第3页
数据库课程设计样本:货物管理系统.doc_第4页
数据库课程设计样本:货物管理系统.doc_第5页
已阅读5页,还剩50页未读 继续免费阅读

下载本文档

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

文档简介

课程设计说明书 No 55货物管理系统1. 课程设计目的应用对数据库系统概论的理论学习,通过上机实践的方式将理论知识与实践更好的结合起来,巩固所学知识。实践和巩固在课堂教学中学习的关于数据库的有关知识,熟练掌握对于给定结构的数据库的创建、基本操作、程序系统的建立和调试以及系统评价。实践和巩固在课堂教学中学习的关于关系数据库原理的有关知识和数据库系统的建立方法,熟练掌握对于给定实际问题,为了建立一个关系数据库货物管理系统,必须得经过系统调研、需求分析、概念设计、逻辑设计、物理设计、系统调试、维护以及系统评价的一般过程,为毕业设计打下基础。2.设计方案论证2.1问题提出过去传统的货物管理方式已经不能满足现代货物管理的的客观要求,本课程设计就是利用SQL server数据库开发一个货物管理系统,它为货物管理人员提供供应商信息与销售商信息,货物信息,仓库信息等的内容,方便货物管理人员对货物的管理,以提高货物管理人员对货物管理工作的效率。2.2可行性研究2.2.1技术可行性此课程设计均是利用SQL server 2008 企业版软件调试出来的,所以只要操作系统在windowsXP之上的都可以实现SQL server 2008运行,此次所用的操作系统是: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 销售商信息实体图根据货物与管理员的关系可设计如下关系图: 管理员货物管理 m n 图3 货物与管理员关系图 名称现有库存 货物所入仓库号编号联系方式工作证号地址管理员 图4 货物基本信息实体图姓名货物号货物号 .仓库表现有库存最小库存最大库存 图5 管理员基本信息实体图图6 库存表基本信息实体图工作证号地址姓名联系方式供应商管理员编号名称类型货物数量日期供货联系方式姓名性别供货记录 m 1管理工资聘期 n 存储 . . m单价 m 1数量日期入库货物号 1 仓库号仓库 n地址姓名最小库存最大库存现有库存销售商联系方式销货记录图7 合并部分视图生成E-R图2.5逻辑结构设计2.5.1 E-R图向关系模型的转换(1)一个1:1联系可转换为一个独立的关系模式,可以与任意一端对应的关系模式合并;(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 供应商表字 段类 型长 度是否主键说 明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)创建供应商表create table provider ( p_name char(50) primary key, p_address char(50), p_telephone char(50), p_record char(50)(2)创建销售商表create table salers(s_name char(50) primary key,s_telephone char(50),s_address char(50),s_record char(50)(3)创建货物表create table good (g_id char(8) primary key,g_name char(20) ,p_name char(50) primary key,s_name char(50) primary key,w_id int primary key,xianyoukucun char(50) ,foreign key (p_name) references provider(p_name),foreign key (s_name) references salers(s_name),foreign key (w_id) references warehouse(w_id)(4)创建仓库表create table warehouse(w_id int,xianyoukucun int,zuidakucun int,zuixiaokucun int,g_id char(8),primary key (w_id ,g_id),foreign key (g_id) references good(g_id)(5)创建管理员表create table manager( m_id char(20), w_id char(20), m_name char(50), m_telephone char(20), m_address char(50), primary key( m_id,w_id),foreign key (w_id) references warehouse(w_id) )提高查询速度,分别为各表经常查询的列建立索引。为good (货物信息表)中g_id属性建立降序唯一索引g_iddesc:CREATE UNIQUE INDEX g_iddesc ON good(g_id desc);为provider (供应商表)中p_name属性建立唯一索引p_name:CREATE UNIQUE INDEX p_name ON provider (p_name);为salers(销售商表)中s_name属性建立降序唯一索引s_namedesc:CREATE UNIQUE INDEX p_namedesc ON salers(s_name desc);为warehouse (仓库表)中w_id属性建立降序唯一索引w_iddesc:CREATE UNIQUE INDEX w_iddesc ON warehouse(w_id desc);为manager(管理员表)中m_id属性建立降序唯一索引m_iddesc:CREATE UNIQUE INDEX m_iddesc ON manager(m_id desc);数据的载入是一个非常繁杂和重要的过程需要很大的工作量,可分为人工输入与其它格式数据文件导入。该系统只是一个简单的实验系统,所以采用手工输入少量的数据可满足实验要求即可。分别给供应商基本信息表,销售商基本信息表,仓库基本信息表,管理员基本信息表和货物基本信息表输入数据。下面若干个表分别显示了所要求的表基本信息息的录入。 图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.设计体会这次货物管理系统课程设计,我主要采用是Microsoft SQL Severe2005数据库设计软件。通过这次课程设计,

温馨提示

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

评论

0/150

提交评论