《数据库仓库管理系统课程设计.docx》由会员分享,可在线阅读,更多相关《数据库仓库管理系统课程设计.docx(30页珍藏版)》请在三一办公上搜索。
1、课程设计课程设计名称:数据库应用课程设计专业班级:信息管理与信息系统学生姓名:*学 号:* * * * :*课程设计时间:20111220-20101224计算机应用技术专业课程设计任务书学生姓名专业班级学号题目仓库管理系统课题性质A.工程设计课题来源D.自拟课题指导教师同组姓名无主要内容随着市场高速的发展,其经营管理也变得愈加复杂,早期的人工管理的形式早 已不能满足现有销售也的发展,这样就迫切地需要引入新的管理技术。仓库形态具有种种优点,但在目前状况下,它仍存在零售业企业所共有的 落后的一面,如:不能有效地管理每种商品,收款结算速度慢,容易出现营业 差错,不宜进行商品调价,盘点效率低等,而且
2、在仓库管理中,商品的进、销、 存等决策以经验为主,缺乏实时分析功能,管理人员对及时传递资料的要求始 终得不到满足。而该系统则可以方便的实现商品的录入,查询,添加,删除等 功能。使操作更简便效率任务要求综合运用所学的数据库基本知识,并能通过查阅相关文献材料,独立完 成该课题的设计开发工作。要求根据本课题设计出合理的数据结构,并实现商 品的录入,查询,修改,删除等功能。前台开发工具可采用VB.net或其他开 发工具;后台数据库选用SQL Server。参考文献陶宏才.数据库原理及设计.北京:清华大学出版社,2001范立南.SQL Server 2000实用教程.北京:清华大学出版社,2003李香敏
3、.SQL Server 2000编程员指南.北京:北京希望电子出版社,2004 土丙义,胡鸿.数据库原理与Visual Foxpro应用.北京:中国铁道出版 社,2005审查意见指导教师签字:教研室主任签字:2010年11月16日目录1.问题描述1.1背景11.2功能要求12 .需求分析22.1数据流程图2.2数据字典错误!未定义书签。错误!未定义书签。3.概念结构设计.53.1 E-R 图54. 物理结构设计85. 存储过程设计116. 触发器设计127. 应用程序实现128结束语231.问题描述1.1背景仓库是工厂的一个重要的中转站,仓库里能储存各种各类的货物,货物 的流动性比较大,需要处
4、理的数据较多,直接有人工检索信息和更新仓 储信息比较繁琐,为了能提高仓库的管理效率,设计适合仓储管理的数 据库系统是很重要的。1.2功能要求工厂需要一个能够实现管理仓储功能的数据库系统,该系统的用户为仓 库管理员,同时他也是系统管理员。系统的主要功能如下:1) 仓库入库管理:主要是管理员对进入仓库的货物进行登记,包括 货物号、货物名、货物数量、货物价格、货主以及仓库号等。以便 统一管理,当同一货主的同种货物入库时记录追加,同时也要记录 仓库入库的日志信息。2) 仓库提货管理:当货主提走货物时进行该管理,在货物出库时, 进行登记,登记内容货物号、货物名、货物数量、货主、货物价格、 日期等。3)
5、仓库查询管理:用户可按货物号、按货物名、按货主、仓库号等 进行查询。这些查询主要是用户西药知道货物资料是进行,由于只 进行查询操作,所以数据以只读的形式出现。4) 货物信息维护功能:主要对货物的基本资料和信息进行维护。其 中包括货物的价格、货物的种类的变化等。2 .需求分析2.1分析模块1)仓储管理员的系统功能模块图 2.1-12)用户查询模块图 2.1-22.2数据流数据流图表达了数据和处理的关系,根据用户的需求分析和仓库管 理系统的需求,得出如下图1-1所示的仓库管理数据流图。图2.21仓库管理系统数据流3、数据字典1)数据项数据字典是系统中各类数据描述的集合,是进行详细的数据收 集和数据
6、分析所获得的主要成果,数据字典是对系统所用到的所有 表结构的描述,仓库管理的主要数据见下表。货物入库表:序字段别名数据类型数据长码1huowuhao货物编号char10Y2huowuming货物名称char20N3xinghao货物型号char10N4shuliang货物入库存数量char10N5danjia货物入库单价char10N6zongjia货物入库时价格char10N7rukushijian货物入库时间char10N8beizhu货物备注信息char20N货物出库表:序字段别名数据类型数据长码1huowuhao货物编码char10Y2huowuming货物名char20N3xingh
7、ao货物出库型号char10N4shuliang货物出库数量char10N5danjia货物出库单价char10N6zongjia货物出库总价char10N7chukushijian货物出库时间char10N8beizhu货物出库备注char20N仓库商品信息信息表:序字段别名数据类型数据长度码1bianhao商品编号char10Y2shangpinming商品名char20N3xinghao商品型号char10N4changjia商品生产厂家char20Y4changzhi商品生产地char20N5riqi商品生产日期char10N6beizhu商品备注char20N商品库存信息:序字段别名
8、数据类型数据长度码1huowuhao货物编号char10Y2huowuming货物名char20N3xinghao货物型号char10N4shuliang货物数量char10N4danjia货物单价char10N5zongjia货物总价话char10N6beizhu货物备注char20N3. 概念结构设计3.1 E-R 图仓库管理信息系统可以划分的实体有:货主信息实体、货物信息实 体、仓库信息实体、提货人信息实体,货物入库记录信息实体、货物出 库记录信息实体,用E-R图一一描述这些实体。3.1.1货主实体E-R图:图3-2提货人信息实体E-R图3.1.3货物信息实体E-R图:图3-3信息实体E
9、-R图3.1.4.仓库信息实体E-R图:仓库实体信息3.1.5入库信息实体E-R图:图3-5记录信息实体E-R图3.1.6出库信息实体E-R图:3.1.7总的信息实体E-R图:4. 逻辑结构设计E-R图转换成关系模式。货主(货主代号,货主姓名,货主电话)货物(货物编号,货物名称,货物所属类别)入库(货物编号,货物入库时间,货物入库时价格,货物入库数量,货主编号,仓库号)出库(货物编号,货物出库数量,货物出库价格,货物出库时间,提 货人编号,仓库号)仓库 (仓库号,仓库容量)提货人(提货人代号,提货人姓名,提货人电话,提货人地址)5. 存储过程设计5. 1创建列表创建货主表P:CREATE TA
10、BLE P( Pid int Primary key, Pname char(50) not null, Ptel char(16);创建货物信息表Shop:CREATE TABLE Shop( ShopId int Primary key , Shopname char(50) not null, Shopib char(50) not null );创建入库表Comehouse:CREATE TABLE Comehouse ( ShopId int not null, Cshoptime char(30) not null, Cshopprice char(8) not null, CSh
11、opmum int not null, Pid int not null, HouseID int );创建出库表Outhouse:CREATE TABLE Outhouse( ShopId int not null, Goshopnum int , Goshopprice char(8), Gotime char(20) not null, GoId int, HouseID int);创建仓库表House:CREATE TABLE House(HouseID int Primary key, Housemun int);创建提货人表Goperson:CREATE TABLE Goperso
12、n( Gold int Primary key, Goname char(50) not null , Gotel char(10), Goaddress char (50);5.2储存过程1) 创建一个查询存储过程create procedure comehouse_passelect *from comehousegoexec comehouse_p2) 在comeshop插入一个元组create procedure comeshop_1asinsertinto comeshop values(080601,2010010T,2,1000,30T)5. 3建立索引为comeshop表建立货
13、物编号索引create clustered index comeshop on Comehouse(ShopId)为outshop表建立货物编号索引create clustered index outshop on outhouse(ShopId)6. 触发器设计1)当删除comehouse表中某一货主基本信息时触发p表,删除相应的 记录。create trigger comehouse_deleteon comehousefor deleteasdelete pfrom deletedwhere comehouse.pid=p.pid;2)当删除outhouse表中某一货主基本信息时触发Go
14、person表,删除相 应的记录。create trigger outhouse_deleteon outhousefor deleteasdelete Gopersonfrom deletedwhere outhouse.GoId=Goperson.Goid;7. 应用程序实现7.1建立ODBC数据源(1)打开控制面板,双击控制面板上的“管理工具”图标,然后双击“管理工具”窗口中的“数据源(ODBC)”图标,弹出“ODBC数据 源管理器”对话框,如图1所示。ODBC数宛潺岔理器用F ESff系毓DSH艾件DH驱动程序跟踪 连搂池关于系统数据源)1),:名祢貌劫群序源加.LcicalServe
15、r SQL Server册除悦置莅.ODBC系统数据族存储了如何与指定数据提供程序连接的信息。系统数据源对当前机器上的所有用F可见,包招HT服会.确定取消帮助图1 “ODBC数据管理器”对话框(2) 建立一个系统DSN数据源,选择“系统DSN”选项卡,然后单击 “添加”按钮,弹出如图2对话框。在如图2对话框中选择要连接的 数据库管理系统的驱动程序。这里选择“SQL Server”,单击“完成” 按钮。选择您想为其安装数据濯的驱动程序起名称SQL S ererserver创建新数据源M i cro eoEt Exc el-Treib er C*.xls)Microsott FokFro VFF
16、Driver*. db)Microsoft ODBC tur Oracl&M i cr o sott F:=Lt_ adox Br i ver . lb jMicrosoft Paradox_Treiber (*. dt )Microsott Tex t Dr iver *. tact; *. cev)Microsott Tskt-Treiber *. txt: *. cev)Microsott VieuaL FcxFro DriverMicrosoft Visual FcxProTreiber完成 眼消 图2 “创建数据源”对话框(3)连接到的数据库服务器的名字。在“名称”文本框中输入数据源
17、 的名字,在“说明”文本框中输入次数据源的说明信息,在“服务器” 下拉列表框中指定要连接的数据库服务器的名字,选择用户登录到的 数据库服务器的身份验证方式和用户登录表示,然后单击“下一步”按钮,弹出图3所示对话框。在如图7-5所示的对话框中,选择用户登录的默认数据库,单击“下一步”按钮此向导将帮助建立一个能用于连接SQL Server的ODBC数据源。您想用什么名称来命名数据源?名称):用库管理系统寸每希望如何描述此数据源?描述但):|您想连接哪一个SQL Server?服务器堡):PC-20100317114E.完成 下一步 : 取消帮助图3选择用户登录的默认数据库(4)指定用于SQLSer
18、ver消息的语言、字符数据转换和SQL Server 驱动程序是否应当使用区域设置,单击“完成”按钮,弹出如图4所 示的对话框。将按下列配置创建新的ODBC数据源:Hicrozoft SQL Server ODBC 驱劫I程序版本 Q3.-8S. 1132数据濯名称:仓犀管理系统 数据溪描述:技故障转移服募薛血用心51引用的标识符:Ye5至A明】的空佰,堵充和警皆:EServer: PC-201003171146 粼鸯障:食犀管理系统 语盲: 翩谭字符数据:T 日志长运铝查询:He 互志驱劾程,序统计:血 使用集成安全机制:版 更驱域建卷-而 掠定弁.的i吾句恍项:在断并时朋除临时存储过程 使
19、使一 _数据加密:No南定 眼消图4新建ODBC数据源的描述(5)对话框中显示了所定义的OBDC数据源的描述信息,单击“测试数 据源”按钮,可以测试一下所建立的数据源是否成功。建立好的OBDC 数据源会列在“OBDC数据源管理器”窗口中,单击“确定”按钮,关闭“OBDC数据源管理器”窗口。7.2 Visual C+与数据库连同的应用程序1.创建应用程序框架(1)打开Visual C+主控界面。单击“文件/新建”菜单项,在弹出 的对话框中选择“新建工程类别”类型。在“工程类型”列表框中选 择 “MFCAppWizard(exe)” 工程类型。(2)输入工程名称为“仓库管理系统”,并选择合适的Wi
20、n32平台类 型。(3)单击确定,进入文档类型设置。(4)选择单文档类型,选择一个单文档的应用程序,选择文档/查看信 息结构支持。(5)单击“下一步”,进入第二步,出现对话框,需要用户对数据库的应用做一些相关的选择。MFC应用程序向导-步骤1您要创建的应用程序类型是:*星文档多重文档(M基本对话框P_。文档匿看体系结构支持询您的馈源使用的语言是:中文中国| (APPWZCHS.DLL)上一步元成职消图5程序框架设置(6)选择“查看数据库不适用文件支持”选项,该数据源就是我们在 前面创建的“仓库管理系统”。(7)单击“Data Source”按钮,弹出如图6所示对话框。在“Data Source
21、选项区域中的“ODBC”下拉列表中选择“仓库管理系统”。IH 11项七底ILU叵Li三回|嬖要包含数据库吗?否I(8)单击“OK”,选择数据表就是文档界面所使用的数据表,选择其 中一个,如图7所示。dbo.ComehouscAddba.Crjmeview dbj.dtproperties dbj.GopetEon dbu.House dbo.Outhouse dbu.outview dbo.P dbu.Shop dbo.shopvievz dbu.sysconstrai nts dbj.syssegmentsCancel单击OK,按钮确单击“完成”出现如图8所示的工程向导全部设置过程的信息。得
22、按下列配置创建新的ODBC数据谒:M i c- & 5 o fc t SQL er vei- EEC驱动程序版本03 S5. 1132敏据盟名和:仓库管理系蛹 数据涯描述:Swww: PC-201003171146 数据库:仓库管理泰藐 ;五=-L.Ti e t anJ_ t)翩谆手符数据:Tes 曰志长运行查阔珏 *志骚动富*序兢计: 诙再集成安全痂;割;IT- 使用区域设寰-He 祥定宾的语I选顼 在断开时曜除幡时存储过程 饲角故障转移服募器最 眺宅冏5三引用的标识苻:Y 葭黑E1的空谊,拿充和警告:E 数据加苗一琳确定耳如肖图8(9)单击确定按钮,出现如图10所示的应用程序的基本框架7.
23、3主窗体的基本制作(1).在工程框架的主窗体中IDD_MY_FORM中加入六个静态的标签 控制。(2)鼠标右键单击静态标签控制,出现快捷菜单。(3)在快捷菜单中单击“属性”选项,弹出把奥前控制的文本属性设 置对话框。l I I I I I I I I I I Illi I I I I I I I I I I I I I I II II I I I I I I I I I I I I I I I I Illi I I I I I I I I I I I仓库管理系耕入库管理小嚎常投样式扩展样式ID: IDC_STATIC赧裹(J:仓摩管理系貌入座皆理。可见圄组回W ID(HJ已禁用匹)F制表站L或
24、图9(4)在窗体中加入六个编辑框。7.4编辑框控件与数据表字段的绑定(1)选取一个编辑框并单击鼠标右键谈出一个快捷菜单。(2)在快捷菜单中单击“建立类向导”选项,弹出类向导对话框。(3).切换到“Member Variable”选项卡,并在“Class name”下拉列表框中选择“CmySet”。在图中将类名切换为CmyView,出现类成员的列表,其中就包含了全部的编辑框控件的索引编码。(4)选择“入库价格”编辑框,单击“Add Variable按钮,弹出增加变量对话框,选择所对应的数据表字段成员,建立映射关系Message Maps Member VariabEcsAulurnatiiiii
25、riActiveX EventsClass InfuProject:Add Class. 仓库管理系短库管理系统Viewh匚l- Vfc库管理系EView.cpp削(1 Variable.Control IDs:IDC EDIT1IDC EDIT2IDC EDIT3IOC EDIT1IDCEDin)ioc-FDiraDelete VariableiypeMemberMember var iable aame;mjpSet-rri CshoppriceCancelDescriptinn:Category:ValueVarEable type:CStrincidescription:匚String
26、 with length validation添加数据:/?/ n ruyuim messgH handiptf玄申巳 斓强白 E.录 夸看yj帮助1田n_pset-fidflNewo : UpdatcDta(true); n_pSet-Lpdate();103000120050BC5T-b+XP 1=1 e 土 TV#10103戢猝预:宜库号弘排序信息酸字添加前效果图:Skcpld| Cshop time|Cshcppri ce| CShcpm Lunl?ia| Hou三匕ID-1080601201006130. 0012000D0110L03330210SOBO2201002120. 12
27、2000D110L01330010806022010062351111L0110L033303108QBQ320100E2352000D011QL033303苹10806032010061352000D01101033303添加后效果图:笛文件窗口迎祜助也)-回Xi至霎垂宣国缺町部阳,匡ShopI 1|Cshptimc|Cshoppiia| CSkopnujTiPid| KoiJsalDLQEOS012QCGD&0E123Q20D1010D3303LOEOSOl201UD613o.ccn20CO001101033302LQEOS022010D2320. 122QCDD1101D13303LQE
28、OS022010D62351111101101033303LQEOS032010D62352QCDD011LHD33303LQEOS032010D61352QCDD011LHD33303增加记录代码:void CMyView:OnButton1()m_pSet-AddNew();UpdateData(true);m_pSet-Update();删除数据:文件。编辑 记录西查看寸帮耽.!)S i f仓库莒理系统如擘管理赏法端号入库时间20100613 infinfim -All 入库数星货物单价200000货主代号仓库号11IJ1IJ.J0 0013302增加记录蒯院记录排序信息删除货物编号为“
29、1080601”之前临文怕目 窗口曲 前助Q0=.旦1*| H虱陞直国!缺暇外菖J求匡.ShopI 1|Cshptimc|Cshoppiiae| CSkopnujTiPid| KoijssIDLOEOSOl20CGD60512302OD1010D3303LQEOS012010D6130.0012QCDD01101D33302LQEOS022010D2120. 122QCDD1101D13303LQEOS022010D62351111101101033303LQEOS032010D62352QCDD011LHD333031QEOS032010D&1352QCDD011LHD33303删除货物编号
30、为“1080601”之后效果图IHoueqID伐 I匚whoppEiI匚5hcipmum|fid1080602201002120. 122000011010133001CI80&0220100623511111011010333031Q80&0320100623520000011010333031080&032010061352000001101033303删除记录代码:Delete m_pSet-Delete(); m_pSet-MoveNext(); if(m_pSet-IsEOF() m_pSet-MoveLast;if(m_pSet-IsBOF() m_pSet-SetFieldNul
31、l(NULL);UpdateData(FALSE);排序数据:排序记录代码:m_pSet-m_strSort=gno;m_pSet-Requery();UpdateData(FALSE);8.结束语经过了这次仓库管理系统的课程设计我从中学到了很多,同时明白了做一个小型软 件的步骤和流程.如何让自己设计的软件运用到具体的实际工作中,这是一个关键 的环节.还有就是程序设计和运行测试中遇到的问题该如何解决,从解决问题中我 也学到了许多平时课本上所没有的知识.当然,能够完成这个仓库管理系统我自己 也感觉很有成就感.运用到的开发工具和软件技术:此系统结合货物仓库管理的要求,对Visualc+数据库管理系
32、统、SQL语言的学习和应用,主要完成货物仓库管理系统的需求分析,系统的数据库设计和实现, 系统的表单设计,主控程序设计,并由此设计了数据库结构和应用程序。系统运行 结果证明,本人设计的货物仓库管理系统可以满足仓库管理者完成仓库管理的日常 工作,包括材料的入库,出库以及库存材料信息的管理维护等软件还需要哪些改进:在编写源程序代码的过程中对语言的运用还需要提高,应使写出来的程序更加简 洁,易读懂,更加满足实际工作的需要.要想使做出来的程序更好的利用还需根据实 际需要在今后的运用中不断的改进和完善.信息科学与工程学院课程设计成绩评价表课程名称:数据库应用课程设计设计题目:仓库管理系统专业:计算机应用
33、技术班级:0801姓名:仵涛学号:200838940110序号评审项目分数满分标准说明1内容思路清晰;语言表达准确,概念清楚,论点正确;实验方法科 学,分析归纳合理;结论严谨,设计有应用价值。任务饱满, 做了大量的工作。2创新内容新颖,题目能反映新技术,对前人工作有改进或突破,或 有独特见解3完整性、实用性整体构思合理,理论依据充分,设计完整,实用性强4数据准确、可靠数据准确,公式推导正确5规范性设计格式、绘图、图纸、实验数据、标准的运用等符合有关标 准和规定6纪律性能很好的遵守各项纪律,设计过程认真;7答辩准备工作充分,回答问题有理论依据,基本概念清楚。主要问 题回答简明准确。在规定的时间内作完报告。总 分综合* 意见指导教师2010年11月28日