仅供个人参考不得用于商业用途企业仓库信息管理数据库系统设计与开发一.项目说明一、概述1、项目背景:Access数据库课程设计2、编写目的:掌握数据库设计原理及相关软件的使用3、软件定义:企业仓库信息管理系统4、开发环境:Access2003二、需求分析1、问题的提出:企业仓库信息管理是整个企业管理工作中的关键环节之一,涉及到货物基本信息管理、损耗管理、供应商管理等诸多方面。采用计算机信息技术和网络技术来管理企业信息是大势所趋;计算机网络企业仓库管理信息系统能为企业管理者提供及时、准确的仓库信息,提高管理工作效率。随着供应商改变,我们对仓库货物的基本信息存储也应该发生相应的变化,以便更好地对仓库进行管理。为了高效率地完成仓库信息的管理,决定开发企业仓库信息管理系统。Forpersonaluseonlyinstudyandresearch;notforcommercialuse2、需完成的功能:(1)能录入、修改、查询、输出货物的档案信息包括货物的编号、名称、数量、金额、单价、供应商等。(2)能录入、修改、查询、输出货物的各类信息,并支持按特殊等条件的统计、查询、报表输出。三、项目任务对数据库的基本对象表、查询、窗体、报表、进行了设计,完成对企业仓库数据库管理系统的创建!二.项目环境2.1软件环境Windowsxp、Access2003三.数据分析3.1实体数据关系供应商损耗出库入库货物仅供个人参考不得用于商业用途图1系统E-R图3.2实体数据定义货物表:主键:货物编号(数据类型:文本,字段大小:5,无索引)其它:货物名称(数据类型:文本,字段大小:5,无索引)单价(数据类型:货币,字段大小:5,无索引)数量(数据类型:数字,字段大小:长整型,无索引)金额(数据类型:货币,无索引)仓库号(数据类型:文本,字段大小:5,无索引)供应商ID(数据类型:文本,字段大小:5,无索引)出库编号(数据类型:文本,字段大小:5,无索引)入库编号(数据类型:文本,字段大小:5,无索引)供应商表:主键:供应商ID(数据类型:文本,字段大小:5,无索引)其它:邮政编号(数据类型:文本,字段大小:5,无索引)地址(数据类型:文本,字段大小:5,无索引)货物名称(数据类型:文本,字段大小:5,无索引)货物编号(数据类型:文本,字段大小:5,无索引)出库表:主键:出库编号(数据类型:文本,字段大小:5,无索引)其它:货物名称(数据类型:文本,字段大小:5,无索引)货物编号(数据类型:文本,字段大小:5,无索引)仓库号(数据类型:文本,字段大小:5,无索引)出库时间(数据类型:日期/时间,格式:短日期)数量(数据类型:数字,字段大小:长整型,无索引)入库表:主键:入库编号(数据类型:文本,字段大小:5,无索引)其它:货物名称(数据类型:文本,字段大小:5,无索引)货物编号(数据类型:文本,字段大小:5,无索引)仓库号(数据类型:文本,字段大小:5,无索引)入库时间(数据类型:日期/时间,格式:短日期)数量(数据类型:数字,字段大小:长整型,无索引)课程表:主键:仓库号(数据类型:文本,字段大小:5,无索引)其它:货物编号(数据类型:文本,字段大小:5,无索引)货物名称(数据类型:文本,字段大小:5,无索引)意外损耗(数据类型:文本,字段大小:5,无索引)数量(数据类型:数字,字段大小:长整型,无索引)四.数据库设计4.1结构设计,我们需要建立如下几个表:①货物表:货物编号、货物名称、单价、数量、金额、仓库号、供应商ID、出库编号、入库编号②供应商表:供应商ID、货物编号、货物名称、地址、邮政编号、③出库表:出库编号、货物编号、货物名称、仓库号、出库时间、数量④入库表:入库编号、货物编号、货物名称、仓库号、入库时间、数量⑤损耗表:仓库号、货物编号、货物名称、意外损耗、数量仅供个人参考不得用于商业用途下面以货物基本信息表为例,利用表设计器新建这个表。表1货物基本信息表字段名称数据类型货物编号文本货物名称文本单价货币数量数字金额货币仓库号文本供应商ID文本出库编号文本入库编号文本⑴在数据库窗口中双击【使用设计器创建表】选项,出现一个空白的【表设计器】窗口,按照上面的货物基本信息表的基本信息输入各个字段,并选择对应的数据类型,其中“货物编号”为该表的主键,如下图所示:图2设计器创建表⑵在【表设计】工具栏上,单击【保存】按钮,出现【另存为】对话框,在【表名称】文本框中输入货物基本信息,然后单击【确定】按钮。⑶双击货物基本信息表,表将会出现在数据表的视图中,这时我们就可以输入相关的货物记录了。输入后【货物基本信息表】的如下图:仅供个人参考不得用于商业用途图3货物基本信息表按照,并设置相应的主键,然后我们通过在多个表之间的字段间建立关系使他们联系起来。各个基本表的关系如下图:图4表的关系在我们建立表之间的关系时,窗口上有一个复选框“实施参照完整性”,单击它之后,“级联更新相关字段”和“级联删除相关字段”两个复选框就可以用了。如果选定“级联更新相关字段”复选框,则当更新父行(一对一、一对多关系中“左”表中的相关行)时,Access就会自动更新子行(一对一、一对多关系中的“右”表中的相关行),选定“级联删除相关字段”后,当删除父行时,子行也会跟着被删除。而且当选择“实施参照完整性”后,在原来折线的两端会出现“1”或“OO”符号,在一对一关系中“1”符号在折线靠近两个表端都会出现,而当一对多关系时“OO”符号则会出现在关系中的右表对应折线的一端上。设置了实施参照完整性就可以使我们在表中修改了一个记录的时候,不会影响到查询的操作。特别是在有很多表,而且各个表之间都有关系联接时,“实施参照完整性”会带来更多的方便。当表中的数据越来越多时,需要利用索引帮助用户更有效地查询数据。索引有助于Access2003快速查找和排序记录。以下数据类型的字段值能进行索引设置:①字段数据类型为文本、数字、货币及时间/日期仅供个人参考不得用于商业用途②搜索保存在字段中的值③排序字段的值因为我们是通过向导和直接输入数据建立的数据库,所以表的索引由Access2003自动生成。4.2查询设计查询就是根据我们需要的结果而选择的查询条件,对数据库表中的数据信息进行查找。它与表一样都是数据库的对象。它允许用户依据准则或查询条件抽取表中的字段和记录。Access2003中的查询可以对一个数据库中的一个表或多个表中存储的数据信息进行查找。在本数据库中,我们分别创建了对【参数查询】、【交叉表查询】、【选择查询】、【出库时间在2013年2月28号以后】、【更新查询】、【】以及【插入学生宿舍查询】。,下面分别用查询设计器和SQL语言创建查询。下面是用查询设计器创建【货物信息查询】的具体过程:⑴在对象中选择查询对象,单击新建按钮,就出现【新建查询】对话框,选择设计视图,单击【确定】,弹出查询设计器窗口,同时弹出【显示表】对话框,如图所示图5新建查询⑵在【显示表】对话框【表】选项卡的列表框中分别选择货物表、供应商信息表、出库表。这些表将出现在设计器窗口上窗格中。然后关闭【显示表】对话框。⑶单击查询设计区的【字段】栏的某一列,该文本框右端将出现一个下三角按钮,单击此下三角按钮,将弹出可用字段列表。在此列表中可以选择查询要使用的字段。我们在货物表中选择货物编号和货物名称,在供应商信息表中选择供应商ID,在出库表中选择出库编号和数量以及出库时间。选择后的查询设计器窗口如下图:仅供个人参考不得用于商业用途图6查询设计器窗口⑷单击工具栏上的【运行】按钮,运行该查询,查询结果如图所示:图7查询结果窗口下面是用SQL语言创建【学生社团参与情况查询】的具体过程:⑴在对象中选择查询对象,单击新建按钮,就出现【新建查询】对话框,选择设计视图,单击【确定】,弹出查询设计器窗口,同时弹出【显示表】对话框,先关闭【显示表】对话框,然后在设计器窗口上窗格中单击右键选择SQL视图,将出现选择查询的SQL视图,在其中输入选择的SQL语句,输入后的设计视图如下所示:图9SQL视图窗口⑵单击工具栏上的【运行】按钮,运行该查询,查询结果如图所示:仅供个人参考不得用于商业用途图10SQL查询结果窗口当有新的学生信息需要加入到这个数据库中时,我们就需要进行对数据的插入操作。我们仍然用SQL语言创建【插入学生信息查询】:⑴在对象中选择查询对象,单击新建按钮,就出现【新建查询】对话框,选择设计视图,单击【确定】,弹出查询设计器窗口,同时弹出【显示表】对话框,先关闭【显示表】对话框,然后在设计器窗口上窗格中,单击【右键】在选择查询类型中选择追加查询。⑵在追加查询的对话框中,追加到表名称的文本框中的右端的下三角的列表中选择【学生基本信息表】,单击【确定】。然后在设计器窗口上窗格中单击右键选择SQL视图,将出现追加查询的SQL视图,在其中输入追加的SQL语句,输入后的设计视图如下所示:图10SQL追加查询窗口⑶单击工具栏上的【运行】按钮,运行该查询,查询结果如图所示:图11SQL追加查询结果窗口仅供个人参考不得用于商业用途⑴在对象中选择查询对象,单击新建按钮,就出现【新建查询】对话框,选择设计视图,单击【确定】,弹出查询设计器窗口,同时弹出【显示表】对话框,先关闭【显示表】对话框,然后在设计器窗口上窗格中,单击【右键】在选择查询类型中选择更新查询。⑵在更新查询的对话框中,在设计器窗口上窗格中单击右键选择SQL视图,将出现更新查询的SQL视图,在其中输入更新的SQL语句,输入后的设计视图如下所示:图12SQL更新查询窗口⑶单击工具栏上的【运行】按钮,运行该查询,查询结果如图所示:(运行前的表)图13SQL更新查询运行前的表窗口(运行后的表)图14SQL更新查询运行后的表窗口4.2.4数据删除⑴在对象中选择查询对象,单击新建按钮,就出现【新建查询】对话框,选择设计视图,单击【确定】,弹出查询设计器窗口,同时弹出【显示表】对话框,先关闭【显示表】对话框,然后在设计器窗口上窗格中,单击【右键】在选择查询类型中选择删除查询。⑵在删除查询的对话框中,在设计器窗口上窗格中单击右键选择SQL视图,将出现删除查询的SQL视图,在其中输入删除的SQL语句,输入后的设计视图如下所示:仅供个人参考不得用于商业用途图15SQL删除查询窗口⑶单击工具栏上的【运行】按钮,运行该查询,查询结果如图所示:(删除前的宿舍表)图16删除前的宿舍表窗口(删除后的宿舍表)图17删除后的宿舍表窗口五.交互界面设计5.1窗体窗体作为Access2003数据库的重要组成部分,是联系数据库与用户的桥梁。窗体提供了输入和维护表中数据的方式,我们可以用每次一个记录的方式浏览数据。通过使用窗体,可以使数据库中的数据更直观、更加人性化地显示在数据库用户面前。本数据库中创建了【自动窗体】、【基于多表的窗体】、【货物录入】、【切换面板】、【入库窗体】、【出库窗体】、【供应商信息窗体】等。窗体的创建可以用窗体向导来设计也可以用设计视图设计自己所需要的窗体。㈠下面是用窗体向导来设计【货物录入】窗体:⑴在【新建窗体】对话框中选择【窗体向导】选项,数据来源于货物表,然后单击【确定】按钮就会打开窗体向导。⑵在屏幕上将弹出的第一个对话框中选择窗体所用的字段,将货物编号、仅供个人参考不得用于商业用途货物名称、供应商ID、入库编号、数量、金额等字段添加到【选定的字段】列表框中,单击【下一步】按钮,进入下一个对话框。⑶该对话框中提供了有关窗体的六种布局方式:【纵栏式】、【表格】、【数据表】、【两端对齐】、【数据透视表】和【数据透视图】。这里选择【纵栏式】的窗体布局,单击【下一步】按钮,进入下一个对话框。⑷在接下来的对话框中可以为窗体选择不同的样式,向导提供了九种不同的窗体样式,在此窗体的左侧也提供了所选的窗体样式预览。选定【宣纸】样式后,单击【下一步】按钮,进入下一个对话框。⑸最后一个对话框用于设定窗体标题,在对话框顶部的文本框中输入货物信息录入,然后选择打开窗体。单击【完成】按钮,完成窗体的创建工作。⑹打开该窗体,将出现设计好的窗体,