1、数据库仓库管理系统课程设计课 程 设 计课程设计名称: 数据库应用课程设计专业班级: 信息管理与信息系统学生姓名: *学 号: 1210034*指导教师: 段群课程设计时间:2011.12.20-2010.12.24计算机应用技术专业课程设计任务书学生姓名专业班级学号题目仓库管理系统课题性质A工程设计课题来源D自拟课题指导教师同组姓名无主要内容随着市场高速的发展,其经营管理也变得愈加复杂,早期的人工管理的形式早已不能满足现有销售也的发展,这样就迫切地需要引入新的管理技术。仓库形态具有种种优点,但在目前状况下,它仍存在零售业企业所共有的落后的一面,如:不能有效地管理每种商品,收款结算速度慢,容易
2、出现营业存等决策以经验为主,缺乏实时分析功能,管理人员对及时传递资料的要求始终得不到满足。而该系统则可以方便的实现商品的录入,查询,添加,删除等功能。使操作更简便效率任务要求综合运用所学的数据库基本知识,并能通过查阅相关文献材料,独立完成该课题的设计开发工作。要求根据本课题设计出合理的数据结构,并实现商品的录入,查询,修改,删除等功能。前台开发工具可采用VB.net或其他开发工具;后台数据库选用SQLServer。参考文献陶宏才.数据库原理及设计.北京:清华大学出版社,2001范立南.SQLServer2000实用教程.北京:清华大学出版社,2003李香敏.SQLServer2000编程员指南
3、.北京:北京希望电子出版社,2004王丙义,胡鸿.数据库原理与VisualFoxpro应用.北京:中国铁道出版社,2005审查意见指导教师签字:教研室主任签字:2010年11月16日1.问题描述. 11.1背景. 11.2功能要求. 1.需求分析. 22.1数据流程图. 22.2数据字典. 33.概念结构设计. 53.1E-R图. 54.物理结构设计. 75.存储过程设计. 116.触发器设计. 127.应用程序实现128.结束语. 231.问题描述1.1背景仓库是工厂的一个重要的中转站,仓库里能储存各种各类的货物,货物的流动性比较大,需要处理的数据较多,直接有人工检索信息和更新仓储信息比较繁
4、琐,为了能提高仓库的管理效率,设计适合仓储管理的数据库系统是很重要的。1.2功能要求工厂需要一个能够实现管理仓储功能的数据库系统,该系统的用户为仓库管理员,同时他也是系统管理员。系统的主要功能如下:1) 仓库入库管理:主要是管理员对进入仓库的货物进行登记,包括货物号、货物名、货物数量、货物价格、货主以及仓库号等。以便统一管理,当同一货主的同种货物入库时记录追加,同时也要记录仓库入库的日志信息。2) 仓库提货管理:当货主提走货物时进行该管理,在货物出库时,进行登记,登记内容货物号、货物名、货物数量、货主、货物价格、日期等。3) 仓库查询管理:用户可按货物号、按货物名、按货主、仓库号等进行查询。这
5、些查询主要是用户西药知道货物资料是进行,由于只进行查询操作,所以数据以只读的形式出现。14) 货物信息维护功能:主要对货物的基本资料和信息进行维护。其中包括货物的价格、货物的种类的变化等。.需求分析2.1分析模块1)仓储管理员的系统功能模块管理员仓储管理系统入库管理出库管理货物信息维护仓库编号登记货物登记货物登记货物登记货物登记货主登记入库登记货物登记货物登记提货登记仓库登记提货库存统计更新货物修改货物编号名称价格数量时间编号数量时间号人价格分类图2.1-12)用户查询模块用 户登陆查询仓库管理系统货物信息用 户图2.1-22.2数据流数据流图表达了数据和处理的关系,根据用户的需求分析和仓库管
6、理系统的需求,得出如下图1-1所示的仓库管理数据流图。货物入库单仓库管理员仓库管理系统货物出库单查询信息用户图2.21仓库管理系统数据流3、数据字典1)数据项数据字典是系统中各类数据描述的集合,是进行详细的数据收集和数据分析所获得的主要成果,数据字典是对系统所用到的所有表结构的描述,仓库管理的主要数据见下表。货物入库表:序字段别名数据类型数据长度码1号bianhao商品编号char10Y2shangpinming商品名char20N3xinghao商品型号char10N4changjia商品生产厂家char20Y4changzhi商品生产地char20N5riqi商品生产日期char10N6b
7、eizhu商品备注char20N序字段别名数据类型数据长码1号huowuhao货物编号char10度Y2huowuming货物名称char20N3xinghao货物型号char10N4shuliang货物入库存数量char10N5danjia货物入库单价char10N6zongjia货物入库时价格char10N7rukushijian货物入库时间char10N8beizhu货物备注信息char20N序字段别名数据类型数据长码1号huowuhao货物编码char10度Y2huowuming货物名char20N3xinghao货物出库型号char10N4shuliang货物出库数量char10N5
8、danjia货物出库单价char10N6zongjia货物出库总价char10N7chukushijian货物出库时间char10N8beizhu货物出库备注char20N货物出库表:序字段别名数据类型数据长度码1号huowuhao货物编号char10Y2huowuming货物名char20N3xinghao货物型号char10N4shuliang货物数量char10N4danjia货物单价char10N5zongjia货物总价话char10N6beizhu货物备注char20N商品库存信息:3.概念结构设计3.1E-R图仓库管理信息系统可以划分的实体有:货主信息实体、货物信息实体、仓库信息实
9、体、提货人信息实体,货物入库记录信息实体、货物出库记录信息实体,用E-R图一一描述这些实体。3.1.1货主实体E-R图:货 主货主代号货主姓名货主电话图3-1货主信息实体E-R图3.1.2提货人实体E-R图:提货人地址代号.姓名电话图3-2提货人信息实体E-R图3.1.3货物信息实体E-R图:编号名称货主代号类别货物图3-3信息实体E-R图3.1.4.仓库信息实体E-R图:仓库实体信息仓库号 仓库容量图3-4仓库信息实体E-R图3.1.5入库信息实体E-R图:入库信息实体货物编号入库时间入库价格仓库编号入库数量图3-5记录信息实体E-R图3.1.6出库信息实体E-R图:出库数量出库时间货物编号
10、出库库信息实体实体出库价格仓库编号提货人代号图3-6出库信息实体E-R图3.1.7总的信息实体E-R图:货物n1入库m_et-拥有n_pSet-货主AddmNe_pm mw(登记查询_p );t-1 Se UU t- pd用户 A1出库d A _pDaNea dd Seta(w(t Ne t-tru);e w( e);UD ); Ampda U dd_pt pd 图3-7总的信息实体E-R图Daa ate w(t-ta( Da );trut ta( UUe);r tru pdpdmu e); ateate_pe m Da();Se) _p ta(1t-; Se trum t- e);E-R图转
11、换成关系模式。U mpdp U _pateSe();e ate t-11nm_pSet-Update();1AddNew();UpdateData(true);m_pSet-Update();1管理员实体提货1U提货人ateData(true);m_pSet-Update();1- 1 U货U主编号,仓库号)ate();出库d1a(货物编号,货物出库数量,货物出库价格,货物出库时间,提t货人编号,仓库号)(仓库)(仓库号,仓库容量);1提货人(提货人代号,提货人姓名,提货人电话,提货人地址)5.存储过程设计51创建列表创建货主表P:CREATETABLE P(Pid intPrimarykey
12、,Pnamechar(50)notnull,Ptelchar(16);创建货物信息表Shop:CREATETABLEShop( ShopId intPrimarykey,Shopnamechar(50)not null,Shopibchar(50) notnull);创建入库表Comehouse:CREATETABLEComehouse( ShopIdintnotnull,Cshoptimechar(30)notnull,Cshoppricechar(8)notnull,CShopmum int notnull,Pidint notnull,HouseIDint);创建出库表Outhouse:
13、CREATETABLEOuthouse(ShopIdintnotnull,Goshopnum int,Goshopprice char(8),Gotimechar(20)notnull,GoIdint,HouseIDint);创建仓库表House:CREATETABLEHouse(HouseIDint Primarykey,Housemunint);创建提货人表Goperson:CREATETABLEGoperson(GoIdintPrimarykey,Gonamechar(50)notnull,Gotelchar(10),Goaddresschar(50);52储存过程1)创建一个查询存储过
14、程createprocedurecomehouse_passelect*fromcomehousegoexeccomehouse_p2)在comeshop插入一个元组createprocedurecomeshop_1asinsertintocomeshopvalues(080601,20100101,2,1000,301)53建立索引为comeshop表建立货物编号索引createclusteredindexcomeshoponComehouse(ShopId)为outshop表建立货物编号索引createclusteredindexoutshoponouthouse(ShopId)6.触发器
15、设计1)当删除comehouse表中某一货主基本信息时触发p表,删除相应的记录。createtriggercomehouse_deleteoncomehousefordeleteasdeletepfromdeletedwherecomehouse.pid=p.pid;2)当删除outhouse表中某一货主基本信息时触发Goperson表,删除相应的记录。createtriggerouthouse_deleteonouthousefordeleteasdeleteGopersonfromdeletedwhereouthouse.GoId=Goperson.Goid;7.应用程序实现7.1建立OD
16、BC数据源(1)打开控制面板,双击控制面板上的“管理工具”图标,然后双击“管理工具”窗口中的“数据源(ODBC)”图标,弹出“ODBC数据源管理器”对话框,如图1所示。图1“ODBC数据管理器”对话框(2)建立一个系统DSN数据源,选择“系统DSN”选项卡,然后单击“添加”按钮,弹出如图2对话框。在如图2对话框中选择要连接的数据库管理系统的驱动程序。这里选择“SQL Server”,单击“完成”按钮。图2“创建数据源”对话框(3)连接到的数据库服务器的名字。在“名称”文本框中输入数据源的名字,在“说明”文本框中输入次数据源的说明信息,在“服务器”下拉列表框中指定要连接的数据库服务器的名字, 选
17、择用户登录到的数据库服务器的身份验证方式和用户登录表示,然后单击“下一步”按钮,弹出图3所示对话框。在如图7-5所示的对话框中,选择用户登录的默认数据库,单击“下一步”按钮图3 选择用户登录的默认数据库(4)指定用于SQLServer消息的语言、字符数据转换和SQLServer驱动程序是否应当使用区域设置,单击“完成”按钮,弹出如图4所示的对话框。图4新建ODBC数据源的描述(5)对话框中显示了所定义的OBDC数据源的描述信息,单击“测试数据源”按钮,可以测试一下所建立的数据源是否成功。建立好的OBDC数据源会列在“OBDC数据源管理器”窗口中,单击“确定”按钮,关闭“OBDC数据源管理器”窗
18、口。7.2 VisualC+与数据库连同的应用程序1.创建应用程序框架(1)打开VisualC+主控界面。单击“文件/新建”菜单项,在弹出的对话框中选择“新建工程类别”类型。在“工程类型”列表框中选择“MFCAppWizard(exe)”工程类型。(2)输入工程名称为“仓库管理系统”,并选择合适的Win32平台类型。(3)单击确定,进入文档类型设置。(4)选择单文档类型,选择一个单文档的应用程序,选择文档/查看信息结构支持。(5)单击“下一步”,进入第二步,出现对话框,需要用户对数据库的应用做一些相关的选择。图5程序框架设置(6)选择“查看数据库不适用文件支持”选项,该数据源就是我们在前面创建
19、的“仓库管理系统”。(7)单击“Data Source”按钮,弹出如图6所示对话框。在“DataSource”选项区域中的“ODBC”下拉列表中选择“仓库管理系统”。图6(8)单击“OK”,选择数据表就是文档界面所使用的数据表,选择其中一个,如图7所示。图7单击OK,按钮确单击“完成”出现如图8所示的工程向导全部设置过程的信息。图8(9)单击确定按钮,出现如图10所示的应用程序的基本框架7.3主窗体的基本制作(1).在工程框架的主窗体中IDD_MY_FORM中加入六个静态的标签控制。(2)鼠标右键单击静态标签控制,出现快捷菜单。(3)在快捷菜单中单击“属性”选项,弹出把奥前控制的文本属性设置对
20、话框。图9(4)在窗体中加入六个编辑框。7.4编辑框控件与数据表字段的绑定(1)选取一个编辑框并单击鼠标右键谈出一个快捷菜单。(2)在快捷菜单中单击“建立类向导”选项,弹出类向导对话框。(3).切换到“MemberVariable”选项卡,并在“Classname”下拉列表框中选择“CmySet”。在图中将类名切换为CmyView,出现类成员的列表,其中就包含了全部的编辑框控件的索引编码。(4)选择“入库价格”编辑框,单击“AddVariable”按钮,弹出增加变量对话框,选择所对应的数据表字段成员,建立映射关系添加数据:添加前效果图:添加后效果图:增加记录代码:voidCMyView:OnB
21、utton1()m_pSet-AddNew();UpdateData(true);m_pSet-Update();删除数据:删除货物编号为“1080601”之前删除货物编号为“1080601”之后效果图删除记录代码:Deletem_pSet-Delete();m_pSet-MoveNext();if(m_pSet-IsEOF()m_pSet-MoveLast;if(m_pSet-IsBOF()m_pSet-SetFieldNull(NULL);UpdateData(FALSE);排序数据:排序记录代码:m_pSet-m_strSort=gno;m_pSet-Requery();UpdateData(FALSE);8.结束语经过了这次仓库管理系统的课程设计我从中学到了很多,同时明白了做一个小型软件的步骤和流程.如何让自己设计的软件运用到具体的实际工作中,这是一个关键的环节.还有就是程序设计
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1